Podsumowanie

Ukończone
  • Apache HBase to wersja open-source systemu magazynu rozproszonego BigTable firmy Google. Obydwa systemy są rozproszonymi, skalowalnymi i wydajnymi bazami danych z obsługą przechowywania wersji.
  • Baza HBase porządkuje dane w tabelach, poszczególne wiersze tabeli są indeksowane za pomocą klucza, a dane są przechowywane w kolumnach. Więcej kolumn można pogrupować w postaci rodzin kolumn.
  • Nie trzeba wpisywać kolumn HBase; można je dodawać na żądanie. Baza HBase przechowuje dane na dysku w kolumnach, jest to więc kolumnowa baza danych.
  • Dane przechowywane w wierszach HBase mają swoje wersje; domyślnie operacje dotyczą najnowszej wersji danych.
  • Baza HBase obsługuje operacje Get, Put, Scan i Delete.
  • Baza HBase jest zorganizowana w postaci klastra węzłów; jeden węzeł jest wyznaczany jako główny, a pozostałe są nazywane węzłami RegionServer. Do zarządzania klastrem służy system ZooKeeper. Do przechowywania danych w programie HBase jest zazwyczaj używany system plików HDFS.
  • Dane w tabeli są podzielone na partycje w regionach i przypisane do poszczególnych węzłów RegionServer; węzeł główny HBase przechowuje rekord przypisań regionów.
  • Baza HBase nie jest w pełni zgodna ze standardem ACID, szczególnie w odniesieniu do operacji obejmujących wiersze. W takich przypadkach kolejne żądania danych z bazy HBase mogą zwracać nieaktualne dane.
  • Baza HBase najlepiej nadaje się do przechowywania dużych ilości danych i zapewnia szybki dostęp do wielu wierszy na potrzeby agregacji. Wiele interfejsów umożliwia łączność z usługą MapReduce i aplikacjami internetowymi.
  • Baza HBase nie obsługuje sprzężeń, a jej model spójności musi być brany pod uwagę podczas projektowania aplikacji.
  • MongoDB jest magazynem dokumentów, który przechowuje dokumenty w kolekcjach.
  • Baza MongoDB przechowuje dane wewnętrznie przy użyciu formatu Binary JSON (BSON).
  • Bazę MongoDB można skalować do wielu klastrów przy użyciu replikacji i fragmentowania.
  • Rozwiązanie MongoDB jest popularne w przypadku aplikacji, które wymagają zwiększenia skali w poziomie, szybkiego zapisu zbiorczego, a także danych, które wymagają indeksów geoprzestrzennych.
  • Apache Cassandra to w pełni rozproszony, ustrukturyzowany system magazynu klucz-wartość, który korzysta z wielu aspektów projektowych bazy danych HBase i Dynamo.
  • Tabela w bazie Cassandra jest nazywana rodziną kolumn, w której każdy rekord jest poindeksowany przez klucz i składa się z kolumn; wiele kolumn można pogrupować w jedną kolumnę nadrzędną.
  • Wiersz bazie w Cassandra jest zwracany jako sekwencja zagnieżdżonych par klucz-wartość.
  • Typowe operacje w bazie Cassandra obejmują pobieranie (Get), wstawianie (Insert) i usuwanie (Delete). Mogą one być wykonywane w poszczególnych wierszach, w grupach wierszy (zakresie) i w grupie kolumn (części).
  • Baza Cassandra działa w klastrze węzłów przy użyciu zdecentralizowanej architektury równorzędnej. Baza Cassandra używa do przechowywania danych lokalnych magazynów w poszczególnych węzłach.
  • Węzły bazy Cassandra są rozmieszczone w topologii Token Ring, a system Cassandra automatycznie rozdziela wiersze pomiędzy różne węzły w klastrze przy użyciu wartości skrótu klucza każdego wiersza przez spójne tworzenie skrótów. Każdy z węzłów widzi pozostałe węzły w topologii Token Ring i automatycznie przekazuje żądania klientów do poprawnego węzła.
  • Baza Cassandra replikuje wiersze w węzłach na podstawie współczynnika replikacji zdefiniowanego przez użytkownika.
  • Każda operacja w bazie Cassandra jest wykonywana ze spójnością zdefiniowaną przez użytkownika. Poziom spójności zapewnia możliwość dostosowania kompromisu spójności i wydajności dla każdej operacji.
  • W bazie Cassandra do obsługi wykrywania awarii są używane wyspecjalizowane algorytmy; węzły Cassandra mogą tymczasowo śledzić żądania zapisu do węzłów offline i przesyłać je dalej, gdy węzeł wraca do trybu online (przekazanie ze wskazówką).
  • Właściwości ACID systemu Cassandra można skonfigurować dla poszczególnych operacji.
  • Baza Cassandra jest popularnym środowiskiem ze względu na zestaw funkcji, a jej model spójności z możliwością dostosowania zapewnia dużą elastyczność podczas projektowania aplikacji.
  • OpenStack Swift to system magazynu obiektów typu open-source wdrażany w chmurach publicznych lub prywatnych.
  • System SWIFT pozwala uzyskać dostęp do obiektów w interfejsie REST podobnym do S3.
  • Ceph Object Gateway jest warstwą dostępu do magazynu obiektów rozproszonych RADOS. Zapewnia ona obsługę interfejsów zgodnych ze standardami S3 i SWIFT w magazynie RADOS.