database Archive

PostgreSQL :: เรื่องของ partitioning table

จาก blog เรื่อง PostgreSQL 19 beta ทำการปรับปรุงความสามารถของ partitioning tableคือการเพิ่มการ merge และ split partition เข้ามา (maintenance partition)เพื่อช่วยแยกหรือรวมข้อมูลหลังจากที่ข้อมูลเกิดขึ้นมาซึ่งอาจจะไม่ตรงตามที่คิดหรือคาดหวังไว้ โดยมีคำถามเกี่ยวกับ partition table มันเป็นอย่างไร ?จึงทำการอธิบายให้นิดหน่อยดังนี้

Read More…

PostgreSQL :: มีกี่ table ใน database ?

คำถามที่น่าสนใจเกี่ยวกับ database คือในแต่ละ database ของระบบงานเรานั้นมีจำนวน table เท่าไร ?ในแต่ละ table มีกี่ column​ ?ในแต่ละ table มี PK, FK และ index กี่ตัว ?ในแต่ละ table มีข้อมูลกี่ row และจะโตขึ้นอีกด้วยอัตราความเร็วเท่าไร

Read More…

ความสามารถที่น่าสนใจใน Postgres 19

PostgreSQL ได้ปล่อย version 19 beta 1 ออกมาให้ทดลองใช้งานโดยมีความสามารถใหม่ ๆ และ ปรับปรุงความสามารถให้ดีขึ้นยกตัวอย่างเช่น มาลองใช้งานเล่นกันดูเล็กน้อย

Read More…

บันทึกการอ่านบทความเรื่องการ scale database จาก Scaling Rails at Aura Frames

จากบทความเรื่อง Scaling Rails at Aura Frames: Splitting to 8 Primary DBsมีความน่าสนใจสำหรับการปรับปรุงระบบให้รองรับการใช้งานที่สูงขึ้นทั้งอัตราการ write และ read ข้อมูลโดย technology ที่ใช้ในการพัฒนาระบบคือ Ruby on Rails และ PostgreSQL ใน AWS RDSมาดูกันว่า ก่อนและหลังการปรับปรุงจากปัญหาที่เจอมีอะไรที่น่าสนใจบ้าง

Read More…

PostgreSQL :: ลองไปดูการใช้งาน index กันหน่อย

ปัญหาที่พบเจอจากการ review การใช้งาน PostgreSQL ของระบบงานหนึ่งคือการใช้ disk ที่สูงมาก ๆ CPU สูง แถวขึ้น ๆ ลง ๆทั้ง ๆ ที่จำนวนคนใช้งานไม่เยอะ !!ดังนั้นจึงเข้าไปดูหน่อยว่า มีการใช้งาน database เป็นอย่างไรบ้าง ?เพื่อจะได้แก้ไขปัญหา หรือ ลดปัญหาลงไปได้บ้าง

Read More…

บันทึกเรื่อง Soft delete ใน PostgreSQL database ไว้นิดหน่อย

เห็นใน feed มีพูดคุยเรื่องการ soft delete ข้อมูลใน databaseซึ่งคำถามแรกที่เกิดขึ้นมาคือ soft delete มันคืออะไร ?คำตอบคือ การไม่ลบข้อมูลจริง ๆ แต่ทำการ update ให้มี status=delete ไปแล้วตอนดึงข้อมูลก็ใช้ where clause นั่นเองแต่ว่าวิธีการนี้มีปัญหาอะไรที่ควรต้องรู้ไว้นิดหน่อย

Read More…

การใช้งาน SKIP LOCKED ใน PostgreSQL database

จากการแบ่งปันความรู้ของ PostgreSQL database นั้นมีคำถามเกี่ยวกับการใช้งาน SKIP LOCKED ที่เพิ่มเข้ามาตั้งแต่ version 9.5 นั้น (2016)ว่าทำงานอย่างไร และ มี use case อะไรบ้าง

Read More…

มาลองใช้งาน MCP Toolbox for Databases จาก Google กัน

ทาง Google ปล่อย MCP Toolbox for Databases ออกมาช่วยทำให้สามารถสร้าง MCP server สำหรับการเข้าถึง database ต่าง ๆ ได้ง่ายขึ้นโดยผ่านสิ่งที่เรียกว่า MCP Toolboxสามารถเชื่อมต่อ database ต่าง ๆ ได้มากมาย รวมทั้ง database ใน google cloud ด้วยซึ่งจะเรียกว่า sourceและสามารถเขียน code ได้ทั้ง เพื่อให้เข้าใชมาลองใช้งานกันดีกว่า

Read More…

บันทึกการแบ่งปันเรื่องการจัดการข้อมูลใน PostgreSQL database

ในการแบ่งปันเรื่องการจัดการข้อมูลใน PostgreSQL databaseมีเรื่องพื้นฐานต่าง ๆ ที่น่าสนใจเพื่อช่วยให้จัดการข้อมูลดีขึ้นกว่าเดิม ไม่ใช่แค่ทำให้เสร็จ ๆแล้วรอแก้ไขปัญหา หรือ เราอาจจะกำลังสร้างระเบิดเวลาขึ้นมาก็ได้จึงทำการสรุปสิ่งที่แบ่งปันไว้นิดหน่อยเป็นเรื่องพื้นฐานล้วน ๆ

Read More…

การใช้งาน Data structure ใน Redis

คำถามที่น่าสนใจเกี่ยวกับการจัดการข้อมูลใน Redisซึ่งเป็น key-value database และจัดเก็บข้อมูลลงใน memory เป็นหลักแต่ก็สามารถ persist ข้อมูลลลง disk ได้เช่นกันโดย use case หลัก ๆ ของ Redis มักจะเป็น caching dataแต่ Redis นั้นมันเป็น data structure databaseนั่นคือ เราสามารถจัดเก็บข้อมูลในรูปแบบต่าง ๆ พื่อให้ง่ายต่อการใช้งานดังนั้นเราลองมาทำความรู้จักกันนิดหน่อยว่ามีอะไรให้ใช้งานบ้าง

Read More…