เจ้าเป็ด DuckDB ฐานข้อมูลน่ารักๆ ใช้งานง่าย และมีประสิทธิภาพสูง
ทำไมต้อง DuckDB?
- ง่าย! เค้าได้ไอเดียมาจาก SQLite ที่เป็นฐานข้อมูลที่ไม่ว่าใครก็ตามจะทำ app หรือจะวิเคราะห์ข้อมูล สามารถใช้งานมันได้ง่ายมาก โดยที่เราไม่จำเป็นต้องไปตั้ง server เอง (ซึ่งถ้ามี server อยู่แล้วก็ไปใช้ server ดีกว่านะ) และเค้าก็บอกว่าเราไม่จำเป็นต้องไปติดตั้ง external dependencies เพิ่มอีกด้วย ตัวมันเองแฝงตัวอยู่ใน host process อยู่แล้ว ไม่ได้รันแยกออกไปอีก process (นึกภาพง่ายๆ คือ เราไม่ได้ลงโปรแกรมเพิ่ม)
- มี ACID เราสามารถใช้ SQL แบบซับซ้อนได้ ต่อกับไฟล์ CSV หรือ Parquet ได้ตรงๆ
- เร็ว! เนื่องจากว่าเค้าออกแบบให้เป็น Online analytical processing (OLAP) ซึ่งจะเหมาะมากสำหรับการ query ข้อมูลเพื่อไปวิเคราะห์ และมีการทำ parallel query processing ด้วย
- ฟรี~ เพราะเป็น open source
DuckDB นี้ใช้ Apache Arrow ด้วย ฉะนั้นการเก็บข้อมูล และการ convert ไฟล์ format ไปมาระหว่างไลบรารี่มันจะไวมาก
ส่วนวิธีติดตั้งนั้น…
เนื่องจากว่าเราไม่ต้องลงโปรแกรมอะไรเพิ่ม เราติดตั้งแบบติดตั้งแพคเกจใน app ของเราได้เลย ประมาณนี้ สามารถเลือกได้ว่าจะเป็น Python, R, Java, node.js, C++ หรือแบบ CLI แยกไปเลย
อ่ะ ถ้าอยากลองเล่น เค้ามี DuckDB Shell ให้ลองนะ
อย่างไรก็ตามนะครับ เนื่องจากว่า DuckDB เราใช้รันบนเครื่อง local ดังนั้นถ้าเรามีข้อมูลที่มันใหญ่มากๆ ก็ควรจะไปใช้ server หรือ cluster แทนเด้อ~