สถาปัตยกรรม HBase: ทุกสิ่งที่คุณต้องการรู้ [2022]

เผยแพร่แล้ว: 2021-01-06

ทั้งข้อมูลที่มีโครงสร้างและไม่มีโครงสร้างมีการเติบโตแบบทวีคูณ และ Apache Hadoop ได้พิสูจน์ความเป็นเลิศในการจัดการข้อมูลขนาดใหญ่ดังกล่าว ดังนั้น Apache Hadoop จึงได้รับความสนใจอย่างมากในโลกของข้อมูลขนาดใหญ่ อย่างไรก็ตาม มีข้อจำกัดบางประการสำหรับสถาปัตยกรรม HDFS ของ Hadoop

HDFS ส่งออกการดำเนินการที่มีเวลาแฝงสูงและไม่สามารถจัดการคำขออ่านและเขียนจำนวนมากพร้อมกันได้ ข้อจำกัดอีกประการหนึ่งคือ HDFS เป็นสถาปัตยกรรมแบบเขียนครั้งเดียวอ่านหลายครั้ง ซึ่งหมายความว่าต้องเขียนไฟล์ใหม่ทั้งหมดเพื่อแก้ไขชุดข้อมูล ข้อจำกัดเหล่านี้ของสถาปัตยกรรม HDFS ทำให้ความต้องการ สถาปัตยกรรม HBase

สารบัญ

HBase คืออะไร?

HBase เป็นสถาปัตยกรรมการจัดเก็บข้อมูลเชิงคอลัมน์ที่สร้างขึ้นบน HDFS เพื่อเอาชนะข้อจำกัด โดยใช้ประโยชน์จากคุณสมบัติพื้นฐานของ HDFS และสร้างขึ้นมาเพื่อให้สามารถปรับขยายได้โดยการจัดการคำขออ่านและเขียนปริมาณมากในแบบเรียลไทม์ แม้ว่า สถาปัตยกรรม HBase จะเป็นฐานข้อมูล NoSQL แต่ก็ช่วยลดขั้นตอนในการรักษาข้อมูลด้วยการกระจายข้อมูลอย่างเท่าเทียมกันทั่วทั้งคลัสเตอร์ ทำให้เข้าถึงและเปลี่ยนแปลงข้อมูลในโมเดลข้อมูล HBase ได้อย่างรวดเร็ว เรียนรู้เพิ่มเติมเกี่ยวกับ HBase

ส่วนประกอบของแบบจำลองข้อมูล HBase คืออะไร?

เนื่องจากโมเดลข้อมูล HBase เป็นฐานข้อมูล NoSQL นักพัฒนาจึงสามารถอ่านและเขียนข้อมูลได้อย่างง่ายดายเมื่อจำเป็น ทำให้เร็วกว่าสถาปัตยกรรม HDFS ประกอบด้วยส่วนประกอบดังต่อไปนี้:

1. ตาราง HBase : สถาปัตยกรรม HBase เป็นแบบคอลัมน์ ดังนั้นข้อมูลจะถูกเก็บไว้ในตารางที่อยู่ในรูปแบบตาราง

2. RowKey : RowKey ถูกกำหนดให้กับทุกชุดข้อมูลที่บันทึกไว้ ทำให้ง่ายต่อการค้นหาข้อมูลเฉพาะในตาราง HBase

3. คอลัมน์ : คอลัมน์คือคุณลักษณะต่างๆ ของชุดข้อมูล RowKey แต่ละอันสามารถมีคอลัมน์ได้ไม่จำกัด

4. ตระกูล คอลัมน์ : ตระกูลคอลัมน์เป็นการรวมกันของหลายคอลัมน์ คำขออ่านกลุ่มคอลัมน์เพียงครั้งเดียวทำให้สามารถเข้าถึงคอลัมน์ทั้งหมดในตระกูลนั้นได้ ทำให้อ่านข้อมูลได้เร็วและง่ายขึ้น

5. ตัวระบุคอลัมน์ : ตัวระบุคอลัมน์เหมือนกับชื่อคอลัมน์หรือชื่อแอตทริบิวต์ในตารางปกติ

6. เซลล์ : เป็นทูเพิลแถว-คอลัมน์ที่ระบุโดยใช้ RowKey และตัวระบุคอลัมน์

7. การประทับเวลา : เมื่อใดก็ตามที่ข้อมูลถูกเก็บไว้ในแบบจำลองข้อมูล HBase ข้อมูลนั้นจะถูกจัดเก็บด้วยการประทับเวลา

อ่าน: ส่วนประกอบของระบบนิเวศ Hadoop

ส่วนประกอบของสถาปัตยกรรม HBase คืออะไร?

สถาปัตยกรรม HBase ประกอบด้วยสามองค์ประกอบหลัก HMaster, Region Server และ ZooKeeper

1. HMaster

HMaster ทำงานคล้ายกับชื่อของมัน เป็นต้นแบบที่กำหนดภูมิภาคให้กับเซิร์ฟเวอร์ภูมิภาค (ทาส) สถาปัตยกรรม HBase ใช้กระบวนการ Auto Sharding เพื่อรักษาข้อมูล ในกระบวนการนี้ เมื่อใดก็ตามที่ตาราง HBase ยาวเกินไป ระบบจะแจกจ่ายตารางโดยใช้ HMaster ความรับผิดชอบทั่วไปบางประการของ HMaster รวมถึง:

  • ควบคุมการเฟลโอเวอร์
  • จัดการเซิร์ฟเวอร์ภูมิภาคและคลัสเตอร์ Hadoop
  • จัดการการทำงานของ DDL เช่น การสร้างและการลบตาราง
  • จัดการการเปลี่ยนแปลงในการดำเนินการข้อมูลเมตา
  • จัดการและกำหนดภูมิภาคให้กับเซิร์ฟเวอร์ภูมิภาค
  • ยอมรับคำขอและส่งไปยังเซิร์ฟเวอร์ภูมิภาคที่เกี่ยวข้อง

2. เซิร์ฟเวอร์ภูมิภาค

เซิร์ฟเวอร์ภูมิภาคคือโหนดปลายทางที่จัดการคำขอของผู้ใช้ทั้งหมด หลายภูมิภาคถูกรวมเข้าด้วยกันภายในเซิร์ฟเวอร์ภูมิภาคเดียว ภูมิภาคเหล่านี้ประกอบด้วยแถวทั้งหมดระหว่างคีย์ที่ระบุ การจัดการคำขอของผู้ใช้เป็นงานที่ซับซ้อนในการดำเนินการ และด้วยเหตุนี้เซิร์ฟเวอร์ภูมิภาคจึงแบ่งออกเป็นสี่องค์ประกอบที่แตกต่างกันเพื่อให้การจัดการคำขอเป็นไปอย่างราบรื่น

  • บันทึกการเขียนล่วงหน้า (WAL) : WAL แนบมากับทุกเซิร์ฟเวอร์ของภูมิภาคและจัดเก็บข้อมูลชั่วคราวประเภทที่ยังไม่ได้ส่งไปยังไดรฟ์
  • Block Cache : เป็นแคชคำขออ่าน ข้อมูลที่อ่านล่าสุดทั้งหมดจะถูกเก็บไว้ในบล็อกแคช ข้อมูลที่ไม่ได้ใช้บ่อยจะถูกลบออกจากสต็อกโดยอัตโนมัติเมื่อเต็ม
  • MemStore : เป็นแคชการเขียนที่รับผิดชอบในการจัดเก็บข้อมูลที่ยังไม่ได้เขียนลงดิสก์
  • HFile : HFile เก็บข้อมูลจริงทั้งหมดหลังจากสัญญาผูกมัด

3. ZooKeeper

ZooKeeper ทำหน้าที่เป็นสะพานข้ามการสื่อสารของ สถาปัตยกรรม HBase มีหน้าที่ในการติดตามเซิร์ฟเวอร์ภูมิภาคทั้งหมดและภูมิภาคที่อยู่ภายใน การตรวจสอบว่าเซิร์ฟเวอร์ภูมิภาคและ HMaster ใดทำงานอยู่และเซิร์ฟเวอร์ใดที่ล้มเหลวก็เป็นส่วนหนึ่งของหน้าที่ของ ZooKeeper เมื่อพบว่าภูมิภาคเซิร์ฟเวอร์ล้มเหลว จะทริกเกอร์ HMaster เพื่อดำเนินการที่จำเป็น ในทางกลับกัน หาก HMaster เองล้มเหลว มันจะทริกเกอร์ HMaster ที่ไม่ได้ใช้งานซึ่งจะทำงานหลังจากการแจ้งเตือน ผู้ใช้ทุกคนและแม้แต่ HMaster ยังต้องผ่าน ZooKeeper เพื่อเข้าถึงเซิร์ฟเวอร์ภูมิภาคและข้อมูลภายใน ZooKeeper เก็บ ไฟล์ .Meta ซึ่งมีรายการเซิร์ฟเวอร์ภูมิภาคทั้งหมด ความรับผิดชอบของ ZooKeeper ได้แก่:

  • การสร้างการสื่อสารข้ามคลัสเตอร์ Hadoop
  • การรักษาข้อมูลการกำหนดค่า
  • การติดตามเซิร์ฟเวอร์ภูมิภาคและความล้มเหลวของ HMaster
  • การรักษาข้อมูลเซิร์ฟเวอร์ภูมิภาค

คำขอได้รับการจัดการในสถาปัตยกรรม HBase อย่างไร

เนื่องจากเราทราบส่วนประกอบหลักของ สถาปัตยกรรม HBase และฟังก์ชันแล้ว เรามาเจาะลึกถึงวิธีจัดการคำขอทั่วทั้งสถาปัตยกรรมกัน

1. เริ่มการค้นหาใน HBase Architecture

ขั้นตอนในการเริ่มต้นการค้นหาคือ:

  1. ผู้ใช้ดึงตาราง Meta จาก ZooKeeper แล้วขอตำแหน่งของเซิร์ฟเวอร์ภูมิภาคที่เกี่ยวข้อง
  2. จากนั้นผู้ใช้จะขอข้อมูลที่แน่นอนจากเซิร์ฟเวอร์ภูมิภาคด้วยความช่วยเหลือของ RowKey

2. กลไกการเขียนในสถาปัตยกรรม HBase

ขั้นตอนในการเขียนใน สถาปัตยกรรม HBase คือ:

  1. ลูกค้าจะต้องค้นหาเซิร์ฟเวอร์ภูมิภาคก่อน จากนั้นจึงระบุตำแหน่งของข้อมูลเพื่อทำการเปลี่ยนแปลง (ขั้นตอนนี้เกี่ยวข้องกับการแปลงข้อมูลเท่านั้น ไม่ใช่สำหรับการเขียนข้อมูลใหม่)
  2. คำขอเขียนจริงเริ่มต้นที่ WAL ซึ่งไคลเอ็นต์เขียนข้อมูล
  3. WAL ถ่ายโอนข้อมูลไปยัง MemStore และส่งการตอบรับไปยังผู้ใช้
  4. เมื่อ MemStore เต็มไปด้วยข้อมูล มันจะส่งข้อมูลไปยัง HFile ซึ่งจะถูกเก็บไว้

3. กลไกการอ่านในสถาปัตยกรรม HBase

หากต้องการอ่านข้อมูลใด ๆ ผู้ใช้จะต้องเข้าถึงเซิร์ฟเวอร์ภูมิภาคที่เกี่ยวข้องก่อน เมื่อทราบเซิร์ฟเวอร์ภูมิภาคแล้ว กระบวนการอื่นๆ จะรวมถึง:

  1. การสแกนครั้งแรกจะทำที่แคชการอ่าน ซึ่งเป็นบล็อกแคช
  2. ตำแหน่งการสแกนถัดไปคือ MemStore ซึ่งเป็นแคชการเขียน
  3. หากไม่พบข้อมูลในบล็อกแคชหรือ MemStore เครื่องสแกนจะดึงข้อมูลจาก HFile

การกู้คืนข้อมูลทำงานอย่างไรในสถาปัตยกรรม HBase?

สถาปัตยกรรม Hbase แบ่งข้อมูลผ่านการกระชับและการแบ่งภูมิภาคเพื่อลดการโหลดข้อมูลในคลัสเตอร์ อย่างไรก็ตาม หากมีการหยุดทำงานและจำเป็นต้องกู้คืน ให้ดำเนินการดังนี้:

  1. ZooKeeper ทริกเกอร์ HMaster เมื่อเซิร์ฟเวอร์ล้มเหลว
  2. HMaster กระจายพื้นที่ที่ขัดข้องและ WAL ไปยังเซิร์ฟเวอร์ภูมิภาคที่ใช้งานอยู่
  3. เซิร์ฟเวอร์ภูมิภาคเหล่านี้ดำเนินการ WAL อีกครั้งและสร้าง MemStore
  4. เมื่อเซิร์ฟเวอร์ภูมิภาคทั้งหมดเรียกใช้ WAL อีกครั้ง ข้อมูลทั้งหมดพร้อมกับกลุ่มคอลัมน์จะถูกกู้คืน

ชำระเงิน: Hadoop ระบบนิเวศและส่วนประกอบ

ด้านล่าง

ข้อมูลได้กลายเป็นน้ำมันใหม่ในอุตสาหกรรมต่างๆ ดังนั้นจึงมี โอกาสทางอาชีพมากมายใน Hadoop คุณสามารถเรียนรู้ทั้งหมดเกี่ยวกับ Hadoop และ Big Data ได้ ที่ upGrad

หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับ Hbase, Big Data โปรดดู PG Diploma in Software Development Specialization ในโปรแกรม Big Data ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 7 กรณี ครอบคลุมภาษาและเครื่องมือในการเขียนโปรแกรม 14 รายการ - การประชุมเชิงปฏิบัติการมากกว่า 400 ชั่วโมงของการเรียนรู้อย่างเข้มงวดและความช่วยเหลือในการหางานกับ บริษัท ชั้นนำ

เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม Executive PG โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

ปรมาจารย์ด้านเทคโนโลยีแห่งอนาคต - Big Data

การเรียนรู้มากกว่า 400 ชั่วโมง 14 ภาษาและเครื่องมือ สถานะศิษย์เก่า IIIT-B
โปรแกรมประกาศนียบัตรขั้นสูงด้าน Big Data จาก IIIT Bangalore