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

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

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

Fürtözés 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,Configuring Multiple Nodes - cassandra wiki 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 kulcsok 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.Partitioners - cassandra wiki

Ismert felhasználók A Facebook használta az üzenetek keresésére több mint 200 szerveren futtatva, ezt viszont 2010 második felében Apache HBase-re cserélték. Ugyanakkor viszont 2012-ben ismét használatba vették az Instagramban. 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

Jegyzetek

Kategória:Adatbázis-kezelő rendszerek Kategória:Nyílt forrású szoftverek