Site icon PlusMagi's Blog By Pitt Phunsanit

Oracle Database: ยุคต่าง ๆ

จากที่เคยทำงานกับ Oracle 10g และ version ใหม่ ๆ จะเห็นได้ว่า Oracle ไม่ได้เป็นแค่ Database แต่เป็น “อสูรกาย” แห่งการคำนวณที่มีวิวัฒนาการมายาวนานเกือบ 50 ปี บทความนี้จะสรุปความต่างของ Oracle ในแต่ละยุค เพื่อให้คุณเห็นภาพให้รองรับระบบเก่าและใหม่ครับ


ยุคก่อร่างสร้างตัว: The Foundation ( v2 – v6 )

ช่วงปี: 1979 – 1988
นี่คือยุคที่ SQL เพิ่งเกิด Oracle เป็นเจ้าแรกที่นำ SQL มาใช้ในเชิงพาณิชย์ ( ตัดหน้า IBM )
คนสังเกตจะเห็นว่า version 1 มันไม่มี เพราะไม่ได้ออกมาขายจริง


ยุคทองของ Client-Server: Oracle 7, 8, & 8i

ช่วงปี: 1992 – 1999 เป็นยุคที่ Oracle ครองโลกธุรกิจ และเริ่มก้าวเข้าสู่ยุค Internet ( i ย่อมาจาก Internet )


ยุค Grid และ Automation: Oracle 9i, 10g, & 11g

ช่วงปี: 2001 – 2007 ตัวอักษร g ย่อมาจาก Grid Computing เน้นการแชร์ทรัพยากรร่วมกันและการจัดการอัตโนมัติ และจะเจอ 10g ในบริษัทในไทยมากที่สุด


ยุค Cloud และ Multi-tenant: Oracle 12c, 18c, & 19c

ช่วงปี: 2013 – 2019 ตัวอักษร c ย่อมาจาก Cloud โดยมีหัวใจหลักคือ Multitenant Architecture


ยุคปัจจุบัน: AI & Converged Database ( 21c, 23c / 23ai )

ช่วงปี: 2021 – ปัจจุบัน ( ในยุค .NET 10 / 11 ) เน้นการเป็น Converged Database คือตัวเดียวทำได้ทุกอย่าง ( SQL, JSON, Graph, Vector )


ตารางเปรียบเทียบ Oracle ในมุมนักพัฒนา ( C# Provider Perspective )

หัวข้อยุค Legacy ( 7 – 9i )ยุค Grid ( 10g – 11g )ยุค Modern / AI ( 12c – 23ai )
Driver (.NET 10)OLEDB / Managed ODP.NETManaged ODP.NETODP.NET Core / Devart
Metadata MethodManual Query sys tablesDBMS_METADATADBMS_METADATA + PDB aware
Data TypesLONG, RAW, DATEBLOB/CLOB, TIMESTAMPJSON, VECTOR, BOOLEAN
Paging SyntaxROWNUM SubqueryROWNUM SubqueryOFFSET ... FETCH ( 12c+ )

ถ้าจะเขียน Provider ให้ครอบคลุม Oracle ทุกยุค การทำ Paging จะเป็นจุดที่ปวดหัวที่สุด เพราะก่อนเวอร์ชัน 12c เราต้องเขียน Query ซ้อนกัน 3 ชั้นเพื่อทำ ROWNUM แต่ในเวอร์ชันใหม่เราสามารถใช้ OFFSET ... FETCH เหมือน SQL Server ได้แล้วครับ


อ่านเพิ่มเติม

Exit mobile version