Apache Cassandra

nyílt forráskódú, elosztott adatbázisú szerver szoftver
Ez a közzétett változat, ellenőrizve: 2024. március 2.

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.

Apache Cassandra

FejlesztőApache Software Fundation, DataStax
Legfrissebb stabil kiadás5.0.2
(2021.09.07.)
Programozási nyelvJava
Operációs rendszermulti-platform (JVM)
Állapotaktív
Kategóriaadatbázis
LicencApache Licenc 2.0
Az Apache Cassandra weboldala

Történet

szerkesztés

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,[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

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

Fürtözés

szerkeszté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,[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 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.[5]

Ismert felhasználók

szerkesztés
  • 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.[forrás?]
  • 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

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. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

  1. James Hamilton: Facebook Releases Cassandra as Open Source
  2. Matthieu Riou: Incubator Board Report
  3. Matthieu Riou: Cassandra is an Apache top level project
  4. Configuring Multiple Nodes Archiválva 2014. január 10-i dátummal a Wayback Machine-ben - cassandra wiki
  5. Partitioners - cassandra wiki