Dlaczego HBase jest lepszym Wyborem niż Cassandra z Hadoop?
Dlaczego używanie HBase
jest lepszym Wyborem niż używanie Cassandra
z Hadoop
?
Dzięki
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 .
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.
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:
- spełnia dostępność & Podział z CAP teoria & ewentualna spójna .
- skalowalne z dużymi klastrami bez pojedynczego punktu awarii
- SQL podobnie jak język programowania pozwala programistom łatwo przejście z RDBMS tła
- Cassandra ma doskonałą wydajność odczytu jednorzędowego tak długo, jak semantyka spójności jest wystarczająca dla przypadków użycia
- wsparcie od Datastax jest dużą zaletą
- Zoptymalizowany dla zapisuje
Wady:
- nie obsługuje skanowania wiersza na podstawie zakresu
- nie obsługuje porównania i zestawów atomowych
- Cassandra nie wsparcie co-processor functionalit y '
- Cassandra wspieraindeksy wtórne na rodzinach kolumn, w których znana jest nazwa kolumny. (Nie na kolumnach dynamicznych).
- W Kasandrze nie są obsługiwane przez węzły Cassandra [22]}
HBase
PLUSY:
- silna konsystencja i spełnia spójność i podziałz CAP teorii.
- odpowiednik RDBMS triggers & stored procedures
- Hadoop wsparcie
- Skanowanie wierszy na podstawie zakresu
- Support Atomic Compare and Set
- Zoptymalizowany dla czyta, wspierany przez single-write master
- wsparcie dla agregacji [[13]}wysoka skalowalność i automatyczne skalowanie danych
Wady:
- Brak przyjaznego języka dla rozwoju
- robi nie obsługuje równoważenia obciążenia odczytu w stosunku do pojedynczego wiersza
- operacje międzyrzędowe są nie atomowe
- 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.
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