Montag, 2. Februar 2015

Wachsende Bedeutung von R

R ist im universitären Umfeld eine durchaus Gebräuche Sprache und Analyse Software. Der Hauptvorteil der Software liegt in ihrer günstigen Beschaffung, R ist GPL. Aktuell legt R im Tiobe Index stetig zu, zur Zeit erreicht es (01-2015) Platz 18. Dieser Trend wird sich weiter gehen, in den nächsten Jahren ist ein R, Abwahl es eine Spezialsprache für statistische Auswertungen ist, zulegen. Natürlich wird es nie die Verbreitung eine Generell Purpose Sprache wie Java oder C erreichen. Generell gibt aber den Trend der Diversifizierung der Programmiersprachen. Das heisst, es wird keine  übermächtige Programmiersprache geben, sondern ein guter Strauß an Programmiersprachen, die unterschiedliche Ding gut können, neben einer Handvoll Generell Purpose Sprachen. Siehe auch http://programming-2.blogspot.de/2015/01/code-weaving.html
Die Gründe für eine wachsende Bedeutung und Verbreitung von R ist der, das man Big Data heute beherrscht, dass diese Daten auch ausgewertet werden müssen. Jüngst hat Oracle bekannt gegeben, das R durch die Datenbank selbst ausgeführt wird und dies auch noch parallel. Bei Oracle heisst das dann gleich Oracle R Enterprise. Neuerdings ist auch Microsoft auf R Analyse Pfaden und kauft die Firma Revolution Analytics (Link).
Splunk als Platzhirsch bei den kommerziellen Big Data Lösungen bietet etwas ähnliches, sehr einfallsreich R Projekt heisst. Sprung scheint aber noch im Bereich R noch nicht das Niveau von Oracle erreicht zu haben.
Im Open Source Bereich gibt es nichts entsprechendes. Natürlich kann man OS Bereich alles selber bauen. Optimal wäre wenn die Daten nicht zwischen Server transferiert werden müssten und man auch alle Prozessoren und Hauptspeicher der Server nutzen könnte. D.h. optimal wäre eine Integration von R in Elastik Search selbst.
Um das Bild weiter abzurunden, noch der Hinweis auf einen Analyse Software Stack, AMPLab der UC Berkley.

Sonntag, 1. Februar 2015

Splunk Alternativen

Wenn es heute um professionelle Big Data Lösungen oder Log File Analysen geht, dann ist die häufigste Antwort Splunk. Sprung ist wirklich eine gute Softwarelösung, skaliert gut und lässt sich sogar auf dem Laptop installieren. Für viele Anwender sind die Lizenzkosten der Hauptnachteil von Splunk. Deshalb schauen sich viel Unternehmen nach FOSS (Free and Open Source Software) Alternativen um. Je nach Anwendungsfall bieten sich zwei ähnliche Verfolger an, Elastic Search mit Kibana oder Graylog2. Graylog2 ist eine Java-Anwendung, Kibana ist JavaScript. Beide sind ein Elastic Search Frontend, Graylog2 geht aber noch darüber hinaus und bietet weitere Management-Funktionen bzw. ein Monitoring an.

Im Alltag sind sowohl Kibana als auch Graylog2 gut einsetzbar, man merkt ihnen aber noch deutlich ihr junges Alter an. Es gibt immer Dinge die fehlen. Keines der beiden Systeme kommt an den Funktionsumfang, die Benutzbarkeit oder die Robustheit von Splunk heran. Man muss klar sagen,  das Splunk zur Zeit mehrere Jahre Technologievorsprung hat gegenüber den beiden Verfolgern Kabine und Graylog2. Um den Technologiestack im Analysebereich abzurunden, sollte man noch R oder ggf. Python hinzuziehen. Alle Systeme nehmen Anfragen via REST-API entgegen. Leider liefert Elastic Search (Kibana, Graylog2) nur Daten als JSON. JSON ist wie XML für schnelle Datenanalysen nicht optimal geeignet und muss umgewandelt werden z.B. CSV.

Man kann Big Data Lösungen natürlich auch mit einem ganz anderen Softwarestack umsetzen, z.B. mit konventionellen relationalen Datenbanken und oder Filesystemen.