HBase Mimarisi: Bilmeniz Gereken Her Şey [2022]

Yayınlanan: 2021-01-06

Hem yapılandırılmış hem de yapılandırılmamış veriler katlanarak büyüyor ve Apache Hadoop bu kadar büyük verileri işlemede mükemmelliğini kanıtladı. Bu nedenle Apache Hadoop, büyük veri dünyasında büyük ilgi gördü. Ancak, Hadoop'un HDFS mimarisinde belirli sınırlamalar vardır.

HDFS, yüksek gecikmeli işlemler sağlar ve aynı anda büyük miktarda okuma ve yazma isteklerini işleyemez. Diğer bir sınırlama, HDFS'nin bir kez yazılan, birçok kez okunan bir mimari olmasıdır; bu, bir veri kümesini değiştirmek için bir dosyayı tamamen yeniden yazması gerektiği anlamına gelir. HDFS mimarisinin bu sınırlamaları, HBase mimarisine olan ihtiyacı artırdı .

İçindekiler

HBase nedir?

HBase, sınırlamalarının üstesinden gelmek için HDFS'nin üzerinde oluşturulmuş, sütun odaklı bir veri depolama mimarisidir. HDFS'nin temel özelliklerinden yararlanır ve büyük miktarda okuma ve yazma isteklerini gerçek zamanlı olarak işleyerek ölçeklenebilirlik sağlamak için bunun üzerine kuruludur. HBase mimarisi bir NoSQL veritabanı olmasına rağmen, küme içinde eşit olarak dağıtarak verileri koruma sürecini kolaylaştırır. Bu, HBase veri modelindeki verilere erişmeyi ve verileri değiştirmeyi hızlandırır. HBase hakkında daha fazla bilgi edinin.

HBase Veri Modelinin Bileşenleri nelerdir?

HBase veri modeli bir NoSQL veritabanı olduğundan, geliştiriciler gerektiğinde verileri kolayca okuyup yazabilir, bu da onu HDFS mimarisinden daha hızlı hale getirir. Aşağıdaki bileşenlerden oluşur:

1. HBase Tabloları : HBase mimarisi sütun odaklıdır; bu nedenle veriler, tablo tabanlı biçimde olan tablolarda depolanır.

2. RowKey : Kaydedilen her veri grubuna bir RowKey atanır. Bu, HBase tablolarında belirli verileri aramayı kolaylaştırır.

3. Sütunlar : Sütunlar, bir veri kümesinin farklı nitelikleridir. Her RowKey sınırsız sütuna sahip olabilir.

4. Sütun Ailesi : Sütun aileleri birkaç sütunun birleşimidir. Bir sütun ailesini okumak için tek bir istek, o ailedeki tüm sütunlara erişim sağlayarak verileri okumayı daha hızlı ve daha kolay hale getirir.

5. Sütun Niteleyicileri : Sütun niteleyicileri, normal bir tablodaki sütun başlıkları veya nitelik adları gibidir.

6. Hücre : RowKey ve sütun niteleyicileri kullanılarak tanımlanan bir satır-sütun tanımlama grubudur.

7. Zaman Damgası : HBase veri modelinde bir veri depolandığında, bir zaman damgası ile saklanır.

Okuyun: Hadoop Ekosisteminin Bileşenleri

HBase Mimarisinin Bileşenleri Nelerdir?

HBase mimarisi , HMaster, Region Server ve ZooKeeper olmak üzere üç ana bileşenden oluşur.

1. Usta

HMaster ismine benzer şekilde çalışır. Bölge Sunucusuna (bağımlı) bölgeleri atayan yöneticidir. HBase mimarisi , verileri korumak için bir Otomatik Parçalama işlemi kullanır. Bu süreçte bir HBase tablosu çok uzun olduğunda HMaster yardımıyla sistem tarafından dağıtılır. HMaster'ın tipik sorumluluklarından bazıları şunları içerir:

  • Yük devretmeyi kontrol edin
  • Bölge Sunucusunu ve Hadoop kümesini yönetin
  • Tablo oluşturma ve silme gibi DDL işlemlerini gerçekleştirin
  • Meta veri işlemlerindeki değişiklikleri yönetin
  • Bölgeleri Bölge Sunucularına yönetin ve atayın
  • İstekleri kabul eder ve ilgili Bölge Sunucusuna gönderir

2. Bölge Sunucusu

Bölge Sunucuları, tüm kullanıcı isteklerini işleyen uç düğümlerdir. Birkaç bölge, tek bir Bölge Sunucusunda birleştirilir. Bu bölgeler, belirtilen anahtarlar arasındaki tüm satırları içerir. Kullanıcı isteklerini işlemek, yürütülmesi karmaşık bir iştir ve bu nedenle, Bölge Sunucuları, istekleri yönetmeyi sorunsuz hale getirmek için dört farklı bileşene ayrılır.

  • İleriye Yazma Günlüğü (WAL) : WAL, her Bölge Sunucusuna eklenir ve henüz sürücüye kaydedilmemiş bir tür geçici veri depolar.
  • Blok Önbelleği : Bir okuma isteği önbelleğidir; tüm son okunan veriler blok önbelleğinde saklanır. Sık kullanılmayan veriler dolduğunda stoktan otomatik olarak kaldırılır.
  • MemStore : Henüz diske yazılmamış verileri depolamaktan sorumlu olan bir yazma önbelleğidir.
  • HFile : HFile, taahhütten sonra tüm gerçek verileri saklar.

3. Hayvan bakıcısı

ZooKeeper, HBase mimarisinin iletişimi boyunca köprü görevi görür . Tüm Bölge Sunucularının ve bunların içindeki bölgelerin takibinden sorumludur. Hangi Bölge Sunucularının ve HMaster'ın etkin olduğunu ve hangilerinin başarısız olduğunu izlemek de ZooKeeper'ın görevlerinin bir parçasıdır. Bir Sunucu Bölgesinin başarısız olduğunu tespit ettiğinde, HMaster'ı gerekli işlemleri yapması için tetikler. Öte yandan, HMaster'ın kendisi başarısız olursa, uyarıdan sonra aktif hale gelen etkin olmayan HMaster'ı tetikler. Her kullanıcının ve hatta HMaster'ın, Bölge Sunucularına ve içindeki verilere erişmek için ZooKeeper'dan geçmesi gerekir. ZooKeeper , tüm Bölge Sunucularının bir listesini içeren bir .Meta dosyası saklar . ZooKeeper'ın sorumlulukları şunları içerir:

  • Hadoop kümesi genelinde iletişim kurma
  • Yapılandırma bilgilerinin bakımı
  • İzleme Bölgesi Sunucusu ve HMaster hatası
  • Bölge Sunucusu bilgilerinin bakımı

İstekler HBase mimarisinde nasıl işlenir?

Artık HBase mimarisinin ana bileşenlerini ve işlevlerini bildiğimize göre, mimari boyunca isteklerin nasıl işlendiğini derinlemesine inceleyelim.

1. HBase Mimarisinde Aramaya Başlayın

Aramayı başlatma adımları şunlardır:

  1. Kullanıcı, Meta tablosunu ZooKeeper'dan alır ve ardından ilgili Bölge Sunucusunun konumunu ister.
  2. Daha sonra kullanıcı, RowKey yardımıyla Bölge Sunucusundan kesin verileri isteyecektir.

2. HBase Mimarisinde Yazma Mekanizması

HBase mimarisinde yazma adımları şunlardır:

  1. İstemcinin önce Bölge Sunucusunu bulması ve ardından onu değiştirmek için verilerin konumunu bulması gerekir. (Bu adım yalnızca verileri dönüştürmek içindir ve yeni bilgiler yazmak için değildir)
  2. Gerçek yazma isteği, istemcinin verileri yazdığı WAL'de başlar.
  3. WAL, verileri MemStore'a aktarır ve kullanıcıya bir alındı ​​bilgisi gönderir.
  4. MemStore verilerle dolduğunda, verileri depolandığı HFile'a taahhüt eder.

3. HBase Mimarisindeki Mekanizmayı Okuyun

Herhangi bir veriyi okumak için kullanıcının önce ilgili Bölge Sunucusuna erişmesi gerekir. Bölge Sunucusu bilindiğinde, diğer süreç şunları içerir:

  1. İlk tarama, Blok önbelleği olan okuma önbelleğinde yapılır.
  2. Sonraki tarama konumu, yazma önbelleği olan MemStore'dur.
  3. Veriler blok önbellekte veya MemStore'da bulunmazsa, tarayıcı verileri HFile'dan alacaktır.

HBase Mimarisinde Veri Kurtarma Nasıl Çalışır?

Hbase mimarisi , kümedeki veri yükünü azaltmak için sıkıştırma ve bölge ayırma yoluyla verileri parçalar. Ancak, bir çökme varsa ve kurtarma gerekiyorsa, bu şu şekilde yapılır:

  1. ZooKeeper, bir sunucu hatası oluştuğunda HMaster'ı tetikler.
  2. HMaster, çökmüş bölgeleri ve WAL'yi etkin Bölge Sunucularına dağıtır.
  3. Bu Bölge Sunucuları, WAL'yi yeniden yürütür ve MemStore'u oluşturur.
  4. Tüm Bölge Sunucuları WAL'yi yeniden çalıştırdığında, sütun aileleriyle birlikte tüm veriler kurtarılır.

Ödeme: Hadoop Ekosistemi ve Bileşenleri

Sonuç olarak

Veriler, çeşitli endüstrilerde yeni petrol haline geldi. Dolayısıyla Hadoop'ta birden fazla kariyer fırsatı var. UpGrad'da Hadoop ve Büyük Veri hakkında her şeyi öğrenebilirsiniz .

Hbase, Büyük Veri hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 7+ vaka çalışması ve proje sağlayan, 14 programlama dilini ve aracını, pratik elleri kapsayan Büyük Veride Yazılım Geliştirme Uzmanlığı programında PG Diplomamıza göz atın -Atölyelerde, en iyi firmalarla 400 saatten fazla titiz öğrenim ve işe yerleştirme yardımı.

Dünyanın En İyi Üniversitelerinden Online Yazılım Geliştirme Kursları öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Geleceğin Teknolojisinde Ustalaşın - Büyük Veri

400+ SAAT ÖĞRENME. 14 DİL VE ARAÇLAR. IIIT-B MEZUN STATÜSÜ.
IIIT Bangalore'den Büyük Veride Gelişmiş Sertifika Programı