DuckDB 0.6.0 เปิดตัวแล้วและมีการปรับปรุงการเขียนดิสก์ การโหลดข้อมูล และอื่นๆ

DuckDB, DBMS ที่ใช้โดย Google, Facebook และ Airbnb

DuckDB เป็นระบบจัดการฐานข้อมูล SQL OLAP ในการสร้าง

มีการประกาศเปิดตัวเวอร์ชันใหม่ของ 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 เปิดใช้งานตามค่าเริ่มต้นเพื่อแสดงตัวบ่งชี้ความคืบหน้าของคิวรี

ในที่สุดถ้าคุณเป็น สนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้คุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา