10 คะแนน โดย xguru 2025-07-03 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เอนจินยุคถัดไปที่ออกแบบมาเฉพาะเพื่อ เร่งความเร็วคิวรี SQL โดยใช้ฮาร์ดแวร์ GPU รุ่นล่าสุด
  • ส่งคิวรีที่สร้างจากเอนจิน CPU (DuckDB) ไปยังสภาพแวดล้อม GPU (Sirius) ผ่าน ฟอร์แมตคิวรี Substrait
  • แยก Raw Data Cache Region และ Processing Region ภายในหน่วยความจำ GPU เพื่อเพิ่มประสิทธิภาพการโหลดและประมวลผลข้อมูลให้สูงสุด
  • ทำความเร็วได้ มากกว่า 10 เท่าเมื่อเทียบที่ต้นทุนเท่ากัน บนขนาด TPC-H 100 โดยไม่ต้องแก้ไขคิวรีหรือเปลี่ยนระบบ
  • เหมาะสำหรับ เวิร์กโหลดข้อมูลขนาดใหญ่ เช่น การวิเคราะห์แบบเรียลไทม์ การเงิน และ ETL
  • สภาพแวดล้อมที่รองรับ: Ubuntu 20.04+, GPU NVIDIA Volta(7.0+) ขึ้นไป, CUDA 11.2+, CMake 3.30.4 ขึ้นไป (แนะนำ 16 vCPU ขึ้นไป)
  • วิธีติดตั้ง: มีให้เลือก 3 แบบ ได้แก่ AWS AMI (อิมเมจที่ตั้งค่าไว้ล่วงหน้า), Docker image และการติดตั้ง dependency ด้วยตนเอง
    • Docker: sudo docker run --gpus all -it yifeiyang7/sirius_dependencies:latest bash
    • แบบแมนนวล: ต้องติดตั้ง dependency ของ DuckDB, CUDA, libcudf (ติดตั้งผ่าน conda) เป็นต้น แยกต่างหาก
  • ข้อจำกัดหลัก
    • ทำงานได้เฉพาะภายในขนาดหน่วยความจำ GPU เท่านั้น (มีแผนรองรับ partitioning/batching, disk spill และ multi-GPU ในภายหลัง)
    • จำนวนแถวสูงสุดถูกจำกัดด้วยขีดจำกัด int32_t ของ libcudf (~2 พันล้านแถว)
    • ชนิดข้อมูล: รองรับ INTEGER, BIGINT, FLOAT, DOUBLE, VARCHAR, DATE, DECIMAL และกำลังพัฒนาชนิดอื่นเพิ่มเติม
    • ตัวดำเนินการ: รองรับ FILTER, PROJECTION, JOIN, GROUP-BY, ORDER-BY, AGGREGATION, TOP-N, LIMIT, CTE ส่วนฟังก์ชัน WINDOW เป็นต้นยังอยู่ระหว่างพัฒนา
    • ยังไม่รองรับ Partially NULL Column (มีแผนแพตช์ในอนาคต)
    • หากเกิดปัญหา จะสลับกลับไปใช้เอนจิน CPU ของ DuckDB โดยอัตโนมัติ