วิศวกรข้อมูลกำลังพูดถึงแนวทางใหม่ในการจัดการข้อมูลที่เรียกว่า Frozen DuckLake ซึ่งสัญญาการเข้าถึงข้อมูลแบบหลายผู้ใช้และไร้เซิร์ฟเวอร์ โดยไม่มีความซับซ้อนของคลัสเตอร์ฐานข้อมูลแบบดั้งเดิม วิธีการที่สร้างสรรค์นี้ใช้ความสามารถของ DuckDB ในการสร้างสภาพแวดล้อมข้อมูลแบบอ่านอย่างเดียวที่สามารถแชร์และเข้าถึงได้โดยผู้ใช้หลายคนพร้อมกัน
นวัตกรรมหลัก: ความเรียบง่ายผ่านความไม่เปลี่ยนแปลง
แนวคิด Frozen DuckLake เน้นไปที่การสร้างสภาพแวดล้อมข้อมูลที่ไม่เปลี่ยนแปลงและอ่านอย่างเดียว ซึ่งขจัดปัญหาการเข้าถึงพร้อมกันและภาระการจัดการเซิร์ฟเวอร์ ด้วยการแช่แข็งข้อมูลลงในไฟล์ฐานข้อมูล DuckDB ที่เก็บไว้ในคลาวด์สตอเรจ ผู้ใช้สามารถเข้าถึงชุดข้อมูลที่ซับซ้อนได้โดยไม่จำเป็นต้องมีเซิร์ฟเวอร์ฐานข้อมูลที่กำลังทำงานอยู่ แนวทางนี้เป็นประโยชน์อย่างยิ่งสำหรับองค์กรที่ต้องการแชร์ชุดข้อมูลขนาดใหญ่ระหว่างทีมหรือกับพันธมิตรภายนอก โดยไม่ต้องบำรุงรักษาโครงสร้างพื้นฐาน
ส่วนที่ถูกแช่แข็งคือสิ่งที่ iceberg สัญญาไว้ตั้งแต่เริ่มต้น ห่างจาก Hive's mutable metastore ชี้ไปที่ไฟล์ manifest + parquet/orc และทั้งหมดที่คุณต้องการเพื่อสอบถามมันคือการเรียก S3 API (ไม่มี metadata/table server เซิร์ฟเวอร์คือไคลเอ็นต์)
ข้อมูลเชิงลึกจากชุมชนนี้เน้นย้ำว่า Frozen DuckLakes ส่งมอบตามคำสัญญาดั้งเดิมของรูปแบบ data lake เช่น Iceberg — โดยให้การเข้าถึงข้อมูลที่มีโครงสร้างโดยไม่มีเซิร์ฟเวอร์เมตาดาต้าที่รวมศูนย์ ไคลเอ็นต์กลายเป็นเซิร์ฟเวอร์ ซึ่งทำให้สถาปัตยกรรมง่ายขึ้นอย่างมาก
ข้อได้เปรียบหลัก:
- ไม่จำเป็นต้องมีเซิร์ฟเวอร์ฐานข้อมูล
- การเข้าถึงแบบอ่อนอย่างเดียวช่วยขจัดปัญหาการทำงานพร้อมกัน
- รองรับระบบจัดเก็บข้อมูลบนคลาวด์หลายระบบ (S3, GCS)
- ช่วยให้การแชร์ข้อมูลและการจัดการเวอร์ชันทำได้ง่าย
- เข้ากันได้กับเวิร์กโฟลว์ไฟล์ Parquet ที่มีอยู่แล้ว
การประยุกต์ใช้จริงและการปรับปรุงเวิร์กโฟลว์
การอภิปรายในชุมชนเผยให้เห็นการประยุกต์ใช้จริงหลายประการสำหรับเทคโนโลยีนี้ ผู้แสดงความคิดเห็นหนึ่งคนระบุถึงความสามารถในการอัปเดตไฟล์ Parquet อย่างเสมือนโดยไม่ต้องปรับเปลี่ยนข้อมูลดั้งเดิม — ซึ่งเป็นข้อได้เปรียบที่สำคัญสำหรับการควบคุมเวอร์ชันข้อมูลและบันทึกการตรวจสอบ ผู้ใช้สามารถรันการทำงาน SQL มาตรฐานเช่น DELETE, UPDATE และ MERGE จากนั้นใช้ฟังก์ชันการจัดการไฟล์ของ DuckDB เพื่อสร้างเวอร์ชันใหม่ในขณะที่รักษาไฟล์ดั้งเดิมไว้
เวิร์กโฟลว์เกี่ยวข้องกับการรวบรวมไฟล์ Parquet การสร้างสคริปต์สร้างไฟล์ DuckDB ในเครื่อง และเผยแพร่มันไปยังคลาวด์สตอเรจ กระบวนการนี้สร้างแพ็คเกจข้อมูลที่สมบูรณ์ในตัวเองซึ่งผู้ใช้หลายคนสามารถเข้าถึงได้อย่างอิสระ เมตริกประสิทธิภาพจากการทดสอบในโลกจริงแสดงผลลัพธ์ที่น่าประทับใจ — สามารถจัดการข้อมูลหลายพันล้านแถว across หลายพันไฟล์ Parquet ได้ในเวลาน้อยกว่า 30 นาที
ตัวชี้วัดประสิทธิภาพ:
- 110,000 บรรทัดใน 466 ไฟล์ Parquet: ใช้เวลาประมวลผลประมาณ 5.2 นาที
- 11 พันล้านแถวใน 4,030 ไฟล์ Parquet บน S3: ใช้เวลาประมวลผลประมาณ 22 นาที
- สภาพแวดล้อมการทดสอบ: MacBook ที่เชื่อมต่อผ่าน WiFi
การตอบรับจากชุมชนและศักยภาพในอนาคต
ผู้ใช้ยุคแรกชื่นชมว่าวิธีนี้สอดคล้องกับปรัชญาความเรียบง่ายของ DuckDB อย่างไร ในขณะเดียวกันก็แก้ไขปัญหาการแชร์ข้อมูลในโลกจริง เทคโนโลยีนี้ได้จุดประกายการอภิปรายเกี่ยวกับความสัมพันธ์กับรูปแบบ data lake ที่มีอยู่และศักยภาพในการทำให้สถาปัตยกรรมข้อมูลง่ายขึ้น สมาชิกในชุมชนบางคนแสดงความประหลาดใจที่สิ่งนี้ไม่ใช่วิธีที่ data lake ทุกแห่งทำงานอยู่แล้ว ซึ่งเน้นย้ำถึงธรรมชาติที่ตรงไปตรงมาของโซลูชันนี้
ในขณะที่องค์กรยังคงต่อสู้กับความท้าทายในการแชร์ข้อมูล Frozen DuckLakes เสนอทางเลือกที่น่าสนใจแทนโครงสร้างพื้นฐานข้อมูลที่ซับซ้อน แนวทางนี้แสดงให้เห็นว่าการมุ่งความสนใจไปที่ความเรียบง่ายและความไม่เปลี่ยนแปลงสามารถให้ผลลัพธ์อันทรงพลังในวิศวกรรมข้อมูลได้ ขณะที่การจัดการ schema ยังคงเป็นหัวข้อสำหรับการพัฒนาในอนาคต การนำไปใช้ในปัจจุบันให้รากฐานที่มั่นคงสำหรับการทำงานร่วมกันด้านข้อมูลแบบไร้เซิร์ฟเวอร์
เทคโนโลยีนี้แสดงถึงก้าวสำคัญสู่สถาปัตยกรรมข้อมูลที่ไร้เซิร์ฟเวอร์อย่างแท้จริง ซึ่งความซับซ้อนของการจัดการฐานข้อมูลจะหลีกทางให้กับการแชร์ข้อมูลแบบไฟล์ที่เรียบง่าย ดังที่สมาชิกในชุมชนหนึ่งระบุไว้ นวัตกรรมนี้ยังคงสืบสานประเพณีของ DuckDB ในการทำให้ความสามารถด้านข้อมูลอันทรงพลังสามารถเข้าถึงได้โดยทุกคน
อ้างอิง: Frozen DuckLakes for Multi-User, Serverless Data Access
