ปรับขนาดการจัดการข้อมูลผ่าน Apache Gobblin

ปรับขนาดการจัดการข้อมูลผ่าน Apache Gobblin

โหนดต้นทาง: 1911501

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

ข้อมูลมักถูกรวบรวมจากหลายแหล่ง แปลง จัดเก็บ และประมวลผลใน Data Lake ภายในองค์กรหรือบนคลาวด์ แม้ว่าการนำเข้าข้อมูลครั้งแรกจะค่อนข้างไม่สำคัญและสามารถทำได้ผ่านสคริปต์แบบกำหนดเองที่พัฒนาขึ้นภายในองค์กรหรือเครื่องมือ ETL (Extract Transform Load) แบบดั้งเดิม แต่ปัญหาก็กลายเป็นเรื่องที่ซับซ้อนอย่างรวดเร็วและมีค่าใช้จ่ายสูงในการแก้ไข เนื่องจากบริษัทต้อง:

  1. จัดการวงจรชีวิตของข้อมูลทั้งหมด – เพื่อวัตถุประสงค์ในการดูแลทำความสะอาดและการปฏิบัติตามข้อกำหนด 
  2. เพิ่มประสิทธิภาพการจัดเก็บ - เพื่อลดค่าใช้จ่ายที่เกี่ยวข้อง 
  3. ลดความซับซ้อนของสถาปัตยกรรม – ผ่านการนำโครงสร้างพื้นฐานของคอมพิวเตอร์กลับมาใช้ใหม่ 
  4. ประมวลผลข้อมูลแบบค่อยเป็นค่อยไป – ผ่านการจัดการสถานะที่มีประสิทธิภาพ 
  5. ใช้นโยบายเดียวกันกับข้อมูลแบทช์และสตรีมโดยไม่ต้องใช้ความพยายามซ้ำซ้อน
  6. โยกย้ายระหว่าง On-prem และ Cloud – โดยใช้ความพยายามน้อยที่สุด  

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

ในส่วนนี้ เราจะเจาะลึกถึงความสามารถต่างๆ ของ Apache Gobblin ที่ช่วยในการจัดการกับความท้าทายที่ระบุไว้ก่อนหน้านี้

การจัดการวงจรชีวิตข้อมูลทั้งหมด

Apache Gobblin มอบขอบเขตของความสามารถในการสร้างท่อส่งข้อมูลที่สนับสนุนชุดการดำเนินการวงจรชีวิตข้อมูลทั้งหมดบนชุดข้อมูล 

  1. นำเข้าข้อมูล – จากหลายแหล่งไปจนถึงแหล่งเก็บ ตั้งแต่ฐานข้อมูล, Rest API, เซิร์ฟเวอร์ FTP/SFTP, Filers, CRM เช่น Salesforce และ Dynamics และอื่นๆ 
  2. ทำซ้ำข้อมูล – ระหว่าง Data Lake หลายแห่งด้วยความสามารถพิเศษสำหรับ Hadoop Distributed File System ผ่าน Distcp-NG 
  3. ล้างข้อมูล – โดยใช้นโยบายการเก็บรักษา เช่น Time-based, Newest K, Versioned หรือหลายนโยบายร่วมกัน 

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

ปรับขนาดการจัดการข้อมูลผ่าน Apache Gobblin
ภาพโดยผู้เขียน

เพิ่มประสิทธิภาพ Storage

Apache Gobblin สามารถช่วยลดจำนวนพื้นที่จัดเก็บข้อมูลที่จำเป็นสำหรับข้อมูลผ่านการประมวลผลข้อมูลภายหลังการส่งผ่านข้อมูลหรือการจำลองแบบโดยการบดอัดหรือการแปลงรูปแบบ 

  1. การบีบอัด – ข้อมูลหลังการประมวลผลเพื่อขจัดข้อมูลที่ซ้ำกันตามฟิลด์หรือฟิลด์คีย์ทั้งหมดของเรคคอร์ด ตัดแต่งข้อมูลเพื่อเก็บเพียงเรคคอร์ดเดียวที่มีการประทับเวลาล่าสุดด้วยคีย์เดียวกัน
  2. Avro เป็น ORC – เป็นกลไกการแปลงรูปแบบพิเศษเพื่อแปลงรูปแบบ Avro ตามแถวที่ได้รับความนิยมให้เป็นรูปแบบ ORC ตามคอลัมน์ที่ปรับให้เหมาะสมที่สุด 

 

ปรับขนาดการจัดการข้อมูลผ่าน Apache Gobblin
ภาพโดยผู้เขียน

ลดความซับซ้อนของสถาปัตยกรรม 

ขึ้นอยู่กับระยะของบริษัท (เริ่มต้นจนถึงระดับองค์กร) ข้อกำหนดด้านขนาด และสถาปัตยกรรมที่เกี่ยวข้อง บริษัทต่างๆ ต้องการตั้งค่าหรือพัฒนาโครงสร้างพื้นฐานข้อมูลของตน Apache Gobblin มีความยืดหยุ่นสูงและรองรับรูปแบบการดำเนินการที่หลากหลาย

  1. โหมดสแตนด์อโลน – เพื่อทำงานเป็นกระบวนการสแตนด์อโลนบนกล่องโลหะเปล่า เช่น โฮสต์เดี่ยวสำหรับกรณีการใช้งานที่เรียบง่ายและสถานการณ์ที่มีความต้องการน้อย 
  2. โหมด MapReduce – เพื่อรันเป็นงาน MapReduce บนโครงสร้างพื้นฐาน Hadoop สำหรับกรณีข้อมูลขนาดใหญ่เพื่อจัดการชุดข้อมูลในระดับเพตะไบต์ 
  3. โหมดคลัสเตอร์: แบบสแตนด์อโลน – เพื่อเรียกใช้เป็นคลัสเตอร์ที่สนับสนุนโดย Apache Helix และ Apache Zookeeper บนชุดเครื่องเปล่าหรือโฮสต์เพื่อจัดการสเกลขนาดใหญ่โดยไม่ขึ้นกับเฟรมเวิร์ก Hadoop MR
  4. โหมดคลัสเตอร์: Yarn – เพื่อเรียกใช้เป็นคลัสเตอร์บน Native Yarn โดยไม่มีเฟรมเวิร์ก Hadoop MR 
  5. โหมดคลัสเตอร์: AWS – เพื่อเรียกใช้เป็นคลัสเตอร์บนคลาวด์สาธารณะของ Amazon เช่น AWS สำหรับโครงสร้างพื้นฐานที่โฮสต์บน AWS 

 

ปรับขนาดการจัดการข้อมูลผ่าน Apache Gobblin
ภาพโดยผู้เขียน

ประมวลผลข้อมูลทีละน้อย 

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

 

ปรับขนาดการจัดการข้อมูลผ่าน Apache Gobblin
ภาพโดยผู้เขียน

นโยบายเดียวกันเกี่ยวกับข้อมูลแบทช์และสตรีม

ไปป์ไลน์ข้อมูลส่วนใหญ่ในปัจจุบันต้องเขียนสองครั้ง ครั้งแรกสำหรับข้อมูลแบทช์ และอีกครั้งสำหรับข้อมูลระยะใกล้หรือสตรีมมิง เพิ่มความพยายามเป็นสองเท่าและทำให้เกิดความไม่สอดคล้องกันในนโยบายและอัลกอริทึมที่ใช้กับไปป์ไลน์ประเภทต่างๆ Apache Gobblin แก้ปัญหานี้โดยอนุญาตให้ผู้ใช้สร้างไปป์ไลน์เพียงครั้งเดียวและรันบนข้อมูลทั้งแบบแบตช์และแบบสตรีมหากใช้ในโหมด Gobblin Cluster, Gobblin ในโหมด AWS หรือ Gobblin on Yarn mode  

โยกย้ายระหว่างภายในองค์กรและคลาวด์ 

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

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

สามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับ Apache Gobblin และวิธีการใช้งานได้ที่ https://gobblin.apache.org
 
 
อภิเศก ติวารี เป็นผู้จัดการอาวุโสที่ LinkedIn ซึ่งเป็นผู้นำองค์กร Big Data Pipelines ของบริษัท เขายังเป็นรองประธาน Apache Gobblin ที่ Apache Software Foundation และเป็นสมาชิกของ British Computer Society
 

ประทับเวลา:

เพิ่มเติมจาก KD นักเก็ต