Főmenü megnyitása

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
Cassandra logo.svg
Helenos for Apache Cassandra.PNG

Fejlesztő Apache Software Fundation, DataStax
Legfrissebb stabil
kiadás
  • 2.2.14 (2019. február 11.)[1]
  • 3.11.4 (stabil verzió, 2019. február 11.)[2]
Legfrissebb fejlesztői kiadásismeretlen +/-
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

TörténetSzerkesztés

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,[3] majd 2009 márciusában lett az Apache inkubátor tagja.[4] 2010 február 17.-én lett felső szintű Apache projekt.[5]

AdatmodellSzerkesztés

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

FürtözésSzerkeszté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,[6] 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.[7]

Ismert felhasználókSzerkeszté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 Instagram-ban.[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ásSzerkeszté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.

JegyzetekSzerkesztés

  1. Release 2.2.14, 2019. február 11. (Hozzáférés: 2019. február 11.)
  2. Release 3.11.4, 2019. február 11. (Hozzáférés: 2019. február 11.)
  3. James Hamilton: Facebook Releases Cassandra as Open Source
  4. Matthieu Riou: Incubator Board Report
  5. Matthieu Riou: Cassandra is an Apache top level project
  6. Configuring Multiple Nodes Archiválva 2014. január 10-i dátummal a Wayback Machine-ben - cassandra wiki
  7. Partitioners - cassandra wiki