Samstag, 6. April 2013

R in Version 3.0.0 erschienen

Es ist kaum zu glauben, aber mit der Version R 3.0.0 ist seit langer Zeit ein Major-Release für R erschienen (Link). Aus meiner Sicht sind die es trotz des Major Releases eher evolutionäre Änderungen, die einige Unschöne Dinge und Limits beseitigen. An einigen Stellen wurden für größere bzw. längere Daten geändert (Vektoren, RAM) die Performance nur leicht verbessert. Ich gehe davon aus, dass R bei normalen Aufgaben auch jetzt nicht besser mit der Anzahl der Prozessoren skalieren wird.

Mittwoch, 3. April 2013

SPLUNK Rest API Probleme

Das Splunk ein prima Werkzeug ist, ist keine Frage nur leider gibt es paar wesentliche Einschränkungen in Bezug auf Spluks' Rest API (Version Splunk 5.0.2):

  • Dokumentation des REST API ist fehlerhaft.
  • Java Wrapper fürs REST API ist fehlerhaft und damit sinnlos.
  • Die Suchergebnisse unterscheiden sich zwischen dem REST API und dem Web GUI (Link) und in der Web GUI fehlerfreie Anfragen führen zu einem leeren Ergebnis und zu keinem Fehler und machmal Splunk Debug-Ausgaben.
  • Fehlerhafte REST Suchen liefern leere Ergebnisse wenn das Ausgabeformat CSV ist.
  • REST Suchen mit dem Ausgabeformat CSV liefern auch interne Felder zurück. Splunk interne Werte beginnen mit einem Unterstriche (_time, _span, ...).
  • DieFormatierung des Zeitstempels ist zwischen REST API und Web GUI unterschiedlich.
Alle diese Punkte verhindern eine einfache Integration von Splunk in bestehende Umgebungen. Schade, weil Splunk ein sonst guten Eindruck macht. Übrigens verwendet die Web GUI nicht die REST Schnittstelle von Splunk, was gut zu den unterschiedlichen Suchergebnissen passt.

Ach so liebe Splunkies, ich warte immer noch auf mein T-Shirt.

Donnerstag, 21. März 2013

Was ist die wichtigste Analyse Software?

Es gibt verschiedene Systeme mit den entsprechenden Sprachen für mathematische und statistische Analyse bzw. Business Intelligence (BI). SAS und S fühlen sich als Marktführer. Doch auch die Open Source Alternative R behauptet die dominierende Kraft zu sein. In einem Blogbeitrag von Robert A. Muenchen wird das Diskussionsaufkommen in verschiednen Bereichen als Indikator herangezogen. R dominiert das Feld deutlich vor Staat, SAS und SPSS. Jetzt kann man mehrere Einwende gegen dieses Messverfahren hervorbringen. Besonders anfällige Systeme erzeugen mehr Diskussionen als perfekte Systeme. Ich denke, das dies langfristig nicht haltbar ist, weil die Anzahl der Diskussionen in den Foren wesentlich stärker von der Menge der Benutzer abhängt als vom System selbst. Gibt es dafür Belege? Weiterhin ist nicht der kommerzielle Support in die Messung eingegangen, der im nichtöffentlichen Bereichen stattfindet z.B. in geschlossenen Foren oder via Email.
Wenn man aber weitere Quellen wie GULP oder Tiobe heranzieht, dann bestätigt sich das Bild, dass R das verbreitetste Analyse System ist. Allerdings ist nicht nicht nur Sonne auf der R Seite, es gibt zwar scheinbar für jedes Problem ein R-Paket, das sich meist einfach installieren lässt, aber viele Pakete werden nicht kontinuierlich gepflegt oder weiterentwickelt. Das liegt auch stark an der massiven Verbreitung von R im akademischen Bereich.
Übrigens gibt es ein oft übersehenen Konkurrenten zu R ist Python. Für Python gibt es gut numerische Pakete und sehr einfache Zugrissmöglichkeiten auf Matrizen. Zusammen mit diesen Paketen fühlt sich Python schon sehr R-like an, das ist wahrscheinlich warum Splunk intern auf Python setzt.

Donnerstag, 31. Januar 2013

Externe JARs in Maven integrieren

Das ist leider unschön, kann aber so realisiert werden:


<dependencies>
<dependency>
<groupId>com.splunk</groupId>
<artifactId>splunk</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/splunk-1.0.jar</systemPath>
</dependency>
</dependencies>


Wichtig: Wenn ich versuche dieses Projekt via exec:java (Link) dann schlägt die Fehl. Das MAven Exec Plugin unterstützt diese externe JARs nicht. Das ist unerwartet und schade. Abhilfe kann hier das Maven Package Plugin schaffen, siehe Link. Dabei wird ein Bigjar bebaut, dass man dann sehr einfach ausführen kann.

Freitag, 11. Januar 2013

Was ist die wichtigste Datenbank zur Zeit?

In fast jedem Projekt steht die Frage, wie sollen die Daten persistiert werden. Oft passiert dies in Datenbanken. Aber welche ist zu wählen. Auf der Seite DB-Engines gibt es ein aktuelles Ranking. Auch wenn es viele hippe neue Datastores gibt, die Welt ist rational. Im Spitzenfeld sind Oracle, MySQL (auch von Oracle) und Microsoft SQL Server. Das Verfolgerfeld besteht aus Mircosoft Access, PostgreSQL und DB2. Erst im zweiten Verfolgerfeld findet sich mit MongoDB der erste neue Datastore, damit ist MongoDB die populärste  NoSQL Datenbank.
Aber so ein Ranking reflektiert nur den aktuellen Stand. Die wichtigste Datenbank muss aber nicht die beliebteste Datenbank sein.

Mittwoch, 9. Januar 2013

SPDY vs. HTTP

Google hat mit SPDY (Link zum Projekt), gesprochen Speedy, ein alternatives Übertragungsprotokoll zu HTPP und HTTPS entworfen. Es soll die Probleme von HTTP beheben und erfreut sich zunehmender Beliebtheit bei vielen Big Playern (Link). Dem entsprechend gibt es verschiede Test. Google gibt eine Beschleunigung um bis zu 55% an (Link). Das wäre eine dramatische Verbesserung. Guy Podjarny hat in seinem Blog ein interessanten Test (Link) veröffentlicht. Dabei kommt heraus, das SPDY langsamer als HTTP ist und nur ein wenig schneller als HTTPS. Dieses Ergebnisse ist ernüchternd. Wichtig bei dem Test von handelt es sich um ein einen Real World Test, der den aktuelle Stand reflektiert. Sicher sind mit einigen Optimierungen bessere Ergebnisse für SPDY zu erzielen, aktuelle Seiten sind stark für HTTP optimiert. Die Frage ist ob dies den Unterschied von 5% (Guy Podjarny: SPDY vs. HTTPS) zu 55% (Google) erklärt? Ich bin gespannt.

Dienstag, 8. Januar 2013

Zeit zum Umstieg: Java 6 läuft aus

Java 6 ist unter Softwareentwicklern noch sehr populär. Jetzt wird es höchste Zeit von Java 6 auf Java 7 zu migrieren, denn ab Februar 2013 (nächster Monat) wird es keine (öffentliche) Updates für Java 6 mehr geben (Link). Als Bonus für die Migration von Java 6 auf Java 7 gibt es einen kleinen Performanceschub (Link) und einen neuen Garbage Collector G1.