Tags:
PostgreSQL

ฐานข้อมูล PostgreSQL ออกรุ่นใหม่ 9.1 แล้ว

ฟีเจอร์ใหม่ในรุ่นนี้มีด้วยกัน 9 ฟีเจอร์ใหญ่ๆ เนื่องจากรายละเอียดค่อนข้างมาก คนที่ใช้งานหรือสนใจก็อ่านกันแบบเต็มๆ ที่ What's new in PostgreSQL 9.1 และ PostgreSQL 9.1 Press Kit

ฟีเจอร์ทั้ง 9 อย่างได้แก่

  • Synchronous Replication ซิงก์ข้ามเซิร์ฟเวอร์ได้แล้ว ทำให้อัตรา high-availability ดีขึ้น
  • Per-Column Collations ตั้งค่า collation ของ string เฉพาะแต่คอลัมน์ได้แล้ว ทำให้สร้างฐานข้อมูลแบบหลายภาษา (และทำดัชนีของแต่ละภาษา) ได้เลย
  • Unlogged Tables เลือกที่จะไม่สร้าง log file ของตาราง ในกรณีที่ต้องการรีดประสิทธิภาพสูงสุด (อาจสูงกว่าแบบเก็บ log file ถึง 10 เท่า)
  • K-Nearest-Neighbor Indexing เพิ่มวิธีการทำดัชนีของตารางแบบ K-Nearest-Neighbor ลดภาระในการสแกนตารางทั้งอัน
  • Serializable Snapshot Isolation ตรวจสอบ race condition ของคำสั่ง SQL เพื่อไม่ให้บล็อคการทำงานของกันและกัน
  • Writeable Common Table Expressions (wCTE) อันนี้อธิบายยาก มันคือการเขียนคำสั่ง SQL query ให้ทำงานแบบต่อเนื่อง (จะเป็น recursive หรือตามลำดับชั้น hierarchy ก็ได้)
  • Security-Enhanced Postgres รองรับมาตรฐาน SE-Linux เพิ่มความปลอดภัยให้ระบบ
  • Foreign Data Wrappers ปรับปรุงตัวเอนจินฐานข้อมูล ให้รองรับข้อมูลจากฐานอื่นที่ไม่ใช่ PostgreSQL ผ่านการครอบ data wrapper
  • Extensions ปรับปรุงเอนจินฐานข้อมูลให้ขยายตัวได้ ผ่านวัตถุชนิด extension

ฟีเจอร์แรก Synchronous Replication จะทำให้ PostgreSQL บุกตลาดฐานข้อมูลขนาดใหญ่ที่มีคลัสเตอร์หลายตัวได้ดีขึ้น และขึ้นไปทาบชั้นกับ Oracle, DB2, MS SQL Server ได้แล้ว

ส่วนฟีเจอร์ Serializable Snapshot Isolation และ Writeable Common Table Expressions ถือเป็นฟีเจอร์เฉพาะของ PostgreSQL ที่คู่แข่งยังไม่มี

PostgreSQL รุ่นนี้เป็นรุ่นที่พัฒนาโดยชุมชน ส่วนการใช้งานในองค์กรขนาดใหญ่ที่ต้องการการสนับสนุน ก็มีบริการของ EnterpriseDB ให้เลือกใช้ได้เช่นกัน

ที่มา - PostgreSQL, The Register

Comments

By: Invisible Force
ContributoriPhoneAndroidUbuntu
Invisible Force's blog
on 14/09/11 10:10 #333016 toggle
Invisible Force's picture

ทำไม K-Nearest-Neighbor Indexing จึงสามารถลดภาระในการสแกนตารางทั้งอันได้ ?

By: wiennat
Writer
wiennat's blog
on 14/09/11 13:20 #333112 Reply to:333016 toggle
wiennat's picture

K-Nearest Neighbor เป็นอัลกอริทึมการจัดกลุ่มของข้อมูลครับ ถ้าจัดกลุ่มได้ดี เราก็ scan เฉพาะที่ distance ใกล้ๆ กับสิ่งที่เราจะหาก็พอครับ :)


onedd.net

By: takz1977
iPhoneUbuntuWindows
takz1977's blog
on 14/09/11 10:20 #333023 toggle
takz1977's picture

ฝั่ง noSQL ก็มี mongoDB เพิ่งออกรุ่น 2.0 เมื่อวันที่ 12 ที่ผ่านมานี้มีใครพอจะติดตามเขียนข่าวบ้างไหมครับ ส่วนตัวผมเพิ่งเริ่มศึกษาไม่นานยังไม่แก่กล้าพอจะอธิบาย

ที่มา - mongoDB 2.0 released


^_^

By: mk
FounderAndroidRed HatWindows
mk's blog
on 14/09/11 11:05 #333050 Reply to:333023 toggle
mk's picture

ข่าว MongoDB อยู่ในคิวครับ ช่วงนี้ข่าวเยอะเขียนไม่ทัน


my disclaimer

By: Wai
Wai's blog
on 14/09/11 10:30 #333027 toggle
Wai's picture

ช่วยอธิบาย CTE กับ wCTE ให้ครับ การทำงาน CTE จะมีลักษณะคล้ายกับการสร้าง View บน SQL Statement แล้วนำมาใช้ซ้ำได้หลายครั้งบน Statement เช่น WITH data as( SELECT 1 OrderNo union SELECT 2 ) select d1.OrderNo from data d1 inner join data d2 on d1.OrderNo = d2.OrderNo; ซึ่งผลลัพธ์ก็คือทำให้การเขียน Query ทำได้กระชับขึ้น

ส่วน wCTE ที่เป็นของใหม่จะเป็นการเรียกข้อมูลที่ INSERT, UPDATE และ DELETE ทำงานด้วยส่งกลับมา จากของเดิมที่จะเป็น SELECT ได้อย่างเดียว ซึ่งการทำงานของ wCTE จะทำทั้งเปลี่ยนแปลงข้อมูลพร้อมกับส่งข้อมูลที่ถูกเปลี่ยนแปลงกลับมาให้ด้วย

By: saknarak
Android
saknarak's blog
on 14/09/11 22:06 #333301 Reply to:333027 toggle
saknarak's picture

ซ้ำ

By: saknarak
Android
saknarak's blog
on 14/09/11 22:04 #333303 Reply to:333027 toggle
saknarak's picture

SQL Server ทำได้ตั้งแต่ 2005 แล้วครับ แค่ไม่ใช่ wCTE ใช้ OUTPUT clause แทน

http://msdn.microsoft.com/en-us/library/ms177564.aspx

ส่วน CTE ของ SQL Server ใช้ทำ Recursive แบบ Top-Down ได้

ถ้าเป็น Oracle จะทำ Recursive query จะใช้ START WITH และ CONNECT BY

MySQL ทำ Recursive ไม่ได้

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 14/09/11 22:21 #333306 Reply to:333303 toggle
PaPaSEK's picture

อันนั้นเป็น Commercial software ครับ ไม่น่าแปลกใจที่มันทำได้นานแล้ว

By: saknarak
Android
saknarak's blog
on 14/09/11 23:08 #333320 Reply to:333306 toggle
saknarak's picture

เป็น commercial หรือไม่ ไม่เกี่ยวครับ ไม่ใช่ว่าเป็น commercial แล้วจะต้องทำได้ทุกอย่าง

อย่าง PostgreSQL/MySQL มี data type ประเภท Geo Spatial ตั้งนานแล้ว แต่ SQL Server เพิ่งจะมีเมื่อ 2008 นี้เอง date, time ก็เพิ่งจะมี เมื่อก่อนมีแต่ datetime

ที่ผมหยิบยกขึ้นมาเพราะ บทความบอกว่า

"ส่วนฟีเจอร์ Serializable Snapshot Isolation และ Writeable Common Table Expressions ถือเป็นฟีเจอร์เฉพาะของ PostgreSQL ที่คู่แข่งยังไม่มี"

ผมก็เสริมไปว่า ถึงไม่มี wCTE แต่มีอย่างอื่นที่เทียบเคียงได้ และมีมานานแล้ว และบทความก็บอกว่าคู่แข่งยังไม่มี คำว่าคู่แข่ง ผมหมายถึงโปรแกรมระบบจัดการฐานข้อมูลทุกยี่ห้อ หรือคิดว่า SQL Server, Oracle, MySQL ไม่ใช่คู่แข่ง??

By: PaPaSEK
ContributorAndroidWindowsIn Love
PaPaSEK's blog
on 15/09/11 0:08 #333346 Reply to:333320 toggle
PaPaSEK's picture

ถ้าเทียบกับ MySQL ผมรับได้ครับ

แต่เอาไปเปรียบเทียบกับ Commercial Software ที่มีความคาดหวังจากลูกค้าสูงมากกว่า

ผมว่ามันขัดกับความรู้สึก (ของผม) ครับ

By: mednoon
mednoon's blog
on 14/09/11 10:35 #333030 toggle
mednoon's picture

น่าสนใจ DB ตัวนี้ครับ แต่ทำไมหา doc อ่านยากถึงยากมากจนครั้งหนึ่งผมถอดใจไป mysql

By: takz1977
iPhoneUbuntuWindows
takz1977's blog
on 14/09/11 11:13 #333063 Reply to:333030 toggle
takz1977's picture

เหมือนหลายปีก่อนผมจะเคยได้ซื้อ หนังสือภาษาไทยเอาไว้เล่มหนึ่ง ถ้าจำไม่ผิดก็ยังไม่เห็นหนังสือ(ไทย)ของ PostgreSQL เล่มอื่นอีก


^_^

By: czynet
iPhoneUbuntu
czynet's blog
on 14/09/11 12:06 #333093 Reply to:333030 toggle
czynet's picture

ที่ว่าหายากนี่หมายถึงภาษาไทยหรอครับ

By: mednoon
mednoon's blog
on 14/09/11 13:30 #333117 Reply to:333093 toggle
mednoon's picture

สมัยสัก 3 ปี ก่อน หาอ่านเรื่อง tuning db ยี่ห้อนี้ยากมากครับ เรื่องโครงสร้างไฟล์, trigger ภาษาต่างๆ นานา ตำแหน่งจัดเก็บ overview concept ต่างๆ ภาษาอังกฤษยังหายากเลย บลา ๆ ผมติดตั้งได้ แต่ทำให้มันเต็มประสิทธิภาพไม่ได้สักที ปัญหาคือจุดนี้ครับ ตอนนั้นถอดใจไป mysql ที่มี doc ให้อ่านเยอะเข้าถึงง่ายกว่า ใช้มาจนทุกวันนี้ :) มีอะไร คน support เพียบ แต่ก็ยังแอบมอง postgreSQL อยู่นะ

By: jane
AndroidUbuntu
jane's blog
on 14/09/11 16:29 #333172 toggle
jane's picture

application ใหญ่ๆ ในไทยที่พอรู้จัก

  • HospitalOS(Java) OS Database ใช้ PostgreSQL
  • HosXP(Delphi) Database ใช้ MySQL

แต่หลังๆ มานี่ HosXP มาแรงกว่า คาดว่าใช้ง่าย ชุมชน ก็ support กันดี


ความรู้ และความฉลาด ไม่ใช่สิ่งเดียวกัน จะมีประโยชน์อะไร ถ้าฉลาดแต่อยู่ในกะลา

By: azezel
AndroidWindows
azezel's blog
on 15/09/11 13:15 #333547 Reply to:333172 toggle
azezel's picture

โปรแกรมเกี่ยวก่ะโรงพยาบาลทั้งนั้น


Alone Again

By: semicolonth
ContributoriPhoneRed HatSymbian
semicolonth's blog
on 15/09/11 13:54 #333558 toggle
semicolonth's picture

ดูจากฟีเจอร์ใหม่แล้วน่าจะเอามาลองใช้แทน MySQL ที่ใช้อยู่เหมือนกันนะเนี่ย


semicolon.in.th