Am Rande notiert ...

storm auf Git­Hub. Twit­ter hat sein ver­teil­tes Event­sys­tem als Open Sour­ce ver­öf­fent­licht. Klingt sehr in­ter­es­sant – im Prin­zip ein last­ver­teil­ter und feh­ler­to­le­ran­ter RPC Dis­patcher mit Ga­ran­tie für die Aus­füh­rung jedes Events. Ge­ne­rell da in­ter­es­sant, wo man hohe Events/sec ver­ar­bei­ten muss – Storm bie­tet dort eine ein­fa­che Ska­lie­rung bei Be­darf durch ein­fa­ches zu­schal­ten von neuen Kno­ten. Und das ganze ist auch noch recht un­ab­hän­gig von ver­wen­de­ten Pro­gram­mier­spra­chen (Ruby und Py­thon sind als wei­te­re Spra­chen neben JVM-Spra­chen schon gleich dabei).

Re­pli­ca­ti­on, ato­mi­ci­ty and order in dis­tri­bu­ted sys­tems. Sehr in­ter­es­san­ter Ar­ti­kel über Ver­tei­lung und Ord­nung in ver­teil­ten Sys­te­men mit par­al­le­ler Aus­füh­rung – denn das ganze ist nicht wirk­lich tri­vi­al. Le­sens­wert al­lei­ne für die Links auf ver­schie­de­ne Pro­jek­te in dem Um­feld. Am Ende ein bi­schen ein Cliff­han­ger, weil auf einen kom­men­den Ar­ti­kel ver­wie­sen wird – hof­fent­lich kommt der auch, denn des­sen Thema klingt eben­falls in­ter­es­sant.

Basho: An In­tro­duc­tion to Riak. Müss­te ich mir auch mal ge­nau­er an­gu­cken, hat eine recht sau­be­re und ein­fa­che Ar­chi­tek­tur und alle Kno­ten im Sys­tem sind gleich­wer­tig (das ist ähn­lich zu Cas­san­dra). Das ganze ist hier in Er­lang ge­schrie­ben, aber in­ter­es­sant ist die Ma­pRe­du­ce-Schnitt­stel­le: Funk­tio­nen kön­nen als Ja­va­Script Code rein­ge­lie­fert wer­den und die Kom­mu­ni­ka­ti­on geht über ein sim­ples JSON In­ter­face.

HBase vs Cas­san­dra: why we moved « Do­mi­nic Wil­liams. Nicht ganz un­in­ter­es­san­ter Blog-Post, der einen Ver­gleich von Ha­doop/HBase mit Cas­san­dra wagt und die ver­schie­de­nen Schwer­punk­te her­aus­zu­ar­bei­ten ver­sucht. Sein Fazit: HBase ist mehr für Wareh­ou­sing, Cas­san­dra mehr für Tran­sac­tion-Pro­ces­sing. Al­lein da­durch wäre sowas wie Brix noch viel in­ter­es­san­ter, wenn es diese bei­den As­pek­te wirk­lich ver­ei­nen kann.

Brisk – Apa­che Ha­doop™ power­ed by Cas­san­dra | Da­taS­tax. Soll­te ich auch mal be­ob­ach­ten, da ver­hei­ra­tet je­mand Ha­doop mit Cas­san­dra als Ba­ckend. Da­durch wer­den Hig­her-Le­vel-Lay­er aus dem Ha­doop Pro­jekt auch mit der hohen Per­for­mance von Cas­san­dra nutz­bar und vor allem mit dem freie­ren Up­date von Daten in Cas­san­dra und des­sen even­tual­ly-con­sis­tent-Mo­dell.

HIVE: Data Wareh­ou­sing & Ana­ly­tics on Ha­doop. Ein Punkt, der mich im Mo­ment stark in­ter­es­siert: Aus­wer­tun­gen, spe­zi­ell BI, von gro­ßen Da­ten­men­gen. Ha­doop lie­fert dafür Hive als Lö­sungs­an­satz. Zu­griff auf HIVE kann nicht nur über Thrift ge­sche­hen, son­dern auch über JDBC und ODBC.

Apa­che Thrift. Auch mal ge­nau­er an­gu­cken, im Prin­zip etwas ähn­li­ches wie Goog­le Pro­to­col Buf­fers, nur eben im Apa­che-Um­feld stär­ker ver­tre­ten. Da­durch in Ecken wie Ha­doop oft als Weg der Wahl für den Zu­griff von ver­schie­de­nen Spra­chen auf Ser­vices vor­ge­se­hen. Ein klei­ner Ver­gleich der bei­den Pro­to­kol­le. Mir ge­fällt, dass Thrift nicht nur die bi­nä­re Dar­stel­lung er­laubt, son­dern auch eine JSON ba­sier­te Dar­stel­lung – da­durch wird die In­te­gra­ti­on der Thrift-APIs in Weblö­sun­gen ein­fa­cher, da JSON ja nun­mal Ja­va­Script na­ti­ve ist.

The Se­crets of Buil­ding Real­ti­me Big Data Sys­tems. Dar­über bin ich auf Cas­ca­log und Ele­phant­DB ge­sto­ßen: ein Vor­trag des Pro­gram­mie­rers der bei­den Pro­jek­te über Große Da­ten­ban­ken. Er schreibt auch ge­ra­de an einem Buch „Big Data“. Könn­te sehr in­ter­es­sant sein.

na­than­marz/ele­phant­db. Glei­cher Autor wie für Cas­ca­log, hier hat er auf  Ha­doop mit Clo­ju­re einen ver­teil­ten Key/Va­lue-Store auf­ge­baut. Auch nicht un­cool.

na­than­marz/cas­ca­log – mal näher be­ob­ach­ten, eine Ver­hei­ra­tung von Clo­ju­re und Ha­doop zur ein­fa­che­ren Aus­wer­tung gro­ßer Da­ten­be­stän­de. Das In­ter­es­san­te an Cas­ca­log: es greift Ideen aus Da­ta­log auf und bil­det in Clo­ju­re eine Ab­fra­ge­spra­che für Ha­doop Da­ten­be­stän­de.

Tri­ni­ty – Mi­cro­soft Re­se­arch. Muss ich mir mal näher an­gu­cken, klingt etwas wie ver­teil­tes Redis (in-Me­mo­ry Struk­tu­ren die per­sis­tiert wer­den) kom­bi­niert mit einer Ab­fra­ge­se­man­tik die eher auf Graph­be­zie­hun­gen auf­baut (ver­gleich­bar in etwa zu RDF Triple Stores).