Lakehouse Federation

Introduction to Databricks Lakehouse

Gang Wang

Senior Data Scientist

ปัญหา: data silos

$$

recraft: half: เกาะหลายเกาะที่แยกออกจากกัน แต่ละเกาะมีตารางข้อมูล และไม่มีสะพานเชื่อมระหว่างกัน แสดงถึงข้อมูลที่กระจัดกระจายอยู่ในระบบต่าง ๆ

$$

  • ข้อมูลกระจายอยู่ในหลายระบบ
  • PostgreSQL, MySQL, Snowflake, SQL Server
  • การย้ายข้อมูลทำได้ช้าและสร้างสำเนาโดยไม่จำเป็น
  • แต่คุณต้องการคำตอบที่ครอบคลุมข้อมูลทั้งหมด
Introduction to Databricks Lakehouse

Lakehouse Federation คืออะไร?

$$

architecture: Lakehouse Federation

Introduction to Databricks Lakehouse

ตั้งค่าการเชื่อมต่อ

$$

-- Create a connection
CREATE CONNECTION partner_pg
TYPE postgresql
OPTIONS (
  host 'db.partner.com',
  port '5432',
  user 'reader',
  password secret('scope', 'key')
);

$$

-- Create a foreign catalog
CREATE FOREIGN CATALOG partner_db
USING CONNECTION partner_pg;
-- Query the external table
SELECT *
FROM partner_db.public.orders
LIMIT 10;

Introduction to Databricks Lakehouse

เมื่อไหร่ควร Federate และเมื่อไหร่ควร Ingest

$$

Federate Ingest
การเข้าถึง Real-time คัดลอกแบบ Batch
ปริมาณคิวรี ต่ำ สูง
Latency ขึ้นกับต้นทาง ต่ำ
Compliance ไม่ต้องสร้างสำเนา ข้อมูลถูกย้าย
การแปลงข้อมูล จำกัด Medallion เต็มรูปแบบ

$$

  • ใช้ Federate สำหรับการเข้าถึงแบบ real-time ปริมาณน้อย หรือมีข้อจำกัดด้าน compliance
  • ใช้ Ingest สำหรับงานที่มีปริมาณสูง ทำซ้ำบ่อย และต้องการประสิทธิภาพสูง
Introduction to Databricks Lakehouse

Federation ใน Unity Catalog

$$

  • ตารางที่ federate จะปรากฏในลำดับชั้นของ Unity Catalog
  • มีการควบคุมการเข้าถึงและการติดตาม lineage เหมือนตารางในเครื่อง
  • Join ตาราง federated กับตารางใน lakehouse ได้ในคิวรีเดียว
  • รองรับต้นทาง: PostgreSQL, MySQL, Snowflake, SQL Server และอื่น ๆ

$$

recraft: half: อาคารสมัยใหม่สองหลังเชื่อมกันด้วยสะพานสตรีมข้อมูลเรืองแสง มีไดเรกทอรีแคตาล็อกกลางอยู่ตรงกลาง แสดงถึงการกำกับดูแลข้อมูลแบบ federated

Introduction to Databricks Lakehouse

สรุป

$$

  • Lakehouse Federation คิวรีข้อมูลภายนอกได้โดยไม่ต้องคัดลอก
  • ตั้งค่าการเชื่อมต่อ สร้างforeign catalog แล้วคิวรีด้วย SQL มาตรฐาน
  • ใช้ Federate สำหรับการเข้าถึงแบบ real-time ปริมาณน้อย หรือมีข้อจำกัดด้าน compliance
  • ใช้ Ingest สำหรับงานที่มีปริมาณสูง ทำซ้ำบ่อย และต้องการประสิทธิภาพสูง
Introduction to Databricks Lakehouse

มาฝึกกันเถอะ!

Introduction to Databricks Lakehouse

Preparing Video For Download...