HBaz Archidoku: Kullanım Durumları, Bileşenler ve Veri Modeli
HBaz ArchiYapı ve Önemli Bileşenleri
HBase mimarisi esas olarak dört bileşenden oluşur
- Usta
- HBölge sunucusu
- HBölgeler
- Zookeeper
- HDFS
Aşağıda HBase'in bileşenleriyle birlikte detaylı bir mimarisi bulunmaktadır:
Usta
Usta HBase'de, HBase mimarisinde bir Master sunucusunun uygulanmasıdır. Kümede bulunan tüm Bölge Sunucusu örneklerini izlemek için bir izleme aracısı olarak işlev görür ve tüm meta veri değişiklikleri için bir arayüz görevi görür. Dağıtılmış bir küme ortamında, Master NameNode üzerinde çalışır. Master, birkaç arka plan iş parçacığını çalıştırır.
Aşağıda HMaster'ın HBase'de üstlendiği önemli roller listelenmiştir.
- Performans ve kümedeki düğümlerin bakımı açısından hayati bir rol oynar.
- HMaster, yönetici performansı sağlar ve hizmetleri farklı bölge sunucularına dağıtır.
- HMaster bölgeleri bölge sunucularına atar.
- HMaster, kümede mevcut düğümler üzerindeki yükü yönetmek için yük dengelemeyi ve yük devretmeyi kontrol etme gibi özelliklere sahiptir.
- Bir müşteri herhangi bir şemayı ve herhangi bir Meta Veri işlemini değiştirmek istediğinde, HMaster bu işlemlerin sorumluluğunu üstlenir.
HMaster Arayüzü tarafından sunulan yöntemlerden bazıları öncelikle Meta Veri odaklı yöntemlerdir.
- Tablo (createTable, RemoveTable, etkinleştirme, devre dışı bırakma)
- ColumnFamily (Sütun ekleyin, Sütunu değiştirin)
- Bölge (taşıma, atama)
İstemci hem HMaster hem de ZooKeeper ile çift yönlü bir şekilde iletişim kurar. Okuma ve yazma işlemleri için doğrudan HRegion sunucuları ile iletişim kurar. HMaster, bölgeleri bölge sunucularına atar ve ardından bölge sunucularının sağlık durumunu kontrol eder.
Tüm mimaride birden fazla bölge sunucumuz var. Bölge sunucularında tüm günlük dosyalarını depolayacak olan Hlog mevcut.
HBase Bölge Sunucuları
HBase Bölge Sunucusu istemciden yazma ve okuma istekleri aldığında, isteği gerçek sütun ailesinin bulunduğu belirli bir bölgeye atar. Ancak istemci HRegion sunucularıyla doğrudan iletişim kurabilir, HRegion sunucularıyla iletişim konusunda istemcinin HMaster'ın zorunlu iznine ihtiyacı yoktur. İstemci, meta veriler ve şema değişiklikleriyle ilgili işlemler gerektiğinde HMaster yardımına ihtiyaç duyar.
HRegionServer Bölge Sunucusu uygulamasıdır. Dağıtılmış bir kümede bulunan bölgelerin veya verilerin sunulmasından ve yönetilmesinden sorumludur. Bölge sunucuları Hadoop kümesinde bulunan Veri Düğümleri üzerinde çalışır.
HMaster birden fazla HRegion sunucusuyla bağlantı kurabilir ve aşağıdaki işlevleri gerçekleştirir.
- Bölgeleri barındırma ve yönetme
- Bölgeleri otomatik olarak bölme
- Okuma ve yazma isteklerini işleme
- Müşteriyle doğrudan iletişim kurmak
HBase Bölgeleri
HRegions, tabloların dağılımından oluşan ve Sütun ailelerinden oluşan HBase kümesinin temel yapı elemanlarıdır. Her sütun ailesi için bir tane olmak üzere birden fazla mağaza içerir. Temel olarak Memstore ve Hfile olmak üzere iki bileşenden oluşur.
hayvan bakıcısı
HBase Zookeeper, yapılandırma bilgilerini koruyan ve dağıtılmış senkronizasyon sağlayan merkezi bir izleme sunucusudur. Dağıtılmış senkronizasyon, düğümler arasında koordinasyon hizmetleri sağlama sorumluluğuyla küme genelinde çalışan dağıtılmış uygulamalara erişmektir. İstemci bölgelerle iletişim kurmak istiyorsa, sunucunun istemcisinin önce ZooKeeper'a yaklaşması gerekir.
Açık kaynaklı bir projedir ve pek çok önemli hizmet sunmaktadır.
Tarafından sağlanan hizmetler hayvan bakıcısı
- Yapılandırma bilgilerini korur
- Dağıtılmış senkronizasyon sağlar
- Bölge sunucuları ile Client Communication kurulması
- Farklı bölge sunucularını temsil eden geçici düğümler sağlar
- Kümedeki kullanılabilir sunucuları keşfetmek için ana sunucuların geçici düğümlerin kullanılabilirliği
- Sunucu arızasını ve ağ bölümlerini izlemek için
Ana ve HBase yardımcı düğümleri (bölge sunucuları) kendilerini ZooKeeper'a kaydettirdi. İstemcinin, ana ve bölge sunucularına bağlanmak için ZK(zookeeper) çekirdek yapılandırmasına erişmesi gerekiyor.
HBase kümesinde bulunan düğümlerin arızalanması sırasında ZKquoram, hata mesajlarını tetikler ve arızalı düğümleri onarmaya başlar.
HDFS
HDFS, dağıtılmış bir Hadoop'tur dosya SistemiAdından da anlaşılacağı gibi depolama için dağıtılmış bir ortam sağlayan ve emtia donanımları üzerinde çalışacak şekilde tasarlanmış bir dosya sistemidir. Her dosyayı birden fazla blokta saklar ve hata toleransını korumak için bloklar bir Hadoop kümesinde çoğaltılır.
HDFS, yüksek derecede hata toleransı sağlar ve ucuz donanımla çalışır. Kümeye düğümlerin eklenmesi ve ucuz emtia donanımını kullanarak işleme ve depolamanın gerçekleştirilmesi, müşteriye mevcut olana göre daha iyi sonuçlar verecektir.
Burada her blokta saklanan veriler 3 düğüme kopyalanır, herhangi bir düğümün arızalanması durumunda veri kaybı olmaz, uygun bir yedekleme kurtarma mekanizmasına sahip olur.
HDFS HBase bileşenleriyle iletişim kurar ve büyük miktarda veriyi dağıtılmış bir şekilde depolar.
HBase Veri Modeli
HBase Veri Modeli Tablolar, Satırlar, Sütun aileleri, Hücreler, Sütunlar ve Sürümlerden oluşan bir bileşenler kümesidir. HBase tabloları, Birincil anahtarlar olarak tanımlanan öğelere sahip sütun ailelerini ve satırları içerir. HBase veri modeli tablosundaki bir sütun, nesnelerin niteliklerini temsil eder.
HBase Veri Modeli aşağıdaki unsurlardan oluşur:
- Tablo seti
- Sütun aileleri ve satırları içeren her tablo
- Her tabloda Birincil Anahtar olarak tanımlanan bir öğe bulunmalıdır.
- Satır anahtarı HBase'de Birincil anahtar görevi görür.
- HBase tablolarına herhangi bir erişim bu Birincil Anahtarı kullanır
- HBase'de bulunan her sütun, nesneye karşılık gelen özniteliği belirtir
HBase Kullanım Durumları
Aşağıda, çeşitli teknik sorunlara sağladığı çözümün ayrıntılı açıklamasıyla birlikte HBase kullanım örnekleri yer almaktadır
Sorun bildirimi | Çözüm |
---|---|
Telekom Endüstrisi Teknik zorluklarla karşı karşıya
|
HBase, milyarlarca satır ayrıntılı çağrı kaydı depolamak için kullanılır. Mevcut RDBMS veritabanına ayda 20 TB veri eklenirse, performans düşecektir. Bu kullanım durumunda büyük miktarda veriyi işlemek için HBase en iyi çözümdür. HBase hızlı sorgulama gerçekleştirir ve kayıtları görüntüler. |
The Bankacılık sektörü Her gün milyonlarca kayıt üretir. Buna ek olarak bankacılık sektörünün para işlemlerinde dolandırıcılığı tespit edebilecek bir analitik çözümüne de ihtiyacı var. | Büyük miktarda veriyi depolamak, işlemek, güncellemek ve analitik gerçekleştirmek için ideal çözüm, Hadoop ekosisteminin çeşitli bileşenleriyle entegre edilmiş HBase'dir. |
Bunun dışında HBase kullanılabilir
- Ağır uygulamalar yazmaya ihtiyaç duyulduğunda.
- Çevrimiçi günlük analizi gerçekleştirmek ve uyumluluk raporları oluşturmak.
HBase'de Depolama Mekanizması
HBase sütun odaklı bir veritabanıdır ve veriler tablolarda saklanır. Tablolar RowId'ye göre sıralanır. Aşağıda gösterildiği gibi HBase, tabloda mevcut olan çeşitli sütun ailelerinin koleksiyonu olan RowId'ye sahiptir.
Şemada bulunan sütun aileleri anahtar/değer çiftleridir. Ayrıntılı olarak incelersek her sütun ailesinde birden fazla sayıda sütun bulunur. Sütun değerleri disk belleğinde saklanır. Tablonun her hücresinin zaman damgası ve diğer bilgiler gibi kendi Meta Verileri vardır.
HBase'e gelince, tablo şemasını temsil eden temel terimler şunlardır:
- tablo: Mevcut satırların toplanması.
- Sıra: Sütun ailelerinin toplanması.
- Sütun Ailesi: Sütunların toplanması.
- Sütun: Anahtar/değer çiftlerinin toplanması.
- Ad alanı: Tabloların mantıksal gruplandırılması.
- Hücre: Bir {satır, sütun, sürüm} tanımlama grubu, HBase'deki bir hücre tanımını tam olarak belirtir.
Sütun odaklı ve Satır odaklı depolamalar
Sütun ve Satır odaklı depolamalar, depolama mekanizmaları bakımından farklılık gösterir. Hepimizin bildiği gibi geleneksel ilişkisel modeller, verileri veri satırları gibi satır tabanlı formatta saklar. Sütun odaklı depolar, veri tablolarını sütunlar ve sütun aileleri açısından saklar.
Aşağıdaki Tablo bu iki depolama arasındaki bazı temel farkları göstermektedir
Sütun Odaklı Veritabanı | Satır odaklı Veritabanı |
---|---|
Süreç ve analitik söz konusu olduğunda bu yaklaşımı kullanıyoruz. Örneğin Çevrimiçi analitik işleme ve uygulamalar. | Çevrimiçi İşlem süreci Bankacılık ve finans gibi alanlar bu yaklaşımı kullanıyor. |
Bu modelde depolanabilecek veri miktarı petabayt gibi çok büyük. | Az sayıda satır ve sütun için tasarlanmıştır. |
HBase Okuma ve Yazma Verilerinin Açıklaması
İstemciden Hfile'a Okuma ve Yazma işlemleri aşağıdaki şemada gösterilebilir.
) 1 Adım İstemci veri yazmak ister ve önce Bölge sunucusuyla, ardından bölgelerle iletişim kurar
) 2 Adım Sütun ailesiyle ilişkili depolama için memstore ile iletişim kuran bölgeler
) 3 Adım İlk olarak veriler, verilerin sıralandığı Memstore'da depolanır ve ardından HFile'a aktarılır. Memstore'u kullanmanın ana nedeni, verileri Satır Anahtarına dayalı Dağıtılmış dosya sisteminde depolamaktır. HFiles HDFS'ye yazılırken Memstore Bölge sunucusu ana belleğine yerleştirilecektir.
) 4 Adım Müşteri Bölgelerden veri okumak istiyor
) 5 Adım Buna karşılık Müşteri, Mem deposuna doğrudan erişime sahip olabilir ve veri talebinde bulunabilir.
Adım 6) İstemci verileri almak için HFiles'a yaklaşır. Veriler Müşteri tarafından alınır ve alınır.
Memstore, mağazada yapılan bellek içi değişiklikleri tutar. HBase Bölgelerindeki nesnelerin hiyerarşisi aşağıdaki tabloda yukarıdan aşağıya doğru gösterilmiştir.
tablo | HBase kümesinde bulunan HBase tablosu |
Bölge | Sunulan tablolar için HBölgeler |
mağaza | Tablonun her bölgesi için ColumnFamily başına depolar |
hafıza deposu |
|
MağazaDosyası | Tablonun her bölgesi için her mağazaya ait StoreFiles |
Engellemek | StoreFiles'ın içinde bulunan bloklar |
HBase ve HDFS karşılaştırması
HBase, HDFS'nin üzerinde çalışır ve Hadoop'un. HDFS ve HBase arasındaki bazı önemli farklar veri işlemleri ve işleme açısındandır.
HBASE | HDFS |
---|---|
Düşük gecikmeli işlemler | Yüksek gecikmeli işlemler |
Rastgele okuma ve yazma | Bir kez yaz Birçok kez oku |
Şununla erişildi: kabuk komutları, istemci API'si Java, REST, Avro veya Tasarruflu | Öncelikle MR (Harita Azaltma) işleri yoluyla erişilir |
Hem depolama hem de işlem gerçekleştirilebilir | Sadece depolama alanları içindir |
Bazı tipik BT endüstriyel uygulamaları, Hadoop ile birlikte HBase işlemlerini kullanır. Uygulamalar arasında borsa verileri, çevrimiçi bankacılık veri işlemleri ve Hbase'in işlenmesi en uygun çözüm yöntemidir.
ÖZET
- HBase mimarisi bileşenleri: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
- HBase'deki HMaster, HBase mimarisindeki Master sunucunun uygulanmasıdır.
- HBase Bölge Sunucusu istemciden yazma ve okuma istekleri aldığında, isteği gerçek sütun ailesinin bulunduğu belirli bir bölgeye atar.
- HRegions, tabloların dağılımından oluşan ve Sütun ailelerinden oluşan HBase kümesinin temel yapı elemanlarıdır.
- HBase Zookeeper, yapılandırma bilgilerini koruyan ve dağıtılmış senkronizasyon sağlayan merkezi bir izleme sunucusudur.
- HDFS, yüksek derecede hata toleransı sağlar ve ucuz donanımla çalışır.
- HBase Veri Modeli, Tablolar, Satırlar, Sütun aileleri, Hücreler, Sütunlar ve Sürümlerden oluşan bir bileşenler kümesidir.
- Sütun ve Satır odaklı depolamalar, depolama mekanizmaları bakımından farklılık gösterir.