คำถามและคำตอบในการสัมภาษณ์ HBase ที่พบบ่อยที่สุด [Ultimate Guide]

เผยแพร่แล้ว: 2020-09-21

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

บริษัทชั้นนำหลายแห่งใช้เทคโนโลยี Hbase ทั่วโลก รวมถึง Adobe, HubSpot, Facebook, Twitter, Yahoo! และ OpenLogic และ StumbleUpon สำหรับนักพัฒนาเว็บที่ต้องการสร้างเว็บไซต์ที่ปรับขนาดได้ เครื่องมือการเรียนรู้อย่าง Hadoop และ HBase สามารถพิสูจน์ได้ว่ามีประโยชน์อย่างมาก

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

อ่าน: แนวคิดโครงการ Hadoop

สารบัญ

คำถามและคำตอบสัมภาษณ์ HBase ยอดนิยม

1. HBase คืออะไร?

เป็นฐานข้อมูลเชิงคอลัมน์ที่พัฒนาโดย Apache Software Foundation HBase ทำงานบนคลัสเตอร์ Hadoop เพื่อจัดเก็บข้อมูลกึ่งโครงสร้างและไม่มีโครงสร้าง ดังนั้นจึงไม่มีสคีมาที่เข้มงวดเหมือนกับฐานข้อมูลเชิงสัมพันธ์แบบเดิม นอกจากนี้ยังไม่สนับสนุนโครงสร้างไวยากรณ์ของ SQL HBase จัดเก็บและดำเนินการกับข้อมูลผ่านโหนดหลักที่ควบคุมเซิร์ฟเวอร์คลัสเตอร์และภูมิภาค

2. อะไรคือสาเหตุของการใช้ Hbase?

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

3. อธิบายส่วนประกอบสำคัญของ HBase

ส่วนการทำงานของ HBase ได้แก่ Zookeeper, HBase Master, RegionServer, Region และ Catalog Tables วัตถุประสงค์ของแต่ละองค์ประกอบสามารถอธิบายได้ดังนี้:

  • Zookeeper ประสานงานระหว่างไคลเอนต์และ HBase Master
  • HBase Master ตรวจสอบ RegionServer และดูแลฟังก์ชันผู้ดูแลระบบ
  • RegionServer ดูแล Region
  • ภูมิภาคมี MemStore และ HFile
  • ตารางแค็ตตาล็อกประกอบด้วย ROOT และ META

โดยทั่วไป Hbase ประกอบด้วยชุดของตารางโดยแต่ละตารางมีแถว คอลัมน์ และคีย์หลัก เป็นคอลัมน์ HBase ที่แสดงถึงแอตทริบิวต์ของวัตถุ

4. คำสั่งปฏิบัติการประเภทต่างๆ ใน ​​HBase มีอะไรบ้าง?

คำสั่งปฏิบัติการที่สำคัญห้าคำสั่งใน HBase ได้แก่ Get, Delete, Put, Increment และ Scan

Get ใช้สำหรับอ่านตาราง ดำเนินการผ่าน HTable.get จะส่งคืนข้อมูลหรือแอตทริบิวต์ของแถวเฉพาะจากตาราง Delete ลบแถวออกจากตาราง ในขณะที่ Put เพิ่มหรืออัปเดตแถว Increment ช่วยให้การดำเนินการเพิ่มขึ้นในแถวเดียว สุดท้าย Scan ใช้เพื่อวนซ้ำหลายแถวสำหรับแอตทริบิวต์บางอย่าง

5. คุณเข้าใจอะไรโดย WAL และ Hlog?

  • WAL ย่อมาจาก Write Ahead Log และค่อนข้างคล้ายกับบันทึก BIN ใน MySQL มันบันทึกการเปลี่ยนแปลงทั้งหมดในข้อมูล
  • HLog เป็นไฟล์ลำดับในหน่วยความจำมาตรฐานของ Hadoop ที่ดูแลที่เก็บ HLogkey

WAL และ HLog ทำหน้าที่เป็นตัวช่วยชีวิตในกรณีที่เซิร์ฟเวอร์ล้มเหลวและข้อมูลสูญหาย หาก RegionServer ขัดข้องหรือไม่พร้อมใช้งาน ไฟล์ WAL จะตรวจสอบให้แน่ใจว่าการเปลี่ยนแปลงข้อมูลสามารถเล่นซ้ำได้

6. อธิบายบางสถานการณ์ที่คุณจะใช้ Hbase

เหมาะที่จะใช้ HBase เมื่อ:

  • ข้อมูลของคุณมีขนาดใหญ่มาก ทำให้คุณต้องดำเนินการกับบันทึกหลายล้านรายการ
  • คุณกำลังใช้การออกแบบใหม่ทั้งหมดและยกเครื่อง RDBMS แบบเดิม
  • คุณมีทรัพยากรในการลงทุนโครงสร้างพื้นฐานในกลุ่ม
  • มีคำสั่งที่ไม่ใช้ SQL โดยเฉพาะ เช่น ทรานแซกชัน คอลัมน์ที่พิมพ์ เส้นใน ฯลฯ

7. คุณหมายถึงอะไรโดยกลุ่มคอลัมน์และปุ่มแถว?

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

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

8. HBase แตกต่างจากฐานข้อมูลเชิงสัมพันธ์อย่างไร?

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

อ่าน: DBMS กับ RDBMS: ความแตกต่างระหว่าง DBMS และ RDBMS

9. เซลล์ใน HBase คืออะไร?

เซลล์เป็นหน่วยที่เล็กที่สุดของตาราง HBase โดยเก็บข้อมูลในรูปของทูเพิล ทูเพิลคือโครงสร้างข้อมูลที่มีหลายส่วน ใน HBase ประกอบด้วย {row, column, version}

10. กำหนดการบีบอัดใน HBase

การกระชับเป็นกระบวนการที่ใช้ในการรวม HFiles เป็นไฟล์เดียวก่อนที่ไฟล์เก่าจะถูกลบออกจากฐานข้อมูล

11. คุณสามารถเข้าถึง HFile ได้โดยตรงโดยไม่ต้องใช้ HBase หรือไม่?

ใช่ มีเทคนิคเฉพาะในการเข้าถึง HFile โดยตรงโดยไม่ต้องใช้ HBase สามารถใช้เมธอด HFile.main เพื่อจุดประสงค์นี้ได้

12. หารือเกี่ยวกับการลบและเครื่องหมายหลุมฝังศพใน HBase

ใน HBase กระบวนการลบแบบปกติจะส่งผลให้เกิดป้ายบอกหลุมฝังศพ เซลล์ที่ถูกลบจะมองไม่เห็น แต่ข้อมูลที่แสดงโดยเซลล์เหล่านั้นจะถูกลบออกจริงในระหว่างการบดอัด HBase มีป้ายบอกหลุมฝังศพสามประเภท:

  • เครื่องหมายลบเวอร์ชัน: ทำเครื่องหมายเวอร์ชันเดียวของคอลัมน์สำหรับการลบ
  • เครื่องหมายลบคอลัมน์: ทำเครื่องหมายทุกเวอร์ชันของคอลัมน์
  • เครื่องหมายลบครอบครัว: ตั้งค่าคอลัมน์ทั้งหมดของตระกูลคอลัมน์สำหรับการลบ

ในที่นี้ ต้องสังเกตว่าแถวใน HBase จะถูกลบออกทั้งหมดหลังจากการบดอัดครั้งใหญ่ ดังนั้น เมื่อคุณลบและเพิ่มข้อมูล Gets อาจถูกปิดบังด้วยเครื่องหมายหลุมฝังศพ และคุณอาจไม่เห็นค่าที่แทรกไว้จนกว่าจะมีการบดอัด

13. จะเกิดอะไรขึ้นเมื่อคุณเปลี่ยนขนาดบล็อกของตระกูลคอลัมน์

หากฐานข้อมูลของคุณถูกครอบครองแล้ว และคุณต้องการเปลี่ยนขนาดบล็อกของตระกูลคอลัมน์ใน HBase ข้อมูลเก่าอาจยังคงอยู่ในขนาดบล็อกแบบเก่า ในระหว่างการบดอัด ข้อมูลเก่าและข้อมูลใหม่จะเป็นดังนี้:

  • ข้อมูลที่มีอยู่จะใช้ขนาดบล็อกใหม่และอ่านต่อไปได้อย่างถูกต้อง
  • ไฟล์ใหม่จะมีขนาดบล็อกใหม่

ด้วยวิธีนี้ ข้อมูลทั้งหมดจะแปลงเป็นขนาดบล็อกที่ต้องการก่อนการบดอัดครั้งใหญ่ครั้งต่อไป

14. กำหนดโหมดต่างๆ ที่ HBase สามารถทำงานได้

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

  • โหมดกระจายหลอก: daemons ทั้งหมดทำงานบนโหนดเดียว
  • โหมดกระจายอย่างสมบูรณ์: Daemons ทำงานบนโหนดทั้งหมดในคลัสเตอร์

15. คุณจะปรับใช้การเข้าร่วมใน HBase อย่างไร

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

ชำระเงิน: คำถามสัมภาษณ์ Hadoop

16. อภิปรายวัตถุประสงค์ของตัวกรองใน HBase

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

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

17. เปรียบเทียบ HBase กับ (i) Cassandra (ii) Hive

(i) HBase และ Cassandra: ทั้ง Cassandra และ HBase เป็นฐานข้อมูล NoSQL ที่ออกแบบมาเพื่อจัดการชุดข้อมูลขนาดใหญ่ อย่างไรก็ตาม ไวยากรณ์ของ Cassandra Query Language (CQL ) ถูกสร้างโมเดลตาม SQL ในที่เก็บข้อมูลทั้งสอง คีย์แถวจะสร้างดัชนีหลัก คาสซานดราสามารถสร้างดัชนีรองตามค่าของคอลัมน์ ดังนั้นจึงสามารถปรับปรุงการเข้าถึงข้อมูลในคอลัมน์ที่มีการทำซ้ำในระดับสูง HBase ไม่มีข้อกำหนดนี้ แต่มีกลไกอื่นๆ ที่จะนำมาใช้ในการทำงานของดัชนีรอง วิธีการเหล่านี้สามารถพบได้ง่ายในคู่มืออ้างอิงออนไลน์

(ii) HBase และ Hive: ทั้งคู่เป็นเทคโนโลยีที่ใช้ Hadoop ตามที่กล่าวไว้ข้างต้น HBase เป็นฐานข้อมูลคีย์/ค่า NoSQL ในทางกลับกัน Hive เป็นเครื่องมือที่เหมือน SQL ที่สามารถเรียกใช้งาน MapReduce ที่ซับซ้อนได้ คุณสามารถดำเนินการอ่านและเขียนข้อมูลจาก Hive ไปยัง HBase และในทางกลับกันได้ แม้ว่า Hive จะเหมาะกับงานวิเคราะห์มากกว่า แต่ HBase ก็เป็นโซลูชันที่ยอดเยี่ยมสำหรับการสืบค้นแบบเรียลไทม์

อ่านเพิ่มเติม: สถาปัตยกรรม HBase: ทุกสิ่งที่คุณจำเป็นต้องรู้

บทสรุป

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

หากคุณอยากเรียนรู้เกี่ยวกับวิทยาศาสตร์ข้อมูล ลองดู โปรแกรม Executive PG ของ IIIT-B & upGrad ใน Data Science ซึ่งสร้างขึ้นสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 10 รายการ เวิร์กช็อปภาคปฏิบัติจริง การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม 1 -on-1 พร้อมที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

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

สมัครโปรแกรมประกาศนียบัตรขั้นสูงในวิทยาศาสตร์ข้อมูล