Genie คือกลไกจัดการและดำเนินการ Big Data แบบรวมศูนย์ที่พัฒนาโดย Netflix
คุณค่าของ Genie อธิบายได้ดีที่สุดในแง่ของปัญหาที่มันแก้ไขได้
โครงสร้างพื้นฐาน Big Data มีความซับซ้อนและมีการพัฒนาอยู่ตลอดเวลา
ผู้ใช้ข้อมูล (นักวิทยาศาสตร์ข้อมูลหรือแอปพลิเคชันอื่นๆ) จำเป็นต้องข้ามอุปสรรคมากมายเพื่อเรียกใช้แบบสอบถามง่ายๆ:
สิ่งที่ได้ผลในวันนี้ อาจไม่ได้ผลในวันพรุ่งนี้ คลัสเตอร์อาจถูกย้าย ไบนารีอาจไม่เข้ากันอีกต่อไป ฯลฯ
คูณค่าใช้จ่ายนี้คูณกับจำนวนผู้ใช้ข้อมูล และทำให้เสียเวลา (และความเศร้าโศก!) มากขึ้น
ผู้ให้บริการโครงสร้างพื้นฐานข้อมูลเผชิญกับปัญหาที่แตกต่างกัน:
Genie ได้รับการออกแบบมาเพื่อนั่งที่ขอบเขตของทั้งสองโลก และทำให้ชีวิตของผู้คนทั้งสองด้านง่ายขึ้น
นักวิทยาศาสตร์ด้านข้อมูลสามารถ “ถูตะเกียงวิเศษ” และเพียงแค่พูดว่า “Genie เรียกใช้คิวรี 'Q' โดยใช้เอ็นจิ้น SparkSQL กับข้อมูลที่ใช้งานจริง” Genie ดูแลรายละเอียดสำคัญทั้งหมด โดยจะรวบรวมไบนารีและการกำหนดค่าที่จำเป็นแบบไดนามิก ดำเนินงาน ตรวจสอบงาน แจ้งให้ผู้ใช้ทราบถึงความเสร็จสมบูรณ์ และทำให้ข้อมูลเอาต์พุตพร้อมใช้งานในทันทีและในอนาคต
ผู้ให้บริการโครงสร้างพื้นฐาน Big Data ทำงานร่วมกับ Genie โดยทำให้ทรัพยากรพร้อมใช้งาน (คลัสเตอร์ ไบนารี ฯลฯ) และเสียบตรรกะมหัศจรรย์ที่ผู้ใช้ไม่จำเป็นต้องกังวล: คลัสเตอร์ใดที่แบบสอบถามที่กำหนดควรถูกกำหนดเส้นทางไป แบบสอบถามที่กำหนดควรใช้ Spark เวอร์ชันใด ผู้ใช้รายนี้ได้รับอนุญาตให้เข้าถึงข้อมูลนี้หรือไม่? เป็นต้น นอกจากนี้ รายละเอียดของงานทุกชิ้นจะถูกบันทึกไว้เพื่อการตรวจสอบหรือแก้ไขในภายหลัง
Genie ได้รับการออกแบบตั้งแต่พื้นฐานจนมีความยืดหยุ่นและปรับแต่งได้มาก สำหรับรายละเอียดเพิ่มเติม โปรดไปที่เอกสารอย่างเป็นทางการ
Genie builds ทำงานบน Travis CI ที่นี่
สาขา | สร้าง | ความครอบคลุม (coveralls.io) |
---|---|---|
ต้นแบบ (4.2.x) | ||
4.1.x | ||
4.0.x |
genie-app
เซิร์ฟเวอร์บริการ Genie ที่มีอยู่ในตัวเอง
genie-agent-app
ผู้ดำเนินการงาน Genie CLI ที่มีอยู่ในตัวเอง
genie-client
ลูกค้า Genie โต้ตอบกับบริการผ่าน REST API
genie-web
ไลบรารีเซิร์ฟเวอร์หลักสามารถห่อใหม่เพื่อแทรกและแทนที่ส่วนประกอบของเซิร์ฟเวอร์ได้
genie-agent
ไลบรารีเอเจนต์หลักสามารถห่อใหม่เพื่อแทรกและแทนที่ส่วนประกอบได้
genie-common
, genie-common-internal
, genie-common-external
ไลบรารีส่วนประกอบภายในที่ใช้ร่วมกันโดยโมดูลเซิร์ฟเวอร์ เอเจนต์ และไคลเอ็นต์
genie-proto
ข้อความ Protobuf และคำจำกัดความบริการ gRPC ที่ใช้ร่วมกันโดยเซิร์ฟเวอร์และตัวแทน นี่ไม่ใช่ API สาธารณะที่มีไว้สำหรับใช้งานโดยไคลเอนต์อื่น
genie-docs
, genie-demo
เอกสารและแอปพลิเคชันสาธิต
genie-test
, genie-test-web
การทดสอบคลาสและยูทิลิตี้ที่ใช้ร่วมกันโดยโมดูลอื่น
genie-ui
JavaScript UI เพื่อค้นหาและแสดงภาพงาน คลัสเตอร์ คำสั่ง
genie-swagger
การกำหนดค่าอัตโนมัติของ Swagger ผ่าน Spring Fox เพิ่มไปยังส่วนการปรับใช้ขั้นสุดท้ายของเซิร์ฟเวอร์เพื่อเปิดใช้งาน
Genie เผยแพร่ไปยัง Maven Central และ Docker Hub
โปรดดูตัวอย่างในส่วนสาธิตของเอกสารประกอบ และไปที่ส่วนการตั้งค่าเพื่อดูคำแนะนำโดยละเอียดเพิ่มเติมในการตั้งค่า Genie
ไคลเอ็นต์ Genie Python โฮสต์อยู่ในพื้นที่เก็บข้อมูลอื่น
สำหรับคำอธิบายโดยละเอียดเกี่ยวกับสถาปัตยกรรม Genie กรณีการใช้งาน เอกสาร API การสาธิต คู่มือการปรับใช้และการปรับแต่ง และอื่นๆ โปรดไปที่เอกสารประกอบของ Genie
หากต้องการติดต่อนักพัฒนา Genie หากมีคำถามและข้อเสนอแนะ โปรดใช้ GitHub Issues