6 คะแนน โดย xguru 2020-12-04 | 6 ความคิดเห็น | แชร์ทาง WhatsApp

"SQLite for Analytics"

  • Embedded RDBMS ที่ปรับแต่งมาสำหรับคิวรีวิเคราะห์ที่ซับซ้อน

  • เขียนด้วย C++11 เป็น single binary ที่ไม่มี dependency และทำงานภายใน host process

  • มี API สำหรับ Python/R/Java/C/C++/Node.js

  • จัดเก็บ DB ไว้ในไฟล์เดียวแบบเดียวกับ SQLite

  • Use case ที่เหมาะสม

→ ประมวลผลและจัดเก็บข้อมูลแบบตาราง เช่น CSV/Parquet

→ การวิเคราะห์ข้อมูลแบบ interactive ที่ทำ Join และ Aggregate กับตารางขนาดใหญ่หลายตาราง

→ เมื่อต้องทำการเปลี่ยนแปลงขนาดใหญ่กับตารางขนาดใหญ่หลายตารางพร้อมกัน (เช่น เพิ่มหลายแถว หรือเพิ่ม/ลบ/เปลี่ยนคอลัมน์ เป็นต้น)

6 ความคิดเห็น

 
xguru 2020-12-04

ดูเหมือนว่ามีเป้าหมายจะแบ่งฝั่งฐานข้อมูลแบบฝังตัวออกเป็น OLTP ใช้ SQLite และ OLAP ใช้ DuckDB

ต่างจาก SQLite ที่ออกมาตั้งแต่ 20 ปีก่อนและตอนนี้แทบจะครองฝั่ง embedded ไปแล้ว นี่เป็นโอเพนซอร์สน้องใหม่ที่เพิ่งออกเวอร์ชัน 0.1 มาได้แค่ราว 1 ปีครึ่งเอง ^^

เมื่อไม่กี่วันก่อนก็เพิ่งเพิ่ม node.js API เข้ามาใหม่ เลยน่าจะเอาไปใช้งานได้สะดวกและหลากหลายขึ้น

 
galadbran 2020-12-04

ทุกครั้งที่เห็นก็รู้สึกเหมือนเดิมว่าผมยังไม่ค่อยเข้าใจความแตกต่างระหว่าง OLTP กับ OLAP แบบชัดเจนเท่าไรครับ ฮือ ดูเหมือนจะไม่ค่อยมีเนื้อหาที่อธิบายได้แบบเคลียร์ ๆ ให้หายข้องใจด้วย

 
galadbran 2020-12-05

ใช่ครับ เพราะคำอธิบายที่เรามักเจอกันก็คือธุรกรรมกับงานวิเคราะห์ตามชื่อนั่นแหละ เลยทำให้ RDB ชื่อดังทั่วไปทั้งเขียนทั้งลบก็เร็ว และงานวิเคราะห์ก็เร็วด้วย อย่างเช่น Oracle หรือ PostgreSQL ก็ไม่ได้มีฝั่งไหนที่เรียกได้ว่าถนัดเป็นพิเศษแบบชัดเจนอยู่แล้วด้วย... ส่วนการวิเคราะห์ในยุคบิ๊กดาต้าก็ให้ความรู้สึกว่าอย่างไรก็ไกลเกินขีดความสามารถของพวกนั้นไปมากแล้วอยู่ดี เลยแค่จะบอกว่าตอนนี้ก็ยังไม่ค่อยเข้าใจว่าการแยก OLTP กับ OLAP มันมีความหมายอะไรอยู่มากน้อยแค่ไหน ^^;

 
nicewook 2020-12-04

OLTP เหมาะกับงานอย่างการเพิ่ม ดึงออก ลบ ฯลฯ

ส่วน OLAP คือการนำข้อมูลที่มีอยู่ข้างในมาจัดการในรูปแบบต่าง ๆ เพื่อวิเคราะห์

มองคร่าว ๆ ได้ประมาณนี้ไหมครับ?

 
xguru 2020-12-04

อืม.. วิธีที่ผมอธิบายคือ

  • OLTP คือแนวนอน: เป็นการเพิ่มอะไรบางอย่างทีละแถว (มีคำสั่งซื้อใหม่เข้ามา)

  • OLAP คือแนวตั้ง: เป็นการอ่านทั้งคอลัมน์เพื่อคำนวณหรือแก้ไขอะไรบางอย่าง (คำนวณค่าเฉลี่ยยอดขายรายวัน)

 
amdev 2024-06-05

OLTP เป็นแนวนอน
OLAP เป็นแนวตั้งนะ