Tags:
Node Thumbnail

ฐานข้อมูล 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

Get latest news from Blognone

Comments

By: Invisible Force
ContributoriPhoneAndroidUbuntu
on 14 September 2011 - 11:10 #333016
Invisible Force's picture

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

By: wiennat
Writer
on 14 September 2011 - 14:20 #333112 Reply to:333016

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


onedd.net

By: takz1977
iPhoneUbuntu
on 14 September 2011 - 11:20 #333023
takz1977's picture

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

ที่มา - mongoDB 2.0 released

By: mk
FounderAndroid
on 14 September 2011 - 12:05 #333050 Reply to:333023
mk's picture

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

By: Wai on 14 September 2011 - 11:30 #333027

ช่วยอธิบาย 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
on 14 September 2011 - 23:06 #333301 Reply to:333027
saknarak's picture

ซ้ำ

By: saknarak
Android
on 14 September 2011 - 23:04 #333303 Reply to:333027
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
on 14 September 2011 - 23:21 #333306 Reply to:333303
PaPaSEK's picture

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

By: saknarak
Android
on 15 September 2011 - 00:08 #333320 Reply to:333306
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
on 15 September 2011 - 01:08 #333346 Reply to:333320
PaPaSEK's picture

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

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

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

By: mednoon on 14 September 2011 - 11:35 #333030

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

By: takz1977
iPhoneUbuntu
on 14 September 2011 - 12:13 #333063 Reply to:333030
takz1977's picture

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

By: czynet
iPhoneRed HatUbuntu
on 14 September 2011 - 13:06 #333093 Reply to:333030

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

By: mednoon on 14 September 2011 - 14:30 #333117 Reply to:333093

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

By: jane
AndroidUbuntu
on 14 September 2011 - 17:29 #333172
jane's picture

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

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

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

By: azezel
AndroidUbuntuWindowsIn Love
on 15 September 2011 - 14:15 #333547 Reply to:333172
azezel's picture

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

By: semicolonth
ContributoriPhoneAndroidRed Hat
on 15 September 2011 - 14:54 #333558
semicolonth's picture

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


blog.semicolon.in.th