SQLite ออกเวอร์ชั่น 3.45.0 เปลี่ยนโครงสร้าง JSON เป็น JSONB เพื่อเร่งความเร็ว

by lew
16 January 2024 - 12:31

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

การเปลี่ยนแปลงครั้งนี้ทำให้การประมวลผล JSON ทำได้เร็วขึ้นเพราะไม่ต้อง parse ข้อมูลจากข้อความโดยตรงทุกรอบที่ต้องการประมวลผลอีกต่อไป การทำงานยังคงแทบเหมือนเดิม โดยฟังก์ชั่นใน SQL ทั้งหมดที่เคยรองรับ JSON เดิมจะรองรับ JSONB ด้วย และแทบทุกฟังก์ชั่นที่คืนค่าเป็น JSON จะมีฟังก์ชั่นเทียบเคียงกันแต่คืนค่าเป็น JSONB

JSONB เป็นชื่อประเภทข้อมูลที่เริ่มใช้งานโดย PostgreSQL เพื่อเร่งความเร็วการประมวลผล JSON อย่างไรก็ดี SQLite นั้นไม่ได้ใช้โค้ดของ PostgreSQL แต่เขียนขึ้นใหม่เอง และมีความแตกต่างกันพอสมควร การประมวลผลบางอย่างมี big-O ไม่เท่ากัน

ตัวฟิลด์ JSONB นั้นเป็น BLOB ธรรมดา และผู้ใช้สามารถแก้ไขไบนารีได้โดยตรง แต่ทางโครงการเตือนว่าการแก้ไขจน JSONB ผิดรูปแบบ (malformed) อาจจะทำให้ผลลัพธ์คาดเดาไม่ได้ บางทีอาจจะคืนค่าถูก บางทีอาจจะคืนค่า error ว่าอ่านไม่ได้ รวมถึงแต่ละเวอร์ชั่นก็จะไม่รับประกันว่าจะได้ค่าเหมือนเดิม

ที่มา - SQLite

Blognone Jobs Premium