หน้าแรก > Oracle > รู้จัก Oracle Database : จาก version 1 สู่ version 11g

รู้จัก Oracle Database : จาก version 1 สู่ version 11g


นอกจากปีนี้ จะเป็นปีที่ oracle ฉลองครบรอบ ก่อตั้งมา 30 ปีแล้ว ยังเป็นปีที่ oracle มีกำหนดปล่อย oracle version ใหม่ คือ oracle 11g เวบ oracleskill.com จึงขอย้อนตำนาน ทำความรู้จัก oracle database เริ่มตั้งแต่ oracle version แรก จนมาล่าสุด oracle 10g ว่าในแต่ละ version มีฟีเจอร์ และที่มายังไงบ้าง ก่อนที่เราจะก้าวต่อไป ในยุค oracle 11g ที่จะเปิดตัวในวันที่ 11 กรกฎาคมนี้

จุดเริ่มต้นตำนาน

Database Management System เริ่มมีใช้ใน ทศวรรษ 1960 ซึ่งยังเป็นฐานข้อมูลที่มีโครงสร้างแบบ ลำดับชั้น ( hierarchies ) และ แบบ network อยู่ ซึ่งยากลำบากในการเขียน Application จนกระทั่ง Dr.Ted Codd ซึ่ง ทำงานอยู่ที่ บริษัท IBM ในขณะนั้น มีความคิดในการ จัด organize data ใหม่ ซึ่ง Dr.Codd เรียกมันว่า “Relational Model”
Relational Model นี้ ใช้ ตาราง 2 มิติ ประกอบด้วย แถว (row) และ คอลัมน์ (column) โดย ข้อมูลในตาราง สามารถ เชื่อมความสัมพันธ์ (relationship) ระหว่างตารางกันได ้ แต่ช่วงนั้น relational model ของ Codd ก็ยัง ไม่ม ีการเอาไปทำ ในเชิงพาณิชย์ และ บริษัท IBM เองก็ไม่มีแผนเอา ไอเดีย ของ Dr. Codd ไปใช้งาน

 

Oracle version 1 : จุดกำเนิดของ Oracle 

ในปี ค.ศ. 1977 Larry Ellison , Bob Miner , และ Ed Oates ได้จัดตั้ง Software Development Laboratories ( ซึ่งต่อมา ได้เปลี่ยนชื่อเป็น “Oracle”) เพื่อพัฒนาระบบงานที่ได้รับ contract อยู่ หลังจากที่ได้อ่าน paper ที่เขียนโดย Dr. Codd ใน “IBM Journal of Research and Development” แล้ว เห็นโอกาสในอนาคต จึงทำการพัฒนา ฐานข้อมูล SQL relational database เพื่อการค้า เป็นเจ้าแรก พวกเขาได้เรียกชื่อ ฐานข้อมูลของพวกเขาว่า “Oracle” ตาม code name ของ โปรเจ็คที่ได้รับเงินทุนสนับสนุนจาก CIA ที่พวกเขาร่วมงานด้วยอยู่ ทว่า version แรก นี้ ไม่ได้ปล่อย release ออกมา 

 

Oracle version 2 : Oracle Database ตัวแรก 

Version 2 ของ Oracle RDBMS ได้ปล่อยออกมาในปี ค.ศ. 1979 ตีตลาดกับ IBM ถึง 4 ปี  Oracle version 2 นี้ เป็น commercial relational database เจ้าแรก และก็เป็น database ที่ใช้ ภาษา SQL ในตลาดฐานข้อมูลเป็นเจ้าแรกด้วย และ ก็เริ่มทำให้เกิดตำนานอันน่ามหัศจรรย์ขึ้น ซึ่งเป็นตำนานอันน่ามหัศจรรย์จริงๆ Oracle ได้เติบโตเป็น องค์การระดับโลก ที่มีพนักงานมากกว่า 68,000 คน และ มีผลิตภัณฑ์เป็นร้อยผลิตภัณฑ์

Oracle version 3 : Portable Oracle Database

Portability (ความสามารถในการติดตั้งโดยไม่ขึ้นกับ platform) เป็นความต้องการที่สำคัญของลูกค้า เพราะ สามารถ เลือกที่จะ ติดตั้งบน Hardware และ Operation System platform ที่ลูกค้าต้องการได้ เพื่อที่จะให้ database สามารถ portable ได้ จึงเขียนโค้ดใหม่ด้วยภาษ C เพื่อให้ database หน้าตาเหมือนกันไม่ว่าจะ run บน platform ไหน

 

Oracle version 4 : The Reliable Oracle Database 

Version 4 ของ Oracle RDBMS ได้ใส่ความคิดที่สำคัญ เกี่ยวกับ concurrency control คือ multiversion read consistency ที่ทำให้ user ผู้อ่าน data กับ ผู้เขียน data สามารถไป access data เดียวกันได้ โดย ไม่มีการ บล็อก ซึ่งกันและกัน นั่นหมายความว่า user สามารถเรียกดู data ได้โดยไม่ต้องไปกังวลกับ ข้อมูลที่ยังไม่ได้ commit (dirty data)
Multiversion Read Consistency ไม่เพียงแต่จะให้ throughput ที่สูง แต่ยังทำให้การเขียน application ง่ายขึ้น เพราะไม่ต้องไปกังวล กับการเกิด deadlock และ ไม่ต้องไปติดกับข้อจำกัดของ system เพราะ oracle จะจัดการให้ transaction มี performance ที่ดี และ ข้อมูลมีความสอดคล้อง (data consistency) โดยอัตโนมัติ

 

Oracle version 5 : the distributed Oracle Database

ในปี ค.ศ. 1985 Oracle RDBMS เริ่มสนับสนุนสถาปัตยกรรมแบบ client/server และเริ่มสนับสนุน distributed database

 

Oracle version 6 : the scalable Oracle Database 

ในช่วงปีทศวรรษ 1960 ตลาดฐานข้อมูลเฟื่องฟู มีคู่แข่งหน้าใหม่หลายเจ้า ทำให้ Oracle ต้องมีการปรับปรุง performance และ เพิ่มฟีเจอร์ใหม่ๆ ผลที่ออกมา คือ Oracle RDBMS version 6 ซึ่งเป็นการ redesigned database โดย วิศวกรของ Oracle เขียนโค้ดใหม่ เพื่อตอบสนองต่อ disk I/O, concurrency control, scalability, และ backup&recovery ที่จะทำให้ระบบ สามารถขยายขนาด (scalable) ได้ และ มีความสามารถใช้งานได้ตลอดเวลา (high availability)

 

Oracle version 7 : the programmable Oracle Database

Oracle 7 เป็น release ที่สามารถฝัง stored procedure ที่เขียนด้วย PL/SQL ซึ่งถูกออกแบบ สำหรับสภาพแวดล้อม ที่ซับซ้อน และ มี scale ที่ใหญ่ เสริมด้วย database trigger ที่ implement ให้ทำงานได ้เมื่อเกิดเหตุการณ์ insert, update, และ delete เพื่อสนับสนุน business rule.
นอกจาก นี้ Oracle 7 ยังสามารถ implemented distributed transaction management ทำให้สามารถ update กระจายพร้อมกันหลาย database ได้

Oracle version 8 : the all-your-data Oracle Database

เพื่อที่จะสามารถ รองรับข้อมูลจำนวนมหาศาล เช่น text, รูปภาพ,ข้อมูลทางการแพทย์,ข้อมูลด้านแผนที่ Oracle version 8 ได้มีการแบ่งซอยข้อมูล เป็น partition เมื่อจัดการกับตารางที่มีขนาดใหญ่มากๆ
Oracle 8 มีจุดมุ่งหมาย สองประการ คือ ต้องการปรับปรุง infrastructure ที่สนับสนุนฐานข้อมูล ที่มีขนาดใหญ่มากๆ เพื่อที่จะ เป็นจุดแข็งในธุรกิจ data warehouse และ ต้องการเพิ่มความจุของ database ดังนั้น Partitioning เป็น key technology ที่ จะทำให้องค์กร สามารถเก็บข้อมูลปริมาณมหาศาลใน oracle database

 

Oracle version 8i : the internet Oracle Database

Oracle เป็นหนึ่งในบริษัทแรกๆ ที่เห็นว่า “internet เปลี่ยนแปลงทุกอย่าง ” เพื่อที่จะพร้อมรับ ความเปลี่ยนแปลงนี้ oracle 8i ได้พัฒนาให้ มีความสามรถ รองรับการขยายขนาดได้มากขึ้น และ สนับสนุน internet protocols
Oracle 8i database สามารถ run บนสถาปัตยกรรม แบบ multitier ซึ่ง internet ก็ถูกออกแบบให้เป็นเช่นนั้น และยังใช้ภาษา java เป็น database engine

 

Oracle version 9i : the extended Oracle Database 

Oracle 9i database ได้มี Oracle Real Application Clusters (Oracle RAC) ออกมาใน release 2 เพื่อให้เครื่อง server หลายตัว สามารถติดต่อ database ตัวเดียวกันพร้อมๆกันได้ ทำให้มีความสามารถ scalability และ high availability
นอกจากนี้ oracle 9i database ยังเพิ่ม Oracle XML database (Oracle XML DB) ซึ่งทำให้สามารถจัดเก็บ และ query เอกสาร XML ใน database ได้

 

Oracle Database 10g : the grid computing database

Grid Computing เป็นการทำให้ resource เช่น storage , database server , application server เป็นแบบ virtualization ซึ่งทำให้องค์กร สามารถจัดการหลายๆ node ได้ง่าย เหมือนมีแค่หนึ่ง node ดังนั้น workload สามารถ ย้าย จากที่หนึ่ง ไปอีกที่หนึ่ง ตามความต้องการของ business requirement
ใน Oracle Database 10g (g หมายถึง grid) สามารถใช้ server ราคาถูก และ storage ราคาถูก มาต่อกัน แทนที่จะ ซื้อ infrastructure ที่มีขนาดใหญ่และมีราคาแพง
oracle database 10g ยังมี Automatic Storage Management เพื่อทำเป็น virtualizes storage และ มี Oracle Enterprise Manager Grid Control สำหรับจัดการระบบ ที่มีหลาย node เหมือนมีแค่หนึ่ง
จุด มุ่งหมายหลัก ในการออกแบบ Oracle Database 10g คือ ทำให้การจัดการง่ายที่สุดเท่าที่ทำได้ จนมันสามารถ จัดการตัวมันเอง และ จูนตัวมันเองได้

 

Reference : Oracleskill

หมวดหมู่:Oracle
  1. ยังไม่มีความเห็น
  1. No trackbacks yet.

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: