Baza klucz-wartość Cassandra od Facebooka

Opis składowiska klucz-wartość Cassandra przeznaczonego do obsługi potężnego ruchu na klastrach złożonych z wielu maszych w różnych centrach danych

Cassandra to skalowalny, rozproszony i magazyn klucz-wartość ze strukturą tabel. Baza ta łączy rozproszone technologie z Dynami i model danych z Google BigTable. Jak Dynamo jest "eventually consistent" tj. zakłada że po odpowiednio długim czasie bez nowych zmian wszystkie repliki będą identyczne. Tak jak BigTable baza ta dostarcza modele przypominające tabele.

Cassandra została otwarta przez Facebooka w 2008 roku. Baza ta jest wykorzystywana w Facebooku (120 węzłów, jedna instancja bazy działająca na dwóch datacenter, 36TB zapisanych danych, 300 milionów zapisów dziennie, 1 milion odczytów dziennie), od niedawna także przez Digga, lecz nadal jest to bardzo młody projekt. Obecnie Cassandra rozwijana jest w obrębie Apache Incubator.

Możliwości Cassandry:
  • Zaprojektowana by zawsze być dostępną. Zapisy zawsze się udają. Dwa ścieżki odczytu.
  • Bogaty model danych pozwalający na bardziej efektywne użytkowanie w porównaniu do prostych składnic klucz-wartość.
  • Dane są automatycznie replikowane pomiędzy wieloma węzłami. Jest też obsługa do implementacji strategii replikacji pomiędzy różnymi datacenters.
  • Nowe węzły mogą być dodane do działającego klastra
  • Spójność danych - cassandra stosuje model "eventually consistent", lecz ma też zaawansowane rozwiązania zmniejszające okresy braku spójności.
  • Zapisy i odczyty są atomowe dla pojedynczej ColumnFamily.
  • Obsługa wersjonowania i rozwiązywania konfliktów (z wbudowaną polityką "ostatnia aktualizacja wygrywa")

Dostęp do bazy danych

Cassandra udostępnia interfejs poprzez Thrift, czyli surowe interfejs można wygenerować dla wielu języków (obsługiwanych przez Thrifta). W sieci można znaleźć kilka projektów zapewniających nakładkę na to podstawowe API (github, google code itd.). Jest to projekt bardzo wyspecjalizowany i młody, przez co nie ma jeszcze dużej rzeszy użytkowników. Zobacz także:
blog comments powered by Disqus

Kategorie

Strony