Architektura HBase: wszystko, co musisz wiedzieć [2022]
Opublikowany: 2021-01-06Zarówno dane strukturalne, jak i nieustrukturyzowane rosną wykładniczo, a Apache Hadoop dowiódł swojej doskonałości w obsłudze tak ogromnych danych. W związku z tym Apache Hadoop zyskał dużą popularność w świecie Big Data. Istnieją jednak pewne ograniczenia architektury HDFS platformy Hadoop.
HDFS generuje operacje o dużym opóźnieniu i nie może jednocześnie obsłużyć dużej liczby żądań odczytu i zapisu. Innym ograniczeniem jest to, że HDFS jest architekturą wielokrotnego zapisu jednokrotnego odczytu, co oznacza, że musi całkowicie przepisać plik, aby zmienić zestaw danych. Te ograniczenia architektury HDFS spowodowały wzrost zapotrzebowania na architekturę HBase .
Spis treści
Co to jest HBase?
HBase to architektura przechowywania danych zorientowana na kolumny, która jest tworzona na bazie HDFS w celu przezwyciężenia jej ograniczeń. Wykorzystuje podstawowe funkcje HDFS i opiera się na nim, aby zapewnić skalowalność, obsługując dużą liczbę żądań odczytu i zapisu w czasie rzeczywistym. Chociaż architektura HBase jest bazą danych NoSQL, ułatwia proces utrzymywania danych poprzez równomierne ich dystrybuowanie w klastrze. Dzięki temu dostęp do danych w modelu danych HBase i ich modyfikowanie są szybkie. Dowiedz się więcej o HBase.
Jakie są składniki modelu danych HBase?
Ponieważ model danych HBase jest bazą danych NoSQL, programiści mogą łatwo odczytywać i zapisywać dane w razie potrzeby, dzięki czemu jest szybszy niż architektura HDFS. Składa się z następujących elementów:
1. Tabele HBase : architektura HBase jest zorientowana na kolumny; dlatego dane są przechowywane w tabelach, które są w formacie tabelarycznym.
2. RowKey : RowKey jest przypisywany do każdego zarejestrowanego zestawu danych. Ułatwia to wyszukiwanie określonych danych w tabelach HBase.

3. Kolumny : Kolumny to różne atrybuty zbioru danych. Każdy RowKey może mieć nieograniczoną liczbę kolumn.
4. Rodzina kolumn : rodziny kolumn są kombinacją kilku kolumn. Pojedyncze żądanie odczytu rodziny kolumn daje dostęp do wszystkich kolumn w tej rodzinie, co przyspiesza i ułatwia odczytywanie danych.
5. Kwalifikatory kolumn : Kwalifikatory kolumn są jak tytuły kolumn lub nazwy atrybutów w normalnej tabeli.
6. Cell : Jest to krotka wiersz-kolumna, która jest identyfikowana za pomocą kwalifikatorów RowKey i kolumny.
7. Znacznik czasu : Zawsze, gdy dane są przechowywane w modelu danych HBase, są one przechowywane ze znacznikiem czasu.
Przeczytaj: Składniki ekosystemu Hadoop
Jakie są składniki architektury HBase?
Architektura HBase składa się z trzech głównych komponentów: HMaster, Region Server i ZooKeeper.
1. HMaster
HMaster działa podobnie do swojej nazwy. Jest to urządzenie główne, które przypisuje regiony do serwera regionu (podrzędnego). Architektura HBase używa procesu Auto Sharding do przechowywania danych. W tym procesie za każdym razem, gdy tabela HBase staje się zbyt długa, jest ona dystrybuowana przez system za pomocą HMaster. Niektóre z typowych obowiązków HMaster obejmują:
- Kontroluj przełączanie awaryjne
- Zarządzaj serwerem regionu i klastrem Hadoop
- Obsługuj operacje DDL, takie jak tworzenie i usuwanie tabel
- Zarządzaj zmianami w operacjach na metadanych
- Zarządzaj regionami i przypisuj je do serwerów regionalnych
- Zaakceptuj żądania i wyślij je do odpowiedniego serwera regionalnego
2. Serwer regionu
Serwery regionu to węzły końcowe, które obsługują wszystkie żądania użytkowników. Kilka regionów jest połączonych w jednym serwerze regionu. Regiony te zawierają wszystkie wiersze między określonymi kluczami. Obsługa żądań użytkowników jest złożonym zadaniem do wykonania, dlatego serwery regionalne są dalej podzielone na cztery różne komponenty, aby zarządzanie żądaniami było bezproblemowe.
- Dziennik zapisu z wyprzedzeniem (WAL) : WAL jest dołączony do każdego serwera regionu i przechowuje rodzaj danych tymczasowych, które nie zostały jeszcze zatwierdzone na dysku.
- Pamięć podręczna bloku : jest to pamięć podręczna żądań odczytu; wszystkie ostatnio odczytane dane są przechowywane w pamięci podręcznej bloków. Dane, które nie są często używane, są automatycznie usuwane z magazynu, gdy jest on pełny.
- MemStore : Jest to pamięć podręczna zapisu odpowiedzialna za przechowywanie danych, które nie zostały jeszcze zapisane na dysku.
- HFile : HFile przechowuje wszystkie rzeczywiste dane po zobowiązaniu.
3. ZooKeeper
ZooKeeper działa jako pomost w komunikacji architektury HBase . Jest odpowiedzialny za śledzenie wszystkich serwerów regionalnych i regionów, które się na nich znajdują. Monitorowanie, które serwery regionu i HMaster są aktywne, a które uległy awarii, również należy do obowiązków ZooKeepera. Gdy stwierdzi, że region serwera uległ awarii, powoduje, że HMaster podejmuje niezbędne działania. Z drugiej strony, jeśli sam HMaster ulegnie awarii, uruchamia nieaktywny HMaster, który staje się aktywny po alercie. Każdy użytkownik, a nawet HMaster, musi przejść przez ZooKeeper, aby uzyskać dostęp do serwerów regionalnych i zawartych w nich danych. ZooKeeper przechowuje plik .Meta , który zawiera listę wszystkich serwerów regionalnych. Do obowiązków ZooKeepera należą:

- Nawiązanie komunikacji w klastrze Hadoop
- Utrzymywanie informacji o konfiguracji
- Awaria serwera regionu śledzenia i HMaster
- Utrzymywanie informacji o serwerze regionu
Jak obsługiwane są żądania w architekturze HBase?
Teraz, ponieważ znamy główne składniki architektury HBase i ich funkcje, zagłębimy się w sposób, w jaki żądania są obsługiwane w całej architekturze.
1. Rozpocznij wyszukiwanie w architekturze HBase
Kroki, aby zainicjować wyszukiwanie to:
- Użytkownik pobiera tabelę Meta z ZooKeeper, a następnie żąda lokalizacji odpowiedniego serwera regionu.
- Następnie użytkownik zażąda dokładnych danych z serwera regionu za pomocą RowKey.
2. Mechanizm zapisu w architekturze HBase
Kroki do pisania w architekturze HBase to:
- Klient będzie musiał najpierw znaleźć serwer regionu, a następnie lokalizację danych, aby go zmienić. (Ten krok dotyczy tylko konwersji danych, a nie pisania świeżych informacji)
- Rzeczywiste żądanie zapisu rozpoczyna się w WAL, gdzie klient zapisuje dane.
- WAL przesyła dane do MemStore i wysyła potwierdzenie do użytkownika.
- Gdy MemStore jest wypełniony danymi, przekazuje dane do HFile, gdzie są przechowywane.
3. Mechanizm odczytu w architekturze HBase
Aby odczytać jakiekolwiek dane, użytkownik musi najpierw uzyskać dostęp do odpowiedniego serwera regionalnego. Gdy znany jest serwer regionu, drugi proces obejmuje:

- Pierwsze skanowanie jest wykonywane w pamięci podręcznej odczytu, która jest pamięcią podręczną bloków.
- Następna lokalizacja skanowania to MemStore, czyli pamięć podręczna zapisu.
- Jeśli dane nie zostaną znalezione w pamięci podręcznej bloków lub MemStore, skaner pobierze dane z HFile.
Jak działa odzyskiwanie danych w architekturze HBase?
Architektura Hbase rozdziela dane przez kompaktowanie i podział na regiony, aby zmniejszyć obciążenie danych w klastrze. Jeśli jednak nastąpi awaria i konieczne jest odzyskanie, należy to zrobić w następujący sposób:
- ZooKeeper wyzwala HMaster, gdy wystąpi awaria serwera.
- HMaster dystrybuuje uszkodzone regiony i WAL do aktywnych serwerów regionalnych.
- Te serwery regionalne ponownie wykonują WAL i budują MemStore.
- Gdy wszystkie serwery regionu ponownie wykonają WAL, odzyskane zostaną wszystkie dane wraz z rodzinami kolumn.
Zamówienie: ekosystem i komponenty Hadoop
Konkluzja
Dane stały się nową ropą w różnych branżach. Dlatego w Hadoop istnieje wiele możliwości kariery. Możesz dowiedzieć się wszystkiego o Hadoop i Big Data na upGrad .
Jeśli chcesz dowiedzieć się więcej o Hbase, Big Data, sprawdź nasz program PG Diploma in Software Development Specialization in Big Data, który jest przeznaczony dla pracujących profesjonalistów i zawiera ponad 7 studiów przypadków i projektów, obejmuje 14 języków programowania i narzędzi, praktyczne wskazówki -na warsztatach, ponad 400 godzin rygorystycznej pomocy w nauce i pośrednictwie pracy w najlepszych firmach.
Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.