Apache Cassandra

A Wikipédiából, a szabad enciklopédiából
Apache Cassandra
Cassandra logo.svg

Fejlesztő Apache Software Fundation, DataStax
Legfrissebb stabil kiadás 2.0.5 (2014. február 7.) +/-
Legfrissebb fejlesztői kiadás ismeretlen +/-
Programozási nyelv Java
Operációs rendszer multi-platform (JVM)
Állapot aktív
Kategória adatbázis
Licenc Apache Licenc 2.0
Az Apache Cassandra weboldala

Az Apache Cassandra egy nyílt forráskódú elosztott adatbázis szerver szoftver, amelyet arra terveztek, hogy nagy mennyiségű adatot tároljon alacsony költségű szervereken, magas rendelkezésre állást szolgáltatva. A Cassandra támogatást ad több adatközponton működő fürtök működtetésére.

Történet[szerkesztés | forrásszöveg szerkesztése]

A Cassandra fejlesztését az Amazon DynamoDB egyik fejlesztőjeként is ismert Avinash Lakshman és Prashant Malik kezdte a Facebook-nál. A forráskódot 2008-ban adták ki nyílt forráskódú projektként[1], majd 2009 márciusában lett az Apache inkubátor tagja[2]. 2010 február 17.-én lett felső szintű apache projekt[3].

Adatmodell[szerkesztés | forrásszöveg szerkesztése]

A Cassandra adatmodellje a kulcs-érték és az oszlopos (vagy tabulált) adatmodell hibridje.

Fürtözés[szerkesztés | forrásszöveg szerkesztése]

A Cassandra gossip protokollt használ arra, hogy a fürtöt alkotó szerverek információt osszanak meg egymással. Ahhoz viszont, hogy a kezdeti pár szerverrel fel tudja venni a kapcsolatot egy a fürthöz csatlakozni kívánó szerver, ahhoz mag (seed) szervereket lehet kijelölni az elég stabilan működő szerverek közül[4], ezek tudják megosztani vele a fürt éppen aktuális tagjainak listáját. Ahhoz, hogy egy szerver csatlakozzon a fürthöz, egy seed szervert el kell hogy érjen.

Egy Cassandra fürt építésekor fontos a megfelelő particionáló megadása. Két főbb particionáló algoritmus érhető el:

  • Véletlenszerű particionáló (RandomPartitioner): Az MD5 hash kód alapján választja ki a megfelelő szervert az adat tárolására. Az 1.1-es verzióig ez volt az alapértelmezett, majd az 1.2 verzióban a Murmur3 partícionáló helyettesítette. Ez lényegében ugyanaz az elosztási mód, de a Murmur3 kucsok számítása sokkal gyorsabb az MD5-nél.
  • Sorrendet tartó particionáló (OrderPreservingPartitioner): Ez kulcsok sorrendjének megfelelően tartja a az adatokat együtt. Ennek használata túlterhelt pontokhoz vezethet a fürtben, ezért használata nem ajánlott.[5]

Ismert felhasználók[szerkesztés | forrásszöveg szerkesztése]

  • A Facebook használta az üzenetek keresésére több mint 200 szerveren futtatva, ezt viszont 2010 második felében HBase-re cserélték. Ugyanakkor viszont 2012-ben ismét használatba vették az Instagram-ban.
  • A Rackspace használja belső feladatok végrehajtására.
  • A Twitter is használja, bár nem az üzenetek tárolására.

Fordítás[szerkesztés | forrásszöveg szerkesztése]

Ez a szócikk részben vagy egészben az Apache Cassandra című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel.

Jegyzetek[szerkesztés | forrásszöveg szerkesztése]