Co to jest Apache HBase w usłudze Azure HDInsightWhat is Apache HBase in Azure HDInsight

Apache HBase jest baza danych NoSQL typu open source, która jest oparta na Apache Hadoop i modelowanych po bazie danych Google BigTable.Apache HBase is an open-source, NoSQL database that is built on Apache Hadoop and modeled after Google BigTable. Baza danych HBase zapewnia dostęp losowy i wysoki poziom spójności w przypadku dużych ilości danych z częściową strukturą i bez struktury w bezschematowej bazie danych zorganizowanej według rodzin kolumn.HBase provides random access and strong consistency for large amounts of unstructured and semistructured data in a schemaless database organized by column families.

Z perspektywy użytkownika bazy danych HBase jest podobne do bazy danych.From user perspective, HBase is similar to a database. Dane są przechowywane w wierszy i kolumn w tabeli, a dane w wierszu są pogrupowane według rodziny kolumn.Data is stored in the rows and columns of a table, and data within a row is grouped by column family. HBase jest bezschematową bazą danych, co oznacza, że ani kolumny, ani typy danych w nich przechowywanych nie muszą być zdefiniowane przed użyciem.HBase is a schemaless database in the sense that neither the columns nor the type of data stored in them need to be defined before using them. Kod typu open source zapewnia skalowanie liniowe, umożliwiając obsługę petabajtów danych na tysiącach węzłów.The open-source code scales linearly to handle petabytes of data on thousands of nodes. Baza może wykorzystywać nadmiarowość danych, przetwarzanie wsadowe i inne funkcje, które są dostarczane przez aplikacje rozproszone w ekosystemie Hadoop.It can rely on data redundancy, batch processing, and other features that are provided by distributed applications in the Hadoop ecosystem.

Jak Apache HBase jest zaimplementowana w usłudze Azure HDInsight?How is Apache HBase implemented in Azure HDInsight?

Baza danych HBase w usłudze HDInsight jest oferowana jako zarządzany klaster zintegrowany ze środowiskiem Azure.HDInsight HBase is offered as a managed cluster that is integrated into the Azure environment. Klastry są skonfigurowane do przechowywania danych bezpośrednio w usługi Azure Storage który zapewnia małe opóźnienia i zwiększoną elastyczność w zakresie wydajności i kosztów.The clusters are configured to store data directly in Azure Storage which provides low latency and increased elasticity in performance and cost choices. Pozwala to klientom tworzyć interaktywne witryny sieci Web pracujące z dużymi zestawami danych, opracowywać usługi przechowywania danych czujników i danych telemetrycznych z milionów punktów końcowych oraz analizować te dane przy użyciu zadań platformy Hadoop.This enables customers to build interactive websites that work with large datasets, to build services that store sensor and telemetry data from millions of end points, and to analyze this data with Hadoop jobs. HBase i Hadoop są dobrymi punktami startowymi dla projektów obejmujących dane big data w środowisku Azure. W szczególności mogą one umożliwiać pracę w czasie rzeczywistym aplikacji obsługujących duże zestawy danych.HBase and Hadoop are good starting points for big data project in Azure; in particular, they can enable real-time applications to work with large datasets.

Implementacja usługi HDInsight wykorzystuje skalowalność architektury HBase, aby zapewnić automatyczne dzielenie tabel na fragmenty, wysoki poziom spójności operacji odczytu i zapisu oraz automatyzację pracy awaryjnej.The HDInsight implementation leverages the scale-out architecture of HBase to provide automatic sharding of tables, strong consistency for reads and writes, and automatic 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.Performance is enhanced by in-memory caching for reads and high-throughput streaming for writes. Klaster bazy danych HBase można utworzyć w sieci wirtualnej.HBase cluster can be created inside virtual network. Aby uzyskać szczegółowe informacje, zobacz temat Create HDInsight clusters on Azure Virtual Network (Tworzenie klastrów usługi HDInsight w usłudze Azure Virtual Network).For details, see Create HDInsight clusters on Azure Virtual Network.

W jaki sposób zarządzane są dane w bazie danych HBase w usłudze HDInsight?How is data managed in HDInsight HBase?

W bazie danych HBase można zarządzać danymi za pomocą poleceń create, get, put i scan z poziomu powłoki HBase.Data can be managed in HBase by using the create, get, put, and scan commands from the HBase shell. Dane są zapisywane w bazie danych przy użyciu polecenia put i odczytywane przy użyciu polecenia get.Data is written to the database by using put and read by using get. Polecenie scan jest używane do uzyskiwania danych z wielu wierszy w tabeli.The scan command is used to obtain data from multiple rows in a table. 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.Data can also be managed using the HBase C# API, which provides a client library on top of the HBase REST API. Bazy danych HBase, również może być odpytywany za pomocą Apache Hive.An HBase database can also be queried by using Apache Hive. Aby zapoznać się z wprowadzeniem do tych modeli programowania, zobacz rozpoczęcie korzystania z bazy danych Apache HBase z użyciem usługi Apache Hadoop w HDInsight.For an introduction to these programming models, see Get started using Apache HBase with Apache Hadoop in HDInsight. Koprocesory są również dostępne, co umożliwia przetwarzanie danych w węzłach hostujących bazę danych.Coprocessors are also available, which allow data processing in the nodes that host the database.

Uwaga

Platforma Thrift nie jest obsługiwana przez bazę danych HBase w usłudze HDInsight.Thrift is not supported by HBase in HDInsight.

Scenariusze: Zastosowań bazy danych Apache HBaseScenarios: Use cases for Apache HBase

Przypadek użycia, które BigTable (a przy użyciu rozszerzenia, bazy danych HBase) został utworzony na podstawie wyszukiwania w Internecie.The canonical use case for which BigTable (and by extension, HBase) was created from web search. Aparaty wyszukiwania tworzą indeksy, które mapują terminy na zawierające je strony sieci Web.Search engines build indexes that map terms to the web pages that contain them. 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.But there are many other use cases that HBase is suitable for—several of which are itemized in this section.

  • Magazyn wartości kluczaKey-value store

    Baza danych HBase może być używana jako magazyn wartości klucza i nadaje się do zarządzania systemami obsługi wiadomości.HBase can be used as a key-value store, and it is suitable for managing message systems. Facebook używa bazy danych HBase na potrzeby systemu obsługi wiadomości, gdyż takie rozwiązanie idealnie nadaje się do przechowywania wiadomości i zarządzania komunikacją internetową.Facebook uses HBase for their messaging system, and it is ideal for storing and managing Internet communications. Usługa WebTable używa bazy danych HBase do wyszukiwania tabel wyodrębnianych ze stron sieci Web oraz zarządzania nimi.WebTable uses HBase to search for and manage tables that are extracted from webpages.

  • Dane czujnikówSensor data

    Baza danych HBase może służyć do przechwytywania danych gromadzonych przyrostowo z różnych źródeł.HBase is useful for capturing data that is collected incrementally from various sources. Dotyczy to analiz społecznościowych, szeregów czasowych, aktualizowania interaktywnych pulpitów nawigacyjnych przy użyciu trendów i liczników oraz zarządzania systemami dzienników inspekcji.This includes social analytics, time series, keeping interactive dashboards up-to-date with trends and counters, and managing audit log systems. Przykładami mogą być terminale transakcyjne Bloomberg oraz baza danych OpenTSDB (Open Time Series Database), która przechowuje i udostępnia metryki dotyczące kondycji systemów serwerowych.Examples include Bloomberg trader terminal and the Open Time Series Database (OpenTSDB), which stores and provides access to metrics collected about the health of server systems.

  • Zapytania w czasie rzeczywistymReal-time query

    Apache Phoenix jest aparatem zapytań SQL dla bazy danych Apache HBase.Apache Phoenix is a SQL query engine for Apache HBase. Jest on dostępny jako sterownik JDBC i umożliwia wykonywanie zapytań i zarządzanie tabelami HBase przy użyciu języka SQL.It is accessed as a JDBC driver, and it enables querying and managing HBase tables by using SQL.

  • HBase jako platformaHBase as a platform

    Aplikacje mogą działać w bazie danych HBase, wykorzystując ją jako magazyn danych.Applications can run on top of HBase by using it as a datastore. Przykłady obejmują Phoenix, OpenTSDB, Kiji i Titan.Examples include Phoenix, OpenTSDB, Kiji, and Titan. Aplikacje można również integrować z bazą danych HBase.Applications can also integrate with HBase. Przykłady obejmują Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, platformy Apache Spark , Ganglia, i Apache Drill.Examples include Apache Hive, Apache Pig, Solr, Apache Storm, Apache Flume, Apache Impala, Apache Spark , Ganglia, and Apache Drill.

Kolejne krokiNext steps