มีการประกาศเปิดตัวเวอร์ชันใหม่ของ DBMS DuckDB 0.6.0, เวอร์ชันที่ การบีบอัดข้อมูลได้รับการปรับปรุงนอกเหนือไปจากความจริงที่ว่ามีการเพิ่มฟังก์ชันใหม่ เช่นเดียวกับการปรับปรุงพื้นที่เก็บข้อมูล เหนือสิ่งอื่นใด
ดั๊กดีบี รวมคุณสมบัติของ SQLite เช่น ความกะทัดรัด ความสามารถในการเชื่อมต่อในรูปแบบของไลบรารีรวม การจัดเก็บฐานข้อมูลในไฟล์เดียว และอินเทอร์เฟซ CLI ที่สะดวก พร้อมเครื่องมือและการเพิ่มประสิทธิภาพสำหรับการดำเนินการค้นหาเชิงวิเคราะห์ที่ครอบคลุมส่วนสำคัญของข้อมูลที่จัดเก็บ ตัวอย่างเช่น , ซึ่งทำการรวมเนื้อหาตารางทั้งหมดหรือรวมตารางขนาดใหญ่หลายตาราง
คุณสมบัติใหม่หลักของ DuckDB 0.6.0
ในเวอร์ชั่นใหม่ที่นำเสนอนี้ขอเน้นว่า ทำงานอย่างต่อเนื่องในการปรับปรุงรูปแบบการจัดเก็บ นอกเหนือจากนั้น มีการใช้โหมดการเขียนดิสก์ซึ่งเมื่อโหลดชุดข้อมูลขนาดใหญ่ในธุรกรรมหนึ่ง ข้อมูลจะถูกบีบอัดและสตรีมไปยังไฟล์จากฐานข้อมูลโดยไม่ต้องรอคำสั่ง COMMIT เพื่อคอมมิตธุรกรรม
การเปลี่ยนแปลงอีกอย่างหนึ่งที่โดดเด่นในเวอร์ชันใหม่ก็คือ เพิ่มการรองรับการโหลดข้อมูลแบบขนานลงในตารางแยกต่างหากซึ่งสามารถเพิ่มความเร็วในการโหลดบนระบบมัลติคอร์ได้อย่างมาก ตัวอย่างเช่น ในเวอร์ชันเก่า การโหลดฐานข้อมูลที่มี 150 ล้านแถวบน CPU 10 คอร์ใช้เวลา 91 วินาที และในเวอร์ชันใหม่ การดำเนินการนี้ใช้เวลา 17 วินาที มีสองโหมดของการโหลดแบบขนาน: โดยมีการบันทึกคำสั่งไว้และไม่บันทึกคำสั่ง
สำหรับการบีบอัดข้อมูลจะใช้อัลกอริทึม FSST (ตารางด่วนสัญลักษณ์คงที่) ซึ่งช่วยให้คุณสามารถบรรจุข้อมูลภายในแถวโดยใช้พจนานุกรมทั่วไปของประเภทที่ตรงกัน แอปพลิเคชันของอัลกอริทึมใหม่อนุญาตให้ลดขนาดของฐานข้อมูลทดสอบจาก 761 MB เป็น 251 MB
ในการบีบอัดตัวเลข (DOUBLE และ FLOAT) มีการเสนออัลกอริทึมของ Chimp และ Patas เมื่อเทียบกับอัลกอริทึม Gorillas ก่อนหน้านี้ Chimp ให้การบีบอัดในระดับที่สูงกว่าและคลายการบีบอัดที่เร็วกว่า อัลกอริทึม Patas ช้ากว่า Chimp ในแง่ของการบีบอัด แต่เร็วกว่ามากในด้านความเร็วในการคลายการบีบอัด ซึ่งใกล้เคียงกับการอ่านข้อมูลที่ไม่ได้บีบอัด
นอกจากนี้ยังตั้งข้อสังเกตว่ามันถูกเพิ่ม ความสามารถในการทดลองโหลดข้อมูลจากไฟล์ CSV ในหลายสตรีมคู่ขนาน (SET Experimental_parallel_csv=true) ซึ่งช่วยลดเวลาในการโหลดไฟล์ CSV ขนาดใหญ่ได้อย่างมาก ตัวอย่างเช่น เมื่อเปิดใช้งานตัวเลือกนี้ เวลาในการดาวน์โหลดไฟล์ CSV ขนาด 720MB จะลดลงจาก 3,5 วินาทีเป็น 0,6 วินาที
จากการเปลี่ยนแปลงอื่น ๆ ที่โดดเด่นกว่ารุ่นใหม่นี้:
- ความเป็นไปได้ของการดำเนินการสร้างดัชนีและการจัดการแบบขนานได้ถูกนำมาใช้แล้ว
- SQL ให้ความสามารถในการสร้างแบบสอบถามที่ขึ้นต้นด้วยคำว่า "FROM" แทน "SELECT" ในกรณีนี้ ข้อความค้นหาจะขึ้นต้นด้วย "SELECT *"
- เพิ่มการรองรับนิพจน์ "COLUMNS" ใน SQL ทำให้คุณสามารถดำเนินการกับหลายคอลัมน์โดยไม่ต้องใช้นิพจน์ซ้ำ
- เพิ่มประสิทธิภาพการใช้หน่วยความจำ ตามค่าเริ่มต้นบนแพลตฟอร์ม Linux ไลบรารี jemalloc ใช้สำหรับการจัดการหน่วยความจำ ปรับปรุงประสิทธิภาพของการดำเนินการผสานแฮชเมื่อหน่วยความจำมีจำกัด
- เพิ่มโหมดเอาต์พุต ".mode duckbox" ให้กับ CLI โดยทิ้งคอลัมน์กลางตามความกว้างของบรรทัดของหน้าต่างเทอร์มินัล) ด้วยพารามิเตอร์ ".maxrows X" คุณยังสามารถจำกัดจำนวนแถวผลลัพธ์ได้อีกด้วย
- CLI จัดเตรียมการป้อนข้อมูลอัตโนมัติโดยคำนึงถึงบริบท (คีย์เวิร์ด ชื่อตาราง ฟังก์ชัน ชื่อคอลัมน์ และชื่อไฟล์ที่ป้อนเสร็จสมบูรณ์)
- CLI เปิดใช้งานตามค่าเริ่มต้นเพื่อแสดงตัวบ่งชี้ความคืบหน้าของคิวรี
ในที่สุดถ้าคุณเป็น สนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้คุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.