
ฐานข้อมูลวิเคราะห์ MPP แบบเรียลไทม์

Apache Doris คือฐานข้อมูลวิเคราะห์ประสิทธิภาพสูงแบบเรียลไทม์ที่ใช้สถาปัตยกรรม Massively Parallel Processing (MPP) โดดเด่นด้านการวิเคราะห์ข้อมูลหลายมิติ, Ad-hoc queries และ Point queries ที่มีความพร้อมกันสูง ต่างจากระบบ OLAP แบบเดิมที่ต้องใช้ไปป์ไลน์ ETL ที่ซับซ้อน Doris รองรับการนำเข้าข้อมูลแบบเรียลไทม์จากแหล่งต่างๆ เช่น Kafka และ Flink โดยให้ความหน่วงระดับต่ำกว่าวินาทีสำหรับการ Join และ Aggregation ที่ซับซ้อน ด้วย Vectorized execution engine และ Cost-based optimizer (CBO) ที่เป็นเอกลักษณ์ ทำให้สามารถจัดการชุดข้อมูลระดับ Petabyte ได้โดยยังคง Throughput สูง จึงเป็นทางเลือกที่เหนือกว่า Hadoop-based stacks หรือ Data warehouse แบบเดิมสำหรับการวิเคราะห์ด้วย AI
Doris ใช้เอนจินประมวลผลแบบ Vectorized ที่ประมวลผลข้อมูลเป็นชุด (Batch) แทนการประมวลผลทีละแถว โดยใช้คำสั่ง SIMD (Single Instruction, Multiple Data) ของ CPU ช่วยลดภาระของคำสั่งและเพิ่มประสิทธิภาพ Cache locality ทำให้ Doris มีประสิทธิภาพการประมวลผลสูงกว่าเอนจินแบบ Row-based ทั่วไปถึง 5-10 เท่า และจัดการ Aggregation ที่ซับซ้อนบนข้อมูลขนาดใหญ่ได้โดยใช้ CPU ต่ำ
ระบบรองรับการนำเข้าข้อมูลแบบเรียลไทม์ที่มี Throughput สูงผ่านโปรโตคอลต่างๆ เช่น Stream Load, Broker Load และ Routine Load การเชื่อมต่อกับ Apache Kafka และ Flink โดยตรงช่วยลดความจำเป็นในการใช้เลเยอร์ Batch processing ทำให้ผู้ใช้สามารถ Query ข้อมูลได้ภายในไม่กี่วินาทีหลังจากข้อมูลมาถึง ช่วยให้แดชบอร์ดและโมเดล AI ได้รับข้อมูลล่าสุดเสมอโดยไม่มีความหน่วงจากไปป์ไลน์ ETL แบบเดิม
CBO ใน Apache Doris ออกแบบมาเพื่อจัดการการ Join หลายตารางและ Subqueries ที่ซับซ้อน โดยจะวิเคราะห์การกระจายตัวของข้อมูล, Cardinality และสถิติเพื่อเลือกแผนการประมวลผลที่มีประสิทธิภาพที่สุดโดยอัตโนมัติ การปรับลำดับการ Join และ Physical operators ช่วยลดการย้ายข้อมูลข้ามเครือข่าย ซึ่งเป็นหัวใจสำคัญในการรักษาประสิทธิภาพในสภาพแวดล้อม MPP แบบกระจายที่ Network I/O มักเป็นคอขวดหลัก
Doris ปรับแต่งมาเพื่อสถานการณ์ที่มีความพร้อมกันสูง รองรับ QPS (Queries Per Second) หลายพันรายการสำหรับ Point queries โดยใช้รูปแบบ Row-store สำหรับบางคอลัมน์และใช้เลเยอร์ Cache เฉพาะเพื่อตอบสนองการค้นหาที่พบบ่อยได้ทันที เหมาะสำหรับแอปพลิเคชันที่ต้องการการตอบสนองที่รวดเร็ว เชื่อมช่องว่างระหว่างระบบ OLAP ที่เน้นการสแกนข้อมูลหนักๆ กับระบบ OLTP ที่เน้นความถูกต้องของธุรกรรม
เพื่อรองรับการใช้งานขนาดใหญ่ Doris มีระบบแยกทรัพยากรผ่าน Workload Groups ผู้ดูแลระบบสามารถกำหนดขีดจำกัด CPU และหน่วยความจำสำหรับผู้ใช้หรือประเภท Query ต่างๆ เพื่อป้องกันปัญหา 'noisy neighbor' ที่ Query หนักๆ อาจส่งผลกระทบต่อผู้ใช้อื่น ซึ่งเป็นสิ่งจำเป็นสำหรับผู้ให้บริการ SaaS หรือองค์กรขนาดใหญ่ที่จัดการทีมภายในหลายทีมบนคลัสเตอร์เดียวกัน
ทีมการตลาดใช้ Doris เพื่อนำเข้าข้อมูล Clickstream จาก Kafka แบบเรียลไทม์ การรัน Ad-hoc SQL ช่วยให้ติดตาม Conversion funnels และตัวชี้วัดเซสชันได้ทันที ทำให้ปรับเปลี่ยน A/B testing และส่งมอบเนื้อหาเฉพาะบุคคลตามปฏิสัมพันธ์ของผู้ใช้ได้แบบสดๆ
วิศวกร DevOps ใช้ Doris เพื่อรวบรวมและค้นหาข้อมูล Log ระบบจำนวนมหาศาล ความสามารถในการกรองและรวมข้อมูลความเร็วสูงช่วยให้ทีมระบุคอขวดของระบบหรือภัยคุกคามความปลอดภัยได้ภายในไม่กี่วินาที แทนที่เครื่องมือจัดการ Log แบบเดิมที่เน้นการใช้ดิสก์หนักๆ
นักวิทยาศาสตร์ข้อมูลใช้ Doris เป็น Feature store แบบเรียลไทม์สำหรับโมเดล Machine Learning โดยการจัดเก็บฟีเจอร์ที่คำนวณไว้ล่วงหน้าและข้อมูลดิบ ระบบจะช่วยให้เข้าถึงฟีเจอร์ได้ด้วยความหน่วงต่ำในระหว่างการทำ Model inference ทำให้มั่นใจได้ว่าการคาดการณ์ของ AI อ้างอิงจากข้อมูลล่าสุด
ต้องการสร้างไปป์ไลน์ข้อมูลที่แข็งแกร่งและมีความหน่วงต่ำ Doris ช่วยลดความซับซ้อนของ Stack โดยแทนที่ Lambda architecture ที่ยุ่งยากด้วยระบบเดียวที่จัดการทั้ง Batch และ Streaming ได้อย่างมีประสิทธิภาพ
ต้องการฐานข้อมูลที่รองรับ SQL มาตรฐานสำหรับงานวิเคราะห์ที่ซับซ้อน Doris มอบประสิทธิภาพที่จำเป็นสำหรับแดชบอร์ดเชิงโต้ตอบและเครื่องมือรายงานโดยไม่ต้องใช้ภาษา Query เฉพาะทาง
ต้องการมอบข้อมูลเชิงลึกแบบเรียลไทม์ให้แก่ผู้ใช้ปลายทาง Doris ช่วยให้พวกเขาสร้างฟีเจอร์การวิเคราะห์ประสิทธิภาพสูงที่รองรับการขยายตัวได้อย่างราบรื่นตามฐานผู้ใช้ที่เติบโตขึ้น
โอเพนซอร์สภายใต้ Apache License 2.0 สามารถดาวน์โหลด แก้ไข และปรับใช้ในสภาพแวดล้อมใดก็ได้โดยไม่มีค่าธรรมเนียมลิขสิทธิ์