Jake NoSQL pouzivate?
Tomas Vondra
tv na fuzzy.cz
Pondělí Březen 19 18:17:36 CET 2012
On 19 BÅezen 2012, 17:38, Jan Kasprzak wrote:
> Dobry den,
>
> mate nekdo nejake prakticke zkusenosti s distribuovanymi key-value
> ulozisti
> dat? Co pouzivate?
>
> Co bych potreboval ja (ad-hoc poradi bez uvedeni priorit):
MÄ tady celkem chybà popis toho co tam vlastnÄ chcete ukládat. To je
IMHO jeden z důležitých parametrů který ovlivÅuje výbÄr NoSQL
databáze (jinak se to bude Å¡patnÄ použÃvat, může to mÃt dopad na
výkon apod.)
Chcete column store, K/V store nebo document store? Nebo vám staÄÃ
prostý distribuovaný filesystém jako je HDFS?
> - replikace, tolerance k docasnemu vypadku (reboot stroje) i k trvalemu
> vypadku (stroj shorel a nikdy ze uz do klastru nevrati), moznost
> pridat dalsi stroj
> - zohledneni fyzicke topologie (napriklad delat repliky jinam nez do toho
> stejneho PDU nebo racku)
> - staci plne konzistentni operace (nepotrebuju evenutally-consistent
> zapisy a vector-clock jako ma Amazon Dynamo)
Výrok "staÄà plnÄ konzistentnà operace" mi pÅijde nesmyslný,
protože "silná konzistence" je silnÄjšà požadavek než "eventually
consistent."
NavÃc výše vyžadujete odolnost k výpadkům (A) takže pÅedpokládám
že chcete i odolnost proti partitioningu (P), což podle CAP teorému
znamená že nemůžete mÃt silnou konzistenci.
> - hodila by se i podpora velkych "value" (bloby, velke soubory, ...)
Co znamená "velkých"? To eliminuje nÄkteré K/V systémy (napÅ. Redis
umà max. 512MB).
> - rozhrani minimalne pro Perl
> - podpora pro predem hlaseny vypadek vitana ("ted budu chtit rebootovat
> tento stroj").
> - pokud mozno psane v necem jinem nez Java (no flames, please;
> Java ma tendenci s sebou tahat spousty dalsich Javovych technologii
> a nedivat se na okolni ne-Javovy svet, navic prenositelnost na ruzne
> verze JVM je podle mych zkusenosti slaba).
No, zrovna Cassandra a Hadoop tÃmhle myslÃm pÅehnanÄ netrpÃ, ale chápu.
>
> Zatim jsem se dival na tyhle veci:
Z vámi uvedených bych volil HDFS pokud bych potÅeboval jenom "prostý"
distribuovaný souborový systém, Cassandru nebo HBase pokud bych chtÄl
column store, a asi CouchBase pokud bych chtÄl document store a k/v.
JeÅ¡tÄ bych koukal na MongoDB (ale to je jen document store).
NicménÄ já nejsem "zaujatý" proti JavÄ ;-)
> - Project Voldemort (ale Java)
> - Apache Cassandra (taky Java, navic Facebook presel na HBase)
> - HBase (ale Java, navic to s sebou tahne cely Hadoop)
> - Riak (zatim muj favorit, i kdyz nevim jestli se nemam bat Erlangu :-)
> - CouchBase (nema plnohodnotne rozhrani pro Perl, jestli se nepletu)
Záležà na tom co myslÃte plnohodnotným rozhranÃm ... CouchDB má
zámÄrnÄ RESTful JSON API, o niÄem dalÅ¡Ãm nevÃm. NavÃc CouchDB +
Membase vypadá jako zajÃmavá kombinace (document store + k/v store).
T.
Další informace o konferenci Linux