Am Rande notiert ...

storm auf GitHub. Twitter hat sein verteiltes Eventsystem als Open Source veröffentlicht. Klingt sehr interessant – im Prinzip ein lastverteilter und fehlertoleranter RPC Dispatcher mit Garantie für die Ausführung jedes Events. Generell da interessant, wo man hohe Events/sec verarbeiten muss – Storm bietet dort eine einfache Skalierung bei Bedarf durch einfaches zuschalten von neuen Knoten. Und das ganze ist auch noch recht unabhängig von verwendeten Programmiersprachen (Ruby und Python sind als weitere Sprachen neben JVM-Sprachen schon gleich dabei).

Replication, atomicity and order in distributed systems. Sehr interessanter Artikel über Verteilung und Ordnung in verteilten Systemen mit paralleler Ausführung – denn das ganze ist nicht wirklich trivial. Lesenswert alleine für die Links auf verschiedene Projekte in dem Umfeld. Am Ende ein bischen ein Cliffhanger, weil auf einen kommenden Artikel verwiesen wird – hoffentlich kommt der auch, denn dessen Thema klingt ebenfalls interessant.

Basho: An Introduction to Riak. Müsste ich mir auch mal genauer angucken, hat eine recht saubere und einfache Architektur und alle Knoten im System sind gleichwertig (das ist ähnlich zu Cassandra). Das ganze ist hier in Erlang geschrieben, aber interessant ist die MapReduce-Schnittstelle: Funktionen können als JavaScript Code reingeliefert werden und die Kommunikation geht über ein simples JSON Interface.

HBase vs Cassandra: why we moved « Dominic Williams. Nicht ganz uninteressanter Blog-Post, der einen Vergleich von Hadoop/HBase mit Cassandra wagt und die verschiedenen Schwerpunkte herauszuarbeiten versucht. Sein Fazit: HBase ist mehr für Warehousing, Cassandra mehr für Transaction-Processing. Allein dadurch wäre sowas wie Brix noch viel interessanter, wenn es diese beiden Aspekte wirklich vereinen kann.

Brisk – Apache Hadoop™ powered by Cassandra | DataStax. Sollte ich auch mal beobachten, da verheiratet jemand Hadoop mit Cassandra als Backend. Dadurch werden Higher-Level-Layer aus dem Hadoop Projekt auch mit der hohen Performance von Cassandra nutzbar und vor allem mit dem freieren Update von Daten in Cassandra und dessen eventually-consistent-Modell.

HIVE: Data Warehousing & Analytics on Hadoop. Ein Punkt, der mich im Moment stark interessiert: Auswertungen, speziell BI, von großen Datenmengen. Hadoop liefert dafür Hive als Lösungsansatz. Zugriff auf HIVE kann nicht nur über Thrift geschehen, sondern auch über JDBC und ODBC.

Apache Thrift. Auch mal genauer angucken, im Prinzip etwas ähnliches wie Google Protocol Buffers, nur eben im Apache-Umfeld stärker vertreten. Dadurch in Ecken wie Hadoop oft als Weg der Wahl für den Zugriff von verschiedenen Sprachen auf Services vorgesehen. Ein kleiner Vergleich der beiden Protokolle. Mir gefällt, dass Thrift nicht nur die binäre Darstellung erlaubt, sondern auch eine JSON basierte Darstellung – dadurch wird die Integration der Thrift-APIs in Weblösungen einfacher, da JSON ja nunmal JavaScript native ist.

The Secrets of Building Realtime Big Data Systems. Darüber bin ich auf Cascalog und ElephantDB gestoßen: ein Vortrag des Programmierers der beiden Projekte über Große Datenbanken. Er schreibt auch gerade an einem Buch „Big Data“. Könnte sehr interessant sein.

nathanmarz/elephantdb. Gleicher Autor wie für Cascalog, hier hat er auf  Hadoop mit Clojure einen verteilten Key/Value-Store aufgebaut. Auch nicht uncool.

nathanmarz/cascalog – mal näher beobachten, eine Verheiratung von Clojure und Hadoop zur einfacheren Auswertung großer Datenbestände. Das Interessante an Cascalog: es greift Ideen aus Datalog auf und bildet in Clojure eine Abfragesprache für Hadoop Datenbestände.

Trinity – Microsoft Research. Muss ich mir mal näher angucken, klingt etwas wie verteiltes Redis (in-Memory Strukturen die persistiert werden) kombiniert mit einer Abfragesemantik die eher auf Graphbeziehungen aufbaut (vergleichbar in etwa zu RDF Triple Stores).