Co to jest baza danych Apache HBase w usłudze Azure HDInsight
Apache HBase to baza danych NoSQL typu open source utworzona na platformie Apache Hadoop i modelowana po google BigTable. Baza HBase zapewnia dostęp losowy i silną spójność dla dużych ilości danych w bazie danych bez schematu. Baza danych jest zorganizowana według rodzin kolumn.
Z perspektywy użytkownika baza danych HBase jest podobna do bazy danych. Dane są przechowywane w wierszach i kolumnach tabeli, a dane w wierszu są grupowane według rodziny kolumn. HBase to bez schematu baza danych. Kolumny i typy danych mogą być niezdefiniowane przed ich użyciem. Kod typu open source zapewnia skalowanie liniowe, umożliwiając obsługę petabajtów danych na tysiącach węzłów. Może ona polegać na nadmiarowości danych, przetwarzaniu wsadowym i innych funkcjach udostępnianych przez aplikacje rozproszone w środowisku hadoop.
W jaki sposób baza danych Apache HBase jest implementowana w usłudze Azure HDInsight?
Baza danych HBase w usłudze HDInsight jest oferowana jako zarządzany klaster zintegrowany ze środowiskiem Azure. Klastry są skonfigurowane do przechowywania danych bezpośrednio w usłudze Azure Storage, co zapewnia małe opóźnienie i zwiększoną elastyczność w zakresie wydajności i kosztów. Ta właściwość umożliwia klientom tworzenie interaktywnych witryn internetowych, które współpracują z dużymi zestawami danych. Aby tworzyć usługi przechowujące dane czujników i telemetrii z milionów punktów końcowych. Aby analizować te dane za pomocą zadań platformy Hadoop. Bazy danych HBase i Hadoop są dobrymi punktami wyjścia dla projektu danych big data na platformie Azure. Usługi mogą umożliwić aplikacjom w czasie rzeczywistym pracę z dużymi zestawami danych.
Implementacja usługi HDInsight używa architektury HBase skalowanej w poziomie w celu zapewnienia automatycznego fragmentowania tabel. Silna spójność operacji odczytu i zapisu oraz automatyczne przełączanie w tryb failover. Wydajność jest zwiększona dzięki buforowaniu w pamięci operacji odczytu i przesyłaniu strumieniowemu o wysokiej przepustowości obejmującemu operacje zapisu. Klaster bazy danych HBase można utworzyć w sieci wirtualnej. Aby uzyskać szczegółowe informacje, zobacz Create HDInsight clusters on Azure Virtual Network (Tworzenie klastrów usługi HDInsight na platformie Azure Virtual Network).
W jaki sposób zarządzane są dane w bazie danych HBase w usłudze HDInsight?
W bazie danych HBase można zarządzać danymi za pomocą poleceń create
, get
, put
i scan
z poziomu powłoki HBase. Dane są zapisywane w bazie danych przy użyciu polecenia put
i odczytywane przy użyciu polecenia get
. Polecenie scan
jest używane do uzyskiwania danych z wielu wierszy w tabeli. Danymi można również zarządzać przy użyciu interfejsu API w języku C# bazy danych HBase, który udostępnia bibliotekę klienta ponad interfejsem API REST HBase. Bazę danych HBase można również odpytować przy użyciu programu Apache Hive. Aby zapoznać się z wprowadzeniem do tych modeli programowania, zobacz Wprowadzenie do korzystania z bazy danych Apache HBase z usługą Apache Hadoop w usłudze HDInsight. Dostępne są również współprocesory, które umożliwiają przetwarzanie danych w węzłach hostujących bazę danych.
Uwaga
Platforma Thrift nie jest obsługiwana przez bazę danych HBase w usłudze HDInsight.
Przypadki użycia bazy danych Apache HBase
Kanoniczny przypadek użycia, dla którego funkcja BigTable (i według rozszerzenia HBase) została utworzona na podstawie wyszukiwania w internecie. Aparaty wyszukiwania tworzą indeksy, które mapują terminy na zawierające je strony sieci Web. Istnieje jednak wiele innych przypadków użycia, w których baza danych HBase jest przydatna — niektóre z nich są wymienione w tej sekcji.
Scenariusz | Opis |
---|---|
Magazyn wartości klucza | Baza HBase może być używana jako magazyn klucz-wartość i jest odpowiednia do zarządzania systemami komunikatów. Facebook używa bazy danych HBase do obsługi komunikatów i jest idealnym rozwiązaniem do przechowywania komunikacji internetowej i zarządzania nią. Usługa WebTable używa bazy danych HBase do wyszukiwania tabel wyodrębnianych ze stron sieci Web oraz zarządzania nimi. |
Dane czujników | Baza danych HBase może służyć do przechwytywania danych gromadzonych przyrostowo z różnych źródeł. Te dane obejmują analizę społeczną i szeregi czasowe. Interaktywne pulpity nawigacyjne są aktualne przy użyciu trendów i liczników oraz zarządzania systemami dzienników inspekcji. Przykłady obejmują terminal inwestora Bloomberg i bazę danych Open Time Series Database (OpenTSDB). Usługa OpenTSDB przechowuje i zapewnia dostęp do metryk zebranych na temat kondycji systemów serwerowych. |
Zapytania w czasie rzeczywistym | Apache Phoenix to aparat zapytań SQL dla bazy danych Apache HBase. Dostęp do niego jest uzyskiwany jako sterownik JDBC i umożliwia wykonywanie zapytań dotyczących tabel HBase i zarządzanie nimi przy użyciu języka SQL. |
HBase jako platforma | Aplikacje mogą działać w bazie danych HBase, wykorzystując ją jako magazyn danych. Przykłady obejmują Phoenix, OpenTSDB, Kiji i Titan. Aplikacje można również integrować z bazą danych HBase. Przykłady obejmują: Apache Hive, Apache Pig, Solr, Apache Flume, Apache Impala, Apache Spark, Ganglia i Apache Drill. |
Następne kroki
- Wprowadzenie do korzystania z bazy danych Apache HBase z usługą Apache Hadoop w usłudze HDInsight
- Create HDInsight clusters on Azure Virtual Network (Tworzenie klastrów usługi HDInsight w usłudze Azure Virtual Network)
- Konfigurowanie replikacji bazy danych Apache HBase w usłudze HDInsight