Dlaczego HBase jest lepszym Wyborem niż Cassandra z Hadoop?

Dlaczego używanie HBase jest lepszym Wyborem niż używanie Cassandra z Hadoop?

Czy ktoś może podać szczegółowe wyjaśnienie?

Dzięki

Author: Ravindra babu, 2013-02-19

2 answers

Nie sądzę, że albo jest lepszy od innych, to nie jest tylko jeden lub drugi. Są to bardzo różne systemy, każdy z ich mocnymi i słabymi stronami, więc tak naprawdę zależy to od twoich przypadków użycia. Z pewnością mogą być stosowane jako uzupełnienie siebie w tej samej infrastrukturze.

Aby lepiej wyjaśnić różnicę, chciałbym pożyczyć zdjęcie z Cassandra: the Definitive Guide , gdzie omawiają twierdzenie CAP. To, co mówią, jest w zasadzie dla każdego rozproszonego system, musisz znaleźć równowagę pomiędzy spójnością, dostępność i tolerancja partycji , a można realistycznie zaspokoić tylko 2 z tych właściwości. Z tego widać, że:

  • Cassandra spełnia właściwościdostępność itolerancja partycji .
  • hbaza spełniała właściwości konsystencji i tolerancji partycji .

Czapka

Jeśli chodzi o Hadoop, HBase jest zbudowany na bazie HDFS, co sprawia, że jest całkiem wygodny w użyciu, jeśli masz już stos Hadoop. Jest również obsługiwany przez Cloudera, który jest standardową dystrybucją korporacyjną dla Hadoop.

Ale Cassandra ma również większą integrację z Hadoop, a mianowicie Datastax Brisk, który zyskuje popularność. Możesz także natywnie przesyłać dane z wyjścia zadania Hadoop do klastra Cassandra przy użyciu jakiegoś formatu wyjściowego dostarczonego przez Cassandrę (na przykładBulkOutputFormat), nie jesteśmy już do punktu, w którym Cassandra była tylko samodzielnym projektem.

Z mojego doświadczenia wynika, że Cassandra jest świetna do przypadkowych odczytów, a nie tak bardzo do skanów

Aby dodać trochę koloru do obrazu, używam obu w swojej pracy w tej samej infrastrukturze, a HBase ma zupełnie inny cel niż Cassandra. Używałem Cassandry głównie do bardzo szybkiego wyszukiwania w czasie rzeczywistym, podczas gdy używałem HBase więcej do ciężkich zadań wsadowych ETL z niższymi wymaganiami opóźnień.

Jest to pytanie, które byłoby naprawdę godne wpisu na blogu, więc zamiast kontynuować i kontynuować chciałbym wskazać Artykuł , który podsumowuje wiele różnic kluczy między systemami 2. Podsumowując, IMHO nie ma lepszego rozwiązania i naprawdę powinieneś pomyśleć o swoich przypadkach użycia, aby zobaczyć, który system jest lepiej dostosowany.

 77
Author: Charles Menguy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-19 06:46:45

Musimy porównać zalety i wady obu baz danych i podjąć strzeżoną decyzję w zależności od wymagań biznesowych.

Cassandra

PLUSY:

  1. spełnia dostępność & Podział z CAP teoria & ewentualna spójna .
  2. skalowalne z dużymi klastrami bez pojedynczego punktu awarii
  3. SQL podobnie jak język programowania pozwala programistom łatwo przejście z RDBMS tła
  4. Cassandra ma doskonałą wydajność odczytu jednorzędowego tak długo, jak semantyka spójności jest wystarczająca dla przypadków użycia
  5. wsparcie od Datastax jest dużą zaletą
  6. Zoptymalizowany dla zapisuje

Wady:

  1. nie obsługuje skanowania wiersza na podstawie zakresu
  2. nie obsługuje porównania i zestawów atomowych
  3. Cassandra nie wsparcie co-processor functionalit y '
  4. Cassandra wspieraindeksy wtórne na rodzinach kolumn, w których znana jest nazwa kolumny. (Nie na kolumnach dynamicznych).
  5. W Kasandrze nie są obsługiwane przez węzły Cassandra [22]}

HBase

PLUSY:

  1. silna konsystencja i spełnia spójność i podziałz CAP teorii.
  2. odpowiednik RDBMS triggers & stored procedures
  3. Hadoop wsparcie
  4. Skanowanie wierszy na podstawie zakresu
  5. Support Atomic Compare and Set
  6. Zoptymalizowany dla czyta, wspierany przez single-write master
  7. wsparcie dla agregacji
  8. [[13]}wysoka skalowalność i automatyczne skalowanie danych

Wady:

  1. Brak przyjaznego języka dla rozwoju
  2. robi nie obsługuje równoważenia obciążenia odczytu w stosunku do pojedynczego wiersza
  3. operacje międzyrzędowe są nie atomowe
  4. pojedynczy punkt awarii jeśli użyto tylko jednego HBase Master

Zobacz Artykuł 1 , Artykuł 2 i ta prezentacja w celu uzyskania dalszych szczegółów.

 14
Author: Ravindra babu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-24 18:23:08