Oracle XE 10g [vs] MySQL v5.1.6 สงครามของฟรี !
หุหุๆ หลังจากที่ผมก็ลองลงไปศึกษาเรื่องของ Oracle ให้มากขึ้นๆ ก่อนที่จะได้เริ่มทำงานจริงกับทาง Middleware แล้วผมก็หาข้อมูลเกี่ยวกับของฟรี มาเปรียบเทียบให้ฟังกันเล่นๆนะครับ ผิดถูกยังไงช่วยเติมให้ด้วยนะครับ เพราะผมก็ดูแบบ ไม่ละเอียดครบทุก Function นะครับ เรามาเปรียบเทียบกันเลยดีกว่าครับ
![Oracle XE 10g [vs] MySQL v5.1.6 สงครามของฟรี ! software oraclevsmysql](http://www.dominixz.com/images/oraclevsmysql.png)
รายละเอียดของแต่ละฐานข้อมูล
ผมอ้างอิ่งจาก wikipedia นะครับ กดที่นี้เลยครับ
MySQL
- การสนับสนุน OS : Window , mac , linux , bsd , unix , z/Os(อาจจะ)
- สนับสนุน ACID , Referential integrity , Transactions , Unicode (ได้เฉพาะ InnoDB แล้วอนาคตคงต้องใช้ Maria แทน)
- Max DB size ไม่จำกัด , Max Table Size 2GB (Win32 FAT32) to 16TB (Solaris) , Max Row Size 64KB , Max columns per row 3398 , Max Blob/Clob size 4GB (longtext, longblob) , Max NUMBER size 64bit , Max CHAR Size 64kb
- สนับสนุน Temporary Table , ไม่สนับสนุน Materialized view (เป็น view ที่ทำการ cache ได้ เช่น cache query) แต่ใช้ Stored Procedure + Trigger ทำเองได้
- ไม่สามารถทำ Data Domain ได้ (ผมไม่แน่ใจ แต่น่าจะทำได้นะโดยการใช้ enum)
- การทำ Partitioning ต่างๆ มีเฉพาะ 5.1.6 ขึ้นไป ซึ่งตอนนี้ Stable Version คือ 5.0.5 ยังไม่มี
Oracle XE
ส่วนตัว Oracle XE ทำได้หลายอย่างเหมือน MySQL แต่มีเรื่องที่แตกต่างดังนี้
- Max DB Size 4gb (ของฟรีมันทำอย่างนี้ นี้เอง) , Max table size 4GB * block size (with BIGFILE tablespace) , Max row size Unlimited , Max column per row 1000 , Max Blob/Clob size 4GB (or max datafile size for platform) , Max NUMBER size 126bit , Max CHAR size 1000 byte
- วิธีการ Index ทำได้หลายแบบมากกว่า
- Materialized view สนับสนุนเต็มรูปแบบ
- สนับสนุนการทำ Data domain
- สามารถใช้ CPU ได้ CPU เดียวต่อ 1 เครื่อง แล้วรองรับ Ram เพียง 1 gb ไม่ว่าจะมี CPU กี่ตัวหรือ Ram มากกว่า 1gb
- ระบบ Back up & Recovery ที่ดีมาก
หลังจากมาดูคราวๆที่ผมลองๆสรุปมานะครับเฉพาะเรื่องด้านนี้ ผมว่า MySQL เหมาะสำหรับการทำ Web Server ที่เปิดใช้บริการมากกว่า เพราะ Max DB Size มัน Unlimited แต่ถ้าถามว่านำเอามาใช้พัฒนาโปรแกรมเอง ผมว่ายังกำกึ่งอยู่ โดย Oracle XE เหมาะกับการทำข้อมูลจำนวนมากๆๆๆๆ แต่สำหรับงานธรรมดาผมว่าพอๆกันนะ แต่ข้อเสียของ Oracle XE ก็คือเรื่องการจำกัดทรัพยากรด้วย CPU กับ Ram ซึ่งแน่นอน ไม่เหมาะกับการไปทำ Web Server หรือ Private Web Server อยู่ดี แต่ถามว่าเพียงพอต่อการใช้งานปกติ ไหมผมว่าพอนะ เอาละจบเรื่องนี้กัน โดยผมให้คะแนน MySQL ชนะไปในเรื่องนี้ เพราะผมมองเรื่องของอนาคต แล้วก็การจัดการหลายๆ Application ด้วย
เครื่องมือต่างๆที่ช่วยสนับสนุน
ในส่วนตรงนี้ข้อพูดรวมๆเลยนะครับ เพราะทางฝั่ง MySQL เป็นรองอยู่มากๆ โดย MySQL มี MySQL GUI , MySQL Proxy (Alpha Version) , MySQL Workbench (Beta Version) เป็น 1 ในอุปกรณ์ที่ช่วย มาลองเทียบทางฝั่ง Oracle XE ที่แถมมาเลยนะครับลองอ่าน บทความนี้ดูนะครับ ผมจะพูดโดยรวมนะครับ โดยทุกอย่างของ Oracle XE เป็น Web-Based แบบ AJAX แทบทั้งนั้น ดังนั้นลืมเรื่อง Platform ที่ใช้งานได้ไปได้เลย ! แถมมีทุกเครื่องมือที่ MySQL GUI มีแต่ใช้งานได้ผ่าน Browser! แถมยังมี Import/Export เป็น Spreadsheet หรือ XML ได้อีก (ไม่แน่ใจว่า MySQL มีไหม)
แล้ว Oracle ยังมี Tool อีกตัวหนึ่งจัดการเกี่ยวกับ Database แล้วเป็นของฟรีนั้นคือ SQL Developer มาถึงที่นี้ ผมว่าเรื่อง Tool จาก Oracle หลังจากที่ศึกษามาพอสมควร Tool ของ Oracle มีประสิทธิภาพมากกว่า แต่ต้องแลกด้วย Learning Curve ที่มากกว่า ก็เป็นสิ่งที่ต้องแลกกันไปครับ แต่ในหมวดนี้ผมขอยกให้ Oracle ชนะไปครับ
การบรรลุเป้าหมาย
สำหรับหมวดนี้คือสิ่งที่ผมวิเคราะห์เบื้องต้นในการนำไปใช้งานนะครับ เริ่มต้นจาก MySQL กันก่อนนะครับว่า Goal ของมันคืออะไร
- การทำงานที่ไม่ได้ต้องการเสถียรภาพที่สูงมาก
- ไม่จำกัดทรัพยากรส่งผลให้ Performance สูงขึ้นตาม Hardware (เทียบกับ Oracle XE)
- ใช้งานเบื้องต้นได้ง่าย
- เหมาะกับงานธุรกิจขนาดเล็กถึงขนาดกลาง
ส่วน Oracle XE มี Goal ที่เหมาะสมดังนี้
- การใช้งานต่างๆที่ง่ายขึ้น เพราะมี Tool ให้ใช้
- เหมาะสำหรับงานที่ต้องการเสถียรภาพสูง
- ผู้ใช้งานพร้อมกันไม่เป็นจำนวนมากๆๆๆๆ (เพราะมันจำกัดทรัพยากร)
- อนาคตจะต้องใช้ Oracle Database (ทำให้เรียนรอบเดียวคุ้มกว่า)
วันนี้ผมก็ขอลองวิจารณ์ Oracle XE กับ MySQL เพียงเท่านี้นะครับจริงๆแล้วยังมีหลายปัจจัย ที่ยังสามารถยกประเด่นมาคุยกันได้อีก เช่น การ Cluster โดยผมค่อนข้างให้คะแนนกับ MySQL สำหรับคนที่ทำ SOHO นะครับแต่สำหรับคนที่จะทำงานใหญ่ก็มอง Oracle เป็นตัวเลือกนะครับ ลองคิดดูถึงเรื่อง Tools ต่างๆที่ติดมากับ Oracle นะครับ ผมว่าเป็นจุดแข็งของ Oracle เลยทีเดียวกับเรื่อง Backup & Recovery แต่อย่างว่า ผมคงไม่มีเงินซื้อ License ของ Oracle แล้วเทียบมวยแบบนี้ผมว่า MySQL ยังได้เปรียบอยู่ส่วนใครใช้ PostgreSQL อยู่จะมาแนะนำโชว์จุดแข็งจุดอ่อนเชิญ Comment มาเลยนะครับ
ปล. ถ้าผมพูดอะไรผิดไปช่วยแก้ มีจุดไหนที่ยังไม่พูดก็ช่วยเสริมกันนะครับ
เนื้อหาคล้ายกันที่น่าสนใจ


