6 คะแนน โดย GN⁺ 2024-01-16 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

สรุปการออกรุ่นของ SQLite

  • SQLite เพิ่มคุณสมบัติ SQLITE_RESULT_SUBTYPE เพื่อเสริมการรองรับฟังก์ชัน SQL ที่แอปพลิเคชันกำหนดเอง
  • ฟังก์ชัน JSON SQL ได้รับการปรับปรุงโดยใช้ JSONB ซึ่งเป็นรูปแบบ parse tree ภายในแบบใหม่
  • ตัววางแผนคิวรีสามารถตัดสินใจเลือกดัชนีได้ดีขึ้น และการเพิ่มประสิทธิภาพ SQLITE_DIRECT_OVERFLOW_READ ถูกเปิดใช้งานเป็นค่าเริ่มต้น
  • CLI ได้รับการปรับปรุง รวมถึงการแสดงผลเนื้อหา UTF-8 ที่ดีขึ้น และการทำงานอัตโนมัติในการตรวจจับการเล่นซ้ำของสคริปต์ ".dump"

การแก้บั๊กและการเพิ่มประสิทธิภาพ

  • มีการแก้ไขบั๊กหลากหลายรายการและปรับปรุงประสิทธิภาพ
  • เพิ่ม C API ใหม่ sqlite3_get_clientdata() และ sqlite3_set_clientdata()
  • คำสั่ง PRAGMA integrity_check ตอนนี้ตรวจสอบความสอดคล้องของ virtual table ที่มีมาในตัว
  • ตัววางแผนคิวรีปรับปรุงการจัดการ partial index scan และ DISTINCT subquery

การปรับปรุง SQLite CLI และฟีเจอร์อื่น ๆ

  • CLI ปรับปรุงการแสดงผลเนื้อหา UTF-8 และจำกัดการใช้ฟังก์ชัน SQL ที่มีความเสี่ยง
  • คำสั่ง PRAGMA integrity_check ตรวจสอบความตรงกันระหว่างสตริงข้อความและดัชนี
  • เพิ่มอินเทอร์เฟซ sqlite3_stmt_scanstatus_v2()
  • การเรียกใช้งานที่ใช้เวลานานซึ่งคล้ายกับ sqlite3_prepare() จะเรียก progress callback และตอบสนองต่อ sqlite3_interrupt()

ความเห็นจาก GN⁺

  • การปรับปรุงอย่างต่อเนื่องของ SQLite มีความสำคัญต่อเสถียรภาพและประสิทธิภาพของระบบจัดการฐานข้อมูล
  • การปรับปรุงฟังก์ชัน JSON SQL มีประโยชน์อย่างยิ่งสำหรับนักพัฒนาเว็บและนักพัฒนาแอปพลิเคชันบนมือถือ
  • การปรับแต่งตัววางแผนคิวรีช่วยให้คิวรีฐานข้อมูลที่ซับซ้อนมีประสิทธิภาพมากขึ้นและประหยัดทรัพยากรของระบบได้

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

 
GN⁺ 2024-01-16
ความคิดเห็นบน Hacker News
  • วิธีเร็ว ๆ สำหรับคนที่อยากลอง SQLite เวอร์ชันใหม่บน macOS:

    • มีลิงก์อธิบายวิธีใช้ SQLite เวอร์ชันบน macOS ร่วมกับ Python
    • อธิบายวิธีคอมไพล์ไลบรารี SQLite ด้วยคำสั่งง่าย ๆ และตรวจสอบเวอร์ชันใน Python
    • แนะนำคำสั่ง datasette สำหรับลองใช้เว็บ UI ของ SQLite
  • สิ่งที่ปรับปรุงเกี่ยวกับ JSONB ใน SQLite:

    • การใช้ JSONB อาจทำให้งานที่เกี่ยวกับ JSON เร็วขึ้นได้ 3 เท่า
    • JSONB มีขนาดเล็กกว่า JSON แบบข้อความราว 5%~10% ในกรณีส่วนใหญ่
    • เนื่องจาก Notion Labs ใช้ JSON จำนวนมาก จึงคาดว่าจะช่วยลดการใช้ดิสก์ได้
  • บันทึกประจำรุ่นแบบอินเทอร์แอ็กทีฟของ SQLite 3.45:

    • หากบันทึกประจำรุ่นอย่างเป็นทางการน่าเบื่อ ก็มีลิงก์เวอร์ชันแบบอินเทอร์แอ็กทีฟให้
  • กรณีที่น่าประทับใจของ SQLite ในการคาดการณ์คำเตือนของคอมไพเลอร์ GCC ในอนาคต:

    • กล่าวถึงการที่ SQLite เตรียมรับมือคำเตือนใหม่ของคอมไพเลอร์ GCC ล่วงหน้า
  • ความสนใจต่อ SQLite แบบ cloud-native และคำขอให้เปรียบเทียบกับ PostgreSQL:

    • แสดงความสนใจต่อบริการ SQLite บนคลาวด์
    • ขอข้อมูลสำหรับเปรียบเทียบ PostgreSQL กับ SQLite
  • การประเมิน SQLite ใหม่และมุมมองเชิงบวกที่เปลี่ยนไป:

    • เลิกมอง SQLite ว่าเป็นแค่ "ฐานข้อมูลของเล่น" และยอมรับว่ามันมีประโยชน์กับแอปจริง
  • ข้อสงสัยต่อการตัดสินใจเก็บจำนวนเต็มและเลขทศนิยมเป็นข้อความใน JSONB:

    • วิจารณ์แนวทางการเก็บข้อมูลนี้ว่าอาจจำกัดกรณีใช้งานของ JSONB
  • การนำ JSONB มาใช้ที่เคยถูกพูดถึงก่อนหน้านี้:

    • กล่าวถึงว่าก่อนหน้านี้มีการพูดคุยบน Hacker News ในหัวข้อ "JSONB has landed"
  • ความท้าทายของการจัดเก็บและประมวลผลข้อมูลลักษณะเดียวกับ JSON อย่างมีประสิทธิภาพใน SQLite:

    • อธิบายถึงความต้องการมายาวนานของ SQLite ในการนำ JSONB มาใช้ และแนวทางที่ใช้เพื่อทำให้เกิดขึ้นจริง
  • ฟอร์แมตภายในของ JSONB ใช้พื้นที่ดิสก์น้อยกว่า JSON แบบข้อความ:

    • แชร์ข้อมูลว่า JSONB ใช้พื้นที่ดิสก์น้อยกว่า JSON แบบข้อความ