การเปิดตัว DBMS SQLite 3.32 โครงการ DuckDB พัฒนาตัวแปร SQLite สำหรับการค้นหาเชิงวิเคราะห์

ที่ตีพิมพ์ ปล่อย SQLite3.32.0ซึ่งเป็น DBMS น้ำหนักเบาที่ออกแบบมาให้เป็นไลบรารีปลั๊กอิน รหัส SQLite ได้รับการเผยแพร่เป็นสาธารณสมบัติ เช่น อาจนำไปใช้ได้โดยไม่มีข้อจำกัดและไม่มีค่าใช้จ่ายสำหรับวัตถุประสงค์ใดๆ การสนับสนุนทางการเงินสำหรับนักพัฒนา SQLite นั้นมาจากกลุ่มความร่วมมือที่สร้างขึ้นเป็นพิเศษ ซึ่งรวมถึงบริษัทต่างๆ เช่น Adobe, Oracle, Mozilla, Bentley และ Bloomberg

หลัก การเปลี่ยนแปลง:

  • ดำเนินการแล้ว โดยประมาณ ตัวแปรของคำสั่ง ANALYZE ซึ่งช่วยให้คุณเข้าถึงด้วยการรวบรวมสถิติบางส่วนในฐานข้อมูลขนาดใหญ่มาก โดยไม่ต้องสแกนดัชนีทั้งหมด ขีด จำกัด จำนวนบันทึกเมื่อสแกนหนึ่งดัชนีถูกตั้งค่าโดยใช้คำสั่งใหม่ "PRAGMA การวิเคราะห์_ขีดจำกัด"
  • เพิ่มตารางเสมือนใหม่ "รหัสไบต์"ซึ่งมีข้อมูลเกี่ยวกับ ไบต์โค้ด สำนวนที่เตรียมไว้ล่วงหน้า (คำสั่งที่เตรียมไว้).
  • เพิ่มชั้น VFS การตรวจสอบซึ่งเพิ่มเช็คซัมขนาด 8 ไบต์ต่อท้ายข้อมูลแต่ละหน้าในฐานข้อมูล และตรวจสอบทุกครั้งที่อ่านจากฐานข้อมูล เลเยอร์นี้ช่วยให้คุณตรวจจับความเสียหายของฐานข้อมูลอันเป็นผลมาจากความเสียหายแบบสุ่มของบิตในอุปกรณ์จัดเก็บข้อมูล
  • เพิ่มฟังก์ชัน SQL ใหม่ ถ้า(X,Y,Z)โดยส่งคืนค่า Y หากนิพจน์ X เป็นจริง หรือส่งกลับ Z มิฉะนั้น
  • INSERT และ UPDATE นิพจน์ตอนนี้เสมอ นำไปใช้ ประเภทคอลัมน์แช่แข็ง (ความสัมพันธ์ของคอลัมน์) ก่อนประเมินเงื่อนไขในบล็อก ตรวจสอบ.
  • เพิ่มขีดจำกัดจำนวนพารามิเตอร์จาก 999 เป็น 32766
  • เพิ่มส่วนขยาย ลำดับการเรียง UINT ด้วยการใช้การเรียงลำดับโดยคำนึงถึงจำนวนเต็มในข้อความเพื่อจัดเรียงข้อความนั้นตามลำดับตัวเลข
  • ในอินเทอร์เฟซบรรทัดคำสั่ง ตัวเลือก "-csv", "-ascii" และ "-skip" ได้ถูกเพิ่มลงในคำสั่ง ".import" คำสั่ง “.dump” อนุญาตให้ใช้เทมเพลต LIKE หลายเทมเพลตพร้อมการรวมเอาต์พุตของตารางทั้งหมดที่สอดคล้องกับมาสก์ที่ระบุ เพิ่มคำสั่ง ".oom" สำหรับการสร้างการดีบัก เพิ่มตัวเลือก "--bom" ในคำสั่ง ".excel", ".output" และ ".once" เพิ่มตัวเลือก "--schema" ให้กับคำสั่ง ".filetrl"
  • นิพจน์ ESCAPE ที่ระบุด้วยตัวดำเนินการ LIKE จะแทนที่ไวด์การ์ด ซึ่งสอดคล้องกับพฤติกรรมของ PostgreSQL

นอกจากนี้ เรายังสังเกตการพัฒนา DBMS ใหม่ได้ด้วย ดั๊กดีบีซึ่งกำลังพัฒนาตัวแปรของ SQLite ที่ปรับให้เหมาะสมสำหรับการดำเนินการ แบบสอบถามเชิงวิเคราะห์.
นอกเหนือจากโค้ดเชลล์จาก SQLite แล้ว โปรเจ็กต์ยังใช้ตัวแยกวิเคราะห์จาก PostgreSQL และส่วนประกอบ Date Math จาก โมเน็ทดีบีการใช้งานฟังก์ชั่นหน้าต่างของตัวเอง (ขึ้นอยู่กับอัลกอริธึม Segment Tree Aggregation), เอ็นจิ้นการดำเนินการคิวรีแบบเวกเตอร์ (ขึ้นอยู่กับอัลกอริธึม Hyper-Pipelining Query Execution), ตัวประมวลผลนิพจน์ทั่วไปที่ใช้ไลบรารี RE2เครื่องมือเพิ่มประสิทธิภาพการสืบค้นของตัวเองและกลไก MVCC สำหรับจัดการการดำเนินงานพร้อมกัน (การควบคุมการทำงานพร้อมกันหลายเวอร์ชัน)
รหัสโครงการ จัดจำหน่ายโดย ภายใต้ใบอนุญาต MIT การพัฒนายังอยู่ในขั้นตอน การขึ้นรูป รุ่นทดลอง

ที่มา: opennet.ru

เพิ่มความคิดเห็น