สำหรับการเก็บข้อมูลรูปแบบ JSON ใน PostgreSQL นั้น
ก่อนหน้านี้จะเก็บใน type JSON
ซึ่งการจัดเก็บก็คือ type text นั่นเอง
จะเหมาะสำหรับเก็บข้อมูล JSON ที่มีรูปแบบที่ถูกต้องไว้
และไม่ต้องการการทำ index ของข้อมูลที่จัดเก็บ
ทำให้เพิ่มข้อมูลได้อย่างรวดเร็ว
โดย use case ที่เหมาะสมคือ log การใช้งานต่าง ๆ หรือพวก history ต่าง ๆ
แต่ถ้าเราต้องการเข้าถึงข้อมูลใน JSON ละ ?
สิ่งที่เก็บไว้ใน database ที่มี type JSON จะไม่ตอบโจทย์
โดยทาง PostgreSQL 9.4 ก็ได้เพิ่ม type JSONB (Binary or Better) มาจัดเก็บ
รวมทั้งสามารถทำ index ด้วย GIN indexing
ช่วยให้เข้าถึงข้อมูลตาม attribute/property ต่าง ๆ ใน JSON ได้อย่างรวดเร็ว
แต่โครงสร้างของ JSON ที่จัดเก็บต้องไม่ซับซ้อนด้วย
ดังนั้น การออกแบบสำคัญมาก ๆ
ใน PostgreSQL 14 ได้เปลี่ยนวิธีการเข้าถึง attribute/property ใหม่
รวมทั้งการใช้งานเบื้องต้นไว้ดังนี้
เป็นอีกหนึ่งทางเลือกของการออกแบบและพัฒนาระบบงานที่น่าสนใจ
ลองศึกษาเพิ่มเติมกันดูครับ