ภูมิทัศน์ของการประมวลผลสตรีมมิ่งและการพัฒนาฐานข้อมูลกำลังมีการเปลี่ยนแปลงอย่างมีนัยสำคัญ โดยนักพัฒนาและบริษัทต่างๆ กำลังมองหาโซลูชันที่เชื่อมช่องว่างระหว่างการประมวลผลแบบแบตช์แบบดั้งเดิมและความต้องการข้อมูลแบบเรียลไทม์ แม้ว่า Apache DataFusion จะมีความสามารถที่น่าสนใจในฐานะเครื่องมือพัฒนาฐานข้อมูล แต่การสนทนาในชุมชนเผยให้เห็นถึงความท้าทายและโอกาสที่ลึกซึ้งกว่าในพื้นที่การประมวลผลข้อมูลแบบสตรีมมิ่ง
ความท้าทายด้านสตรีมมิ่ง
ในขณะที่ DataFusion มีความเชี่ยวชาญในการจัดการการประมวลผลข้อมูลแบบคงที่ การนำความสามารถด้านสตรีมมิ่งมาใช้นั้นมีความท้าทายที่แตกต่างกัน การสนทนาในชุมชนชี้ให้เห็นว่าการประมวลผลสตรีมต้องการองค์ประกอบโครงสร้างพื้นฐานเฉพาะทางที่มากกว่าสิ่งที่เครื่องมือ SQL แบบดั้งเดิมมีให้ ความซับซ้อนของโครงสร้างพื้นฐาน ความน่าเชื่อถือของการใช้งานสตรีมมิ่ง และการจัดการหน่วยความจำกลายเป็นจุดที่สำคัญที่โซลูชันปัจจุบันยังแก้ไขได้ไม่ครอบคลุม
ช่องว่างในตลาดสำหรับโซลูชันแบบฝังตัว
มีช่องว่างที่สำคัญในตลาดสำหรับโซลูชันสตรีมมิ่งแบบฝังตัว โซลูชันที่มีอยู่ในปัจจุบันส่วนใหญ่เป็นรูปแบบที่อิงกับคลาวด์และได้รับการสนับสนุนจาก VC ทำให้นักพัฒนาที่ต้องการความสามารถด้านสตรีมมิ่งแบบฝังตัวมีตัวเลือกที่จำกัด ดังที่สมาชิกชุมชนคนหนึ่งกล่าวว่า:
การใช้ kafka และสคริปต์ Python ที่ทำงานต่อเนื่องและเขียนการแปลงข้อมูลด้วยตนเองนั้นง่ายกว่าการใช้สิ่งที่มีอยู่ในตลาดตอนนี้มาก ดูเหมือนว่าไม่มีตัวประมวลผลสตรีมมิ่งใดในปัจจุบันที่ต้องการจะเป็นแบบฝังตัว เพราะนั่นไม่ใช่ที่ที่เงินอยู่
โซลูชันและนวัตกรรมที่กำลังเกิดขึ้น
มีหลายโครงการที่พยายามแก้ไขความท้าทายเหล่านี้ Arroyo ได้ใช้แนวทางที่เป็นนวัตกรรมโดยใช้ส่วนประกอบของ SQL frontend และ expression engine ของ DataFusion ในขณะที่พัฒนา dataflow และ operators ของตัวเอง Materialize ได้มีความก้าวหน้าในการแก้ไขปัญหาการใช้หน่วยความจำและปรับปรุงการจัดการข้อมูลบนดิสก์ ในขณะเดียวกัน ClickHouse ก็ยังคงพัฒนาความสามารถด้าน materialized view สำหรับสถานการณ์สตรีมมิ่ง
โครงการสำคัญในด้านการประมวลผลสตรีมมิ่ง:
- DataFusion: ชุดเครื่องมือเอนจิน SQL ที่มุ่งเน้นการประมวลผลแบบแบตช์
- Arroyo: การพัฒนาระบบ dataflow แบบกำหนดเองโดยใช้ส่วนประกอบจาก DataFusion
- Materialize: โซลูชันบนคลาวด์ที่มีการปรับปรุงประสิทธิภาพการจัดการหน่วยความจำล่าสุด
- ClickHouse: กำลังพัฒนาความสามารถในการสร้างมุมมองแบบ materialized สำหรับการประมวลผลสตรีมมิ่ง
- Feldera: โซลูชันใหม่ที่กำลังเติบโตในพื้นที่การประมวลผลสตรีมมิ่ง
ภาพนี้แสดงถึงนวัตกรรมที่กำลังดำเนินอยู่ในเทคโนโลยีฐานข้อมูลและการเดินทางสู่การสร้างโซลูชันการสตรีมมิ่งที่ดีขึ้น |
แนวทางในอนาคต
ความเห็นร่วมกันของชุมชนชี้ให้เห็นว่าแม้ว่าพื้นฐานของ SQL primitives สำหรับสตรีมมิ่ง (เช่น tumble, hop หรือ session windows) จะเป็นที่ยอมรับกันดีแล้ว แต่ความท้าทายที่แท้จริงอยู่ที่การสร้างโครงสร้างพื้นฐานที่สามารถจัดการกับกรณีการใช้งานในโลกจริงได้อย่างน่าเชื่อถือ โซลูชันที่เหมาะสมควรรวมความสะดวกในการใช้งานของ SQL แบบดั้งเดิมเข้ากับความสามารถด้านสตรีมมิ่งที่แข็งแกร่ง พร้อมทั้งรักษาอินเตอร์เฟซที่เป็นมิตรกับนักพัฒนาและความซับซ้อนของโครงสร้างพื้นฐานที่เหมาะสม
การพัฒนาในพื้นที่นี้ยังคงดำเนินต่อไป โดยมีการสำรวจแนวทางต่างๆ โดยโครงการที่หลากหลาย อย่างไรก็ตาม เป้าหมายสูงสุดของโซลูชันสตรีมมิ่งแบบฝังตัวที่เป็นมิตรกับนักพัฒนาและมีความง่ายในการใช้งานเทียบเท่ากับฐานข้อมูลแบบดั้งเดิมยังคงเป็นสิ่งที่จับต้องไม่ได้ ซึ่งเป็นโอกาสสำหรับนวัตกรรมในปีต่อๆ ไป
แหล่งที่มา: Building Databases over a Weekend