ผมไม่แน่ใจว่าหลายๆคนจะรู้จัก PostgreSQL กันหรือเปล่าว่ามันคือระบบฐานข้อมูลยอดนิยมที่มีลิขสิทธิ์แบบ open source อีกตัวหนึ่ง ที่มีความสามารถมาก และคิดว่ามีฟีเจอร์พอๆกับ oracle แต่ฟรีแบบ MySQL และแน่นอนมันเขียน PL/SQL ได้และหลายภาษาด้วย
ตอนนี้ PostgreSQL ได้ออกเบต้าแรกของเวอร์ชั่น 8.3 มาแล้้วเมื่อวันที่ 8 ตุลาคม ที่ผ่านมาโดยในเวอร์ชั่นเบต้านี้มีฟีเจอร์ใหม่ๆได้แก่
- การปรับปรุงครั้งใหญ่ในเรื่อง performance consistencythrough HOT, Load Distributed Checkpoint, JIT bgwriter, Asynchronous Commit และอื่นๆ
- มีการผนวก TSearch2 ซึ่งเป็นมอดูลในการค้นหาแบบ full text search พร้อมทั้งปรับปรุง syntax และเพิ่มเติมใน custom dictionary ด้วย
- SQL/XML syntax
- Logging to database-loadable CSV files.
- Automated rebuilding of cached plans.
- เพิ่ม complex type ใหม่ๆเช่น ENUMs, UUIDs และ arrays (ของ complex types)
- รองรับการ authenticate แบบ GSSAPI และ SSPI
- อื่นๆ ซึ่งสามารถหาอ่านได้ใน released note
(ขออนุญาตตัดแปะในบางหัวเรื่อง เนื่องจากรู้น้อยไปหน่อยครับ)
ที่มา - PostgreSQL: 8.3 Beta 1 Released!
Comments
PostgreSQL ก็ได้ยินมาหลายที
อันนี้สงสัย ทำไมเท่าที่เห็นถึงเห็นแต่ MySQL มากกว่าล่ะครับ?
น่าจะเพราะว่า MySQL มันง่ายกว่า (ในด้านการใช้งาน) หรือเปล่าครับ? เพราะ PostgreSQL นี่ตอนผมเปลี่ยนจาก MySQL มาค่อนข้างตะกุกตะกักอยู่พอสมควรเลย มีรายละเอียดหลายๆ อย่างที่ต้องใส่ใจ (เช่นเรื่อง
'
กับ"
ก็ใช้แทนกันไม่ได้) แล้วก็รายละเอียดอื่นๆ อีกมากมายที่ผมชอบของ PostgreSQL ก็คือเรื่องฟีเจอร์หลายๆ อย่างของมัน เช่น Datatype ของตารางแบบ Array, Rules, Trigger, Views หรือแม้แต่ PL/pgSQL ที่เป็นภาษาภายในของ Pg เองก็ตาม ช่วยให้งานหลายๆ อย่าง ง่ายขึ้น (และสนุกขึ้น) มากเลยทีเดียว
ผมคิดว่าสาเหตุหลักเพราะ PostgreSQL ใช้ license แบบ BSD ครับ ไม่ได้ใช้ GNU GPL
Stay Foolish
ผมว่าน่าจะเป็นเรื่อง user friendly กับเรื่อง ช้า มากกว่าครับ แต่เรื่องความสามารถแล้ว PostgreSQL นี่ความสามารถเยอะจริง ๆ ครับ ขาดตัวออก report กับ load balance เท่านั้น
จริงๆ แล้วมันไม่ช้านะครับ ถ้าปรับแต่งเป็น อย่าง fsync ถ้าปิดมันซะ มันจะเร็วพอๆ กับ mysql โดยยังไม่ทันไปปรับแต่งตัวอื่น fsync มันเป็นตัวแปรบอกให้ postgresql sync data ลง harddisk จริงๆ ถ้าปิดมัน มันจะขึ้นอยู่กับ filesystem ว่าจะ sync เมื่อไหร่ อย่าง ext3 นี่ก็น่าจะปรับให้มัน sync เร็วๆ หน่อยได้
เคยเจอปัญหานี้ตอนใช้ sqlite เหมือนกัน ตอน insert ข้อมูลเยอะๆ
พอปิด fsync ปุ๊บ เร็วขึ้นสิบเท่า
iPAtS
iPAtS
ชอบ Postgresql ครับมันมีความ Classic ในตัวของมันเองดี ^o^ (ต้องลองใช้เองครับถึงจะรู้ ตอนนี้ใช้งานอยู่ประจำทุกวันครับ)
เดี๋ยวคงเอาคำแนะนำของคุณ cwt ไปคนห้าข้อมูลเพิ่มเสียแล้วครับ ไม่ทราบ fsync ไป config อย่างไงตรงไหนครับ ทุกวันนี้ใช้งานแต่ defualt ปรับแต่งแต่ตัว max_connections แค่เท่านั้นอะครับ
ในความคิดผมนะครับ
- Postgresql เหมาะกับระบบงานภายในองค์กรหรือหน่วยงาน เพราะมีเครื่องเป็นของตัวเองเลือกลงได้อิอิ
- Mysql เหมาะกับงานทำเว็บต่างๆ เพราะต้องไปใช้กับ Hosting อื่นๆ
ผมไม่แน่ใจว่าบน platform ต่างๆ จะอยู่ที่เดียวกันหรือเปล่า ลองถาม google ดูครับ ใส่ postgresql กับ fsync ลงไปครับ
ข้อควรระวังอย่างเดียวคือ ถ้าใช้ระบบ cluster กับ postgres เช่น postgresql + slony + wal (write ahead log) จำเป็นต้องปล่อย fsync ให้ on ครับ แต่ถ้า run คนเดียวไม่ได้ทำ cluster ก็สามารถปิด fsync ได้ แต่ data อาจจะหายได้ ถ้าเครื่อง crash หรือ unplug ดังนั้นควรจะมีระบบสำรองไฟที่ดีด้วย ถ้าใช้บน linux ก็ปรับให้ filesystem sync เร็วกว่าค่า default หน่อยก็จะดีครับ
อยากได้วิธีใช้งานแบบละเอียดอ่ะคับ ขอบคุณคับ :-)