Infisical โครงการแพลตฟอร์มเก็บความลับ (secret management platform) แบบโอเพนซอร์ส รายงานถึงการย้ายระบบฐานข้อมูลจาก MongoDB มาเป็น PostgreSQL ว่าประสบความสำเร็จดีและทำให้การเซ็ตอัพโครงการใช้งานเองทำได้ง่ายขึ้น
ทางโครงการระบุว่าเลือก MongoDB พร้อมกับ Mongoose ORM เพราะทีมงานเคยชินกับ stack นี้ที่สุด และตอนแรกไม่ได้คิดว่าจะมีผู้ใช้พยายามติดตั้งแพลตฟอร์มใช้งานเองมากนัก แต่หลังจากโครงการได้รับความนิยม MongoDB กลับเป็นคอขวดเนื่องจากฟีเจอร์สำคัญคือการทำ transaction จำเป็นต้องติดตั้งแบบคลัสเตอร์แบบโปรดักชั่นและคนที่เชี่ยวชาญการเซ็ตอัพ MongoDB ก็หาได้ยากกว่า ขณะที่ฝั่งนักพัฒนาเองหลายครั้งก็อยากได้ฟีเจอร์ฝั่ง SQL เช่น CASCADE ที่สามารถลบข้อมูลที่เกี่ยวข้องออกไปพร้อมกันทีเดียวได้
Simon Riggs หนึ่งในทีมนักพัฒนาหลักของโครงการ PostgreSQL เสียชีวิตเมื่อวันที่ 26 มีนาคมที่ผ่านมา จากเหตุเครื่องบินตกที่เมือง Cambridgeshire สหราชอาณาจักร
Riggs เป็นผู้พัฒนาฟีเจอร์ระดับองค์กรใน PostgreSQL หลายตัว เช่น point-in-time recovery, hot standby, และ synchronous replication เขาก่อตั้งบริษัท 2ndQuadrant ที่สุดท้ายรวมเข้าไปยัง EnterpriseDB ผู้ขายซัพพอร์ต PostgreSQL รายใหญ่ทุกวันนี้
ตัว Riggs เองทำงานใน PostgreSQL ตลอดมาแม้เกษียณแล้ว โดยยังคงตำแหน่ง Postgres Fellow และเป็นผู้กล่าวคีย์โน้ตเปิดงาน PostgreSQL Europe เมื่อปี 2023
ทางโครงการ PostgreSQL แสดงความเสียใจกับครอบครัวและเพื่อนของ Riggs
PostgREST โปรแกรมแปลง PostgreSQL ให้กลายเป็น REST API ออกเวอร์ชั่น 12 โดยเพิ่มฟีเจอร์สำคัญคือ Media Type Handlers ทำให้สามารถเขียนฟังก์ชั่นในภาษา SQL และ HTMX เพื่อสร้างเว็บจากตัวฐานข้อมูลได้โดยตรง
ที่จริงแล้วฟีเจอร์นี้เปิดทางให้ฟังก์ชั่นใน PostgREST สามารถคืนค่าข้อมูลเป็นชนิดอะไรก็ได้ เว็บเป็นเพียงทางหนึ่งเท่านั้น แต่การสร้างเว็บผ่าน PostgREST ก็ทำให้สามารถสร้างแอปพลิเคชั่นที่สมบูรณ์ทั้งหมดได้จากใน PostgREST เองเลย
นอกจากนั้นยังมีฟีเจอร์ย่อยๆ ได้แก่
กูเกิลประกาศว่าฐานข้อมูล AlloyDB Omni เวอร์ชัน on-premise ที่เปิดตัวครั้งแรกในเดือนมีนาคม ตอนนี้เข้าสถานะ general availability (GA) แล้ว
กูเกิลเปิดตัวฐานข้อมูล AlloyDB ครั้งแรกในปี 2022 โดยเป็นฐานข้อมูลที่กูเกิลสร้างระบบเบื้องหลังขึ้นเองเพื่อให้ประสิทธิภาพดีขึ้นมาก แต่ยังเข้ากันได้กับ PostgreSQL 14 อยู่ด้วย ในช่วงแรกยังมีเฉพาะเวอร์ชันรันบนคลาวด์
ParadeDB ผู้สร้างดิสโทรของ PostgreSQL เปิดส่วนขยาย pg_bm25 สำหรับการสร้าง search engine ด้วย PostgreSQL โดยมีเป้าหมายคือการทดแทน Elasticsearch
pg_bm25 อาศัยการสร้าง index แบบ BM25 ที่สามารถหาเอกสารโดยไม่ได้เรียงลำดับแค่พบคำค้นหาเท่านั้น แต่ให้คะแนนจำนวนครั้งที่พบคำค้น, ให้ความสำคัญกับคำที่พบได้น้อยเป็นพิเศษ, ให้ความสำคัญกับเอกสารที่สั้นกว่า โดย Elasticsearch เองก็ใช้ BM25 ในการค้นเอกสารเช่นกัน
PostgreSQL ออกเวอร์ชั่น 16.0 โดยเวอร์ชั่นนี้ไม่ได้มีฟีเจอร์ใหญ่ๆ นัก แต่เป็นการปรับปรุงย่อยๆ จำนวนมาก เช่น
Supabase โครงการ back-end-as-a-service แบบโอเพนซอร์สเปิดโครงการ Postgres Language Server เปิดทางให้ editor ภาษาต่างๆ สามารถเขียนโค้ด SQL แบบ PostgreSQL ได้ง่ายขึ้น
Language Server นั้นเป็นโปรโตคอลที่สื่อสารกับ editor เพื่อให้ editor รองรับภาษาใหม่ๆ ได้เต็มรูปแบบ โดยรองรับฟีเจอร์เช่น syntax highlighting, auto-completion, แสดงจุดผิดพลาดของโค้ด, ทำ code formatting
กูเกิลเปิดตัวฐานข้อมูล AlloyDB Omni เวอร์ชันรันแบบ on-premise ได้ด้วย เพิ่มจากของเดิมที่มีเฉพาะเวอร์ชันคลาวด์
ปีที่แล้ว กูเกิลเปิดตัวฐานข้อมูล AlloyDB เป็นการนำ PostgreSQL มาปรับแต่งสถาปัตยกรรมหลายอย่างให้ประสิทธิภาพดีขึ้น รันบนคลาวด์ โดยยังคงความเข้ากันได้กับ PostgreSQL ทั้งหมด 100% (ลักษณะเดียวกับ Amazon Aurora)
คราวนี้ กูเกิลเปิดตัว AlloyBD Omni ที่สามารถรันแบบ on-premise, edge หรือแม้แต่ในคอมพิวเตอร์ของนักพัฒนาได้ โดยชูว่ามีประสิทธิภาพดีกว่า PostgreSQL รุ่นมาตรฐานถึง 2 เท่าสำหรับงานอ่านเขียนฐานข้อมูลทั่วไป และเร็วกว่า 100 เท่าสำหรับงานวิเคราะห์ข้อมูล
Replit บริการ IDE สำหรับพัฒนาเว็บบนเว็บ ประกาศร่วมมือกับ Neon ผู้ให้บริการ PostgreSQL แบบ Serverless ทำให้นักพัฒนาสามารถสร้างฐานข้อมูลออนไลน์ไปด้วย เปิดทางพัฒนาเว็บเต็มรูปแบบบน Replit
ตัวเซิร์ฟเวอร์มีขนาดเดียวคือแรม 4GB และสตอเรจ 10GB คิดค่าใช้งาน 100 Cycle ต่อวัน หรือวันละ 1 ดอลลาร์ เทียบกับค่าบริการอื่นๆ เช่น การพัฒนาโครงการแบบเป็นส่วนตัวเดือนละ 500 Cycle, ค่ารันเซิร์ฟเวอร์ต่อเนื่องวันละ 20 Cycle, เซิร์ฟเวอร์แรงพิเศษวันละ 350 Cycle หรือค่าปัญญาประดิษฐ์ช่วยเขียนโค้ด 1,000 Cycle ต่อเดือน
ตอนนี้บริการยังอยู่ในช่วงเริ่มต้น ทาง Replit ระบุว่าฐานข้อมูลจะปิดเองหากไม่ได้ใช้งานนาน 5 นาที และเปิดกลับมาในเวลาไม่กี่วินาที ในอนาคตจะเพิ่มเซิร์ฟเวอร์ขนาดใหญ่ให้ใช้งานด้วย
PostgreSQL ออกเวอร์ชั่น 15 หนึ่งปีหลังจาก PostgreSQL 14 โดยรอบนี้ไม่มีการปรับปรุง syntax การเขียนคิวรีใหญ่ๆ แต่เป็นการปรับปรุงประสิทธิภาพ และการทำงานเบื้องหลังมากกว่า
ในแง่ประสิทธิภาพ การปรับปรุงอัลกอรึทึมการเรียงข้อมูลทำให้การคิวรีในกลุ่ม ORDER BY
ทั้งหลายเร็วขึ้น 25%-400% ขณะที่การคิวรีแบบ SELECT DISTICT
ก็ประมวลผลขนานกันทำให้เร็วขึ้นเช่นกัน อีกส่วนหนึ่งคือประสิทธิภาพเร็วขึ้นจากการรองรับการบีบอัดข้อมูลแบบ LZ4 และ zstd ในตัว ทำให้ประหยัดทั้งพื้นที่ดิสก์ในการเขียน write-ahead log (WAL) และเพิ่มประสิทธิภาพในบางกรณีที่ความเร็วตันที่ IOPS รวมถึงการสั่งคำสั่งสำรองข้อมูล pg_basebackup
ก็รองรับการบีบอัดจากเซิร์ฟเวอร์โดยตรง
ในแง่การคิวรี คำสั่งใหม่ที่เพิ่มเข้ามาคือ MERGE
สำหรับการสั่ง INSERT
, UPDATE
, และ DELETE
ในคำสั่งเดียวตามเงื่อนไข และยังเพิ่มฟังก์ชั่นการประมวลข้อมูลด้วย regular expression อีกหลายตัว ทำให้ค้นหาสตริงได้ซับซ้อนขึ้น
ที่มา - PostgreSQL
ไมโครซอฟท์เปิดบริการ Database Migration Assessment for Oracle เครื่องมีเสริมในบริการ Azure Data Studio ที่ช่วยประเมินว่าฐานข้อมูลในองค์กรสามารถย้ายมาใช้งานบน PostgreSQL ได้ยากง่ายเพียงใด
PostgreSQL พัฒนาโดยมีแนวทางพยายามทำให้รัน SQL จากฐานข้อมูล Oracle ได้ตั้งแต่แรก ทำให้การรองรับโค้ด SQL ข้ามกันได้ค่อนข้างมาก
เครื่องมือนี้ไม่ได้ช่วยแปลงฐานข้อมูลให้ แต่จะเข้าไปวิเคราะห์ว่ามีส่วนที่ย้ายได้ง่ายจุดใดบ้าง และมีจุดที่ย้ายได้ยาก หรือต้องเปลี่ยนสถาปัตยกรรมซอฟต์แวร์ไปเลยตรงไหนบ้าง ไมโครซอฟท์ใช้โครงการโอเพนซอร์ส ora2pg มาสร้างบริการนี้
Supabase ผู้พัฒนาแพลตฟอร์มทดแทน Firebase เปิดโครงการ postgres-wasm พอร์ต PostgreSQL ทั้งก้อนเข้าไปรันในเบราว์เซอร์ด้วย WASM แม้ว่าก่อนหน้านี้ Crunchy Data จะเคยทำโครงการแบบเดียวกันมาก่อนแล้ว แต่ก็ทำไว้ใช้งานสำหรับเว็บสอน SQL ของ Crunchy Data เองเท่านั้น แต่ postgres-wasm นี้เป็นโครงการโอเพนซอร์สที่นำไปใช้งานอย่างอื่นได้ด้วย
โครงการนี้ทาง Supabase พัฒนาโครงการร่วมกับ Snaplet โครงการแปลงข้อมูลในฐานข้อมูลเพื่อให้นักพัฒนานำข้อมูลจากโปรดักชั่นไปใช้งานได้ ตัวโครงการ postgres-wasm จึงมี repository สองที่จากทั้ง Supabase และ Snaplet
PostgREST โครงการสำหรับใช้งาน PostgreSQL แบบ REST API ออกเวอร์ชั่น 10.0.0 เพิ่มฟีเจอร์ทำให้สามารถใช้งานฐานข้อมูลผ่านเว็บได้ใกล้เคียงกับการรัน psql มากยิ่งขึ้น ฟีเจอร์สำคัญๆ ได้แก่
Supabase ผู้พัฒนาแพลตฟอร์มพัฒนาแอปแบบ PaaS ประกาศโครงการส่วนขยายสำหรับ PostgreSQL เพื่อขยายความสามารถของฐานข้อมูลอีกสองโครงการ คือ Supabase Vault และ pg_jsonschema
Crunchy Data ผู้ให้บริการฐานข้อมูล PostgreSQL บนคลาวด์ เปิดบทเรียน SQL แบบออนไลน์ฟรี ให้ผู้เรียนสามารถฝึกเขียน SQL ได้อย่างอิสระ โดยอาศัยการคอมไพล์ PostgreSQL ทั้งชุดมารันบน WASM ใช้งานได้เหมือนข้อมูลจริง โดยไม่ต้องเปลืองทรัพยากรฝั่งของ Crunchy Data เอง (นอกจากค่าพัฒนาและค่าแบนวิดท์)
ทีมวิจัยความปลอดภัยของ Wiz ผู้ให้บริการรักษาความปลอดภัยบนคลาวด์ทดสอบความปลอดภัยของบริการฐานข้อมูลแบบ SQL บนคลาวด์โดยเจาะเฉพาะบริการ PostgreSQL ที่ได้รับความนิยมสูง โดยการออกแบบของ PostgreSQL นั้นไม่ได้คำนึงถึงการใช้งานพร้อมกันหลายองค์กร (multi-tenant) ผู้ให้บริการคลาวด์ต้องหาทางจัดการแยกข้อมูลออกจากกัน พร้อมกับจำกัดสิทธิ์ของลูกค้าไม่ให้เข้ามายุ่งกับระบบเกินความจำเป็น แม้บัญชีของลูกค้าจะมีสิทธิ์ผู้ดูแลฐานข้อมูลเต็มรูปแบบก็ตาม
Google Cloud เปิดตัวบริการใหม่ที่สำคัญในงาน I/O 2022 ปีนี้คือ ฐานข้อมูล AlloyDB ที่เข้ากันได้กับ PostgreSQL 100% (อิงอยู่บน PostgreSQL 14 เวอร์ชันล่าสุด) แต่สถาปัตยกรรมข้างหลังออกแบบใหม่หมด มีความเร็วอ่านเขียนทั่วไปเพิ่มขึ้นจาก PostgreSQL 4 เท่า และถ้าเป็นการคิวรีข้อมูลมาวิเคราะห์จะเร็วขึ้นสูงสุด 100 เท่า
เราสามารถเรียก AlloyDB ว่าเป็นคู่แข่งของ Amazon Aurora ที่ AWS นำ MySQL/PostgreSQL มาปรับแต่งเพิ่มเติม (แต่ฝั่งกูเกิลมีเฉพาะ PostgreSQL) ซึ่งกูเกิลก็ชูว่า AlloyDB เร็วกว่า Aurora PostgreSQL 2 เท่าด้วยเช่นกัน
Timescale ผู้พัฒนาส่วนขยาย PostgreSQL ในชื่อ TimescaleDB สำหรับการเก็บข้อมูลตามเวลา (time-series) เช่น ข้อมูลล็อกหรือเซ็นเซอร์ต่างๆ ได้รับเงินทุน 110 ล้านดอลลาร์ มูลค่าบริษัทเกิน 1 พันล้านดอลลาร์ โดยระบุว่าช่วงสองปีที่ผ่านามีลูกค้าจ่ายเงินแล้วกว่า 500 องค์กร รายได้เพิ่มขึ้น 20 เท่าตัว
ทาง Timescale ระบุว่านอกจากการพัฒนาสินค้าแล้ว เงินทุนก้อนนี้จะนำไปสร้างทีมเฉพาะสำหรับการพัฒนาตัว PostgreSQL ในโครงการต้นน้ำโดยตรง จากเดิมที่บริษัทจ้างนักพัฒนาโครงการต้นน้ำเป็นพนักงานเต็มเวลาอยู่แล้ว
สำหรับแนวทางการพัฒนาตัว TimescaleDB เองจะเน้นการทำงานร่วมกับคลาวด์เต็มรูปแบบ เช่น การใช้สตอเรจแบบ serverless, การขยายเซิร์ฟเวอร์, รวมไปถึงการปรับปรุง Promscale ที่ใช้เก็บค่าจากแอปพลิเคชั่นต่างๆ
Supabase เปิดตัวโครงการ pg_graphql ส่วนขยายสำหรับ PostgreSQL แบบโอเพนซอร์ส เพื่อรองรับการคิวรีแบบ GraphQL ได้โดยตรง ใช้แรมน้อยกว่าเทคโนโลยี
ซอฟต์แวร์สำหรับให้บริการ GraphQL บนฐานข้อมูลแบบ SQL นั้นมีอยู่หลายตัว หากนับเฉพาะที่รองรับ PostgreSQL และเป็นโครงการโอเพนซอร์สก็มี Graphile และ Hasura ได้รับความนิยมอย่างสูงอยู่แล้ว แต่ทาง Supabase ระบุว่าโครงการเหล่านี้อาศัยส่วนประกอบมากเกินไป ทำให้ใช้หน่วยความจำสูง จึงต้องสร้างโซลูชั่นแบบเบาขึ้นมาทดแทน
เมื่อปีที่แล้ว AWS เปิดตัวโครงการ Babelfish for PostgreSQL ตัวแปลงให้ซอฟต์แวร์ต่างๆ ที่เชื่อมต่อกับ Microsoft SQL Server สามารถเชื่อมกับฐานข้อมูล PostgreSQL ได้เพื่อประหยัดค่าไลเซนส์ ตอนนี้โครงการก็เข้าสถานะ GA ให้ทุกคนใช้งาน พร้อมกับโครงการโอเพนซอร์สออกมาพร้อมกัน
Babelfish รับผิดชอบการแปลงโปรโตคอล 3 ระดับ ได้แก่
PostgreSQL ซอฟต์แวร์ฐานข้อมูลโอเพนซอร์สออกเวอร์ชั่น 14 โดยมีความเปลี่ยนแปลงด้านประสิทธิภาพภายในหลายอย่าง แต่สำหรับภาษา SQL ที่ใช้คิวรีในเวอร์ชั่นนี้เพิ่มเอาฟีเจอร์ subscripting เข้ามา ทำให้การเขียนคิวรี JSON นั้นเหมือนกับการเขียนจาวาสคริปต์มากขึ้น
PostgreSQL รองรับ JSONB มาตั้งแต่เวอร์ชั่น 9.2 แต่การคิวรีนั้นใช้เครื่องหมาย (operator) เฉพาะทาง ทำให้โปรแกรมเมอร์ค่อนข้างสับสน เช่นการดึงข้อมูลในออปเจกต์นั้นใช้เครื่องหมาย ->>
เช่น '{"a":1,"b":2}'::json->>'b'
การรองรับ subscripting ทำให้ SQL ที่คิวรีเขียนเหมือนกับโค้ดจาวาสคริปต์ที่นิยมใช้งานกัน
Alibaba เปิดโครงการ PolarDB ชุดแพตช์และส่วนขยายสำหรับ PostgreSQL เพื่อให้กลายเป็นระบบฐานข้อมูลแบบกระจายตัว (distributed database) สามารถขยายระบบโดยโดยเพิ่มโหนดเข้าไปในคลัสเตอร์
ตัวโครงการระบุว่า PolarDB รองรับ SQL เท่ากับ PostgreSQL เดิม รวมถึงฟีเจอร์เช่น ACID สำหรับทำ transaction ข้อมูลแต่ละตารางจะถูกแยกออกเป็น shard กระจายไปตามโหนดต่างๆ พร้อมกับสำเนาอีก 2 โหนด ทำให้คลัสเตอร์ขั้นต่ำต้องมี 3 โหนด สามารถมีโหนดขนาดเล็กเพื่อเก็บ write ahead log เท่านั้น โดยไม่ต้องรันคิวรีจริงทำให้มีขนาดเล็กกว่า
AWS เปิดโครงการโอเพนซอร์ส Babelfish for PostgreSQL ตัวแปลงโปรโตคอล ทำให้แอปที่พัฒนาเพื่อเชื่อมต่อกับ Microsoft SQL Server ผ่านทางโปรโตคอล TDS และภาษาคิวรี T-SQL สามารถเชื่อมต่อเข้ากับ PostgreSQL และทำงานต่อไปได้โดยไม่ต้องเสียค่าไลเซนส์ Microsoft SQL Server อีกต่อไป
Babelfish รับคำสั่ง SQL บางส่วนที่ SQL Server รองรับ เช่น คำสั่ง SQL ทั่วไป, cursors, catalog views, data types, triggers, stored procedures, และ function หากแอปพลิเคชั่นใช้งานเฉพาะส่วนที่ Babelfish รองรับก็จะสามารถรันแอปต่อไปได้เลย แม้เอนจินฐานข้อมูลด้านหลังจะกลายเป็น PostgreSQL ไปแล้วก็ตาม
Google เปิดตัวระบบ Database Migration Service หรือ DMS สำหรับไมเกรตฐานข้อมูลภาคองค์กรขึ้นสู่ Google Cloud อย่างราบรื่น ลดปัญหาต่าง ๆ รวมถึงใช้เวลาดาวน์ไทม์ที่น้อยที่สุดในขณะไมเกรตระบบ
Google DMS ใช้ระบบทำสำเนาข้อมูลจากต้นทางทั้ง MySQL, PostgreSQL และ SQL Server ไปยังระบบ Cloud SQL โดยก่อนหน้านี้ Google จะให้บริการไมเกรตฐานข้อมูลผ่านพาร์ทเนอร์ (ในขณะที่คู่แข่งอย่าง AWS และ Azure มีมานานแล้ว) แต่เนื่องจากทุกวันนี้มีผู้สนใจย้ายมาคลาวด์มากขึ้น การออก DMS เองจะช่วยอำนวยความสะดวกให้ลูกค้าที่ต้องการไมเกรตระบบ ลดเวลาและขั้นตอนที่ใช้ในการไมเกรตระบบได้มาก
PostgreSQL ออกเวอร์ชั่น 13 หลังจากเวอร์ชั่น 12 เกือบหนึ่งปี ปรับปรุงทั้งประสิทธิภาพ, ขนาดฐานข้อมูล, และการออปติไมซ์การคิวรีจากระบบสถิติที่ดีขึ้น โดยฟีเจอร์แยกย่อยได้แก่
สำหรับนักพัฒนาที่ชัดเจนที่สุดคือการรองรับฟังก์ชั่น gen_random_uuid()
โดยไม่ต้องเปิดใช้งานปลั๊กอินใดๆ จากก่อนหน้านี้ต้องใช้ uuid-ossp, มีฟังก์ชั่น datetime()
สำหรับแปลงวันที่ที่อยู่ในฟอร์แมตมาตรฐาน, และการคิวรีรองรับคำสำคัญ WITH TIES
คืนค่าชุดข้อมูลที่เรียงแล้วได้ค่าเท่ากับชุดข้อมูลก่อนหน้า เช่นกรณีต้องการ 10 อันดับแรกที่อันดับที่ 10 และ 11 มีค่าเท่ากันก็จะคืนให้ 11 ชุด