วันศุกร์ที่ 7 พฤศจิกายน พ.ศ. 2557

MySql Database Server

MySql Database Server คือ Program ทางด้านฐานข้อมูลใช้ในการจัดเก็บข้อมูลต่าง ๆ ตามที่เราต้องการ เป็น Freeware นั้นคือ คุณสามารถเข้าไป Download และนำมาใช้ฟรี ๆ โดยไม่ต้องเสียงเงินเพื่อซื้อลิขสิทธิ์ในการใช้งานโปรแกรมแต่อย่างใด MySQL เป็นที่นิยมใช้กันมากกับฐานข้อมูลบน website ครั้งนี้เราจะมาเรียนรู้เรื่องการติดตั้ง MySQL กัน
จุดเริ่มต้นของ MySQL เริ่มต้นขึ้นในปี ค.ศ.1979 Michael Widenius ชาวฟินแลนด์ หรือรู้จักกันทั่วไปในชื่อ Montyได้พัฒนาเครื่องมือสำหรับฐานข้อมูลตัวหนึ่งชื่อ UNIREG เพื่อใช้งานภายในบริษัท TcX (บริษัททางด้านระบบคลังข้อมูล ประเทศสวีเดน) ซึ่งต่อมาในปี ค.ศ.1994 บริษัทต้องการเพิ่มความสามารถของ UNIREG ให้สามารถใช้งานร่วมกับระบบฐานข้อมูลด้วยภาษา SQL (Structured Query Langauge) เพื่อการใช้งานในรูปแบบเว็บเบส ทั้งนี้ทางทีมฯ จึงได้เริ่มต้นมองหาระบบฐานข้อมูลเพื่อความต้องการการใช้งานดังกล่าว
ในตอน แรก ได้ทำการทดสอบระบบฐานข้อมูลเชิงพาณิชย์หลายตัว แต่ก็พบว่าไม่เป็นที่น่าพอใจ เนื่องจากตารางข้อมูลของบริษัทฯ มีขนาดใหญ่ ผลลัพธ์ที่ได้จากการประมวลผลช้าเกินกว่าจะรับได้ แต่ก็ได้พบกับระบบฐานข้อมูลตัวหนึ่งชื่อ mSQL หรือ Mini SQL ซึ่งพัฒนาขึ้นโดย David Hughes บริษัทฯ มีความสนใจในระบบฐานข้อมูลตัวนี้เป็นอย่างมาก เพราะว่ามีราคาไม่แพงนัก ในครั้งแรกทางบริษัทฯ ก็ได้ทำงานร่วมกับผู้พัฒนา เพื่อแก้ไขและเพิ่มเติมความสามารถของ mSQL ไม่ว่าจะเป็นความสามารถในการเชื่อมต่อกับตารางข้อมูลแบบ ISAM (Indexed Sequential Access Method) รวมทั้งการสนับสนุนการใช้งานดัชนี (Index) เป็นต้น
แต่ในที่สุดแล้ว ผลลัพธ์ที่ได้ก็ยังไม่เป็นที่น่าพอใจ Monty จึงมีความคิดที่จะพัฒนาระบบฐานข้อมูลขึ้นมาเอง และนั่นก็คือจุดเริ่มต้นของ MySQL ที่มาของชื่อ MySQL มาจากชื่อลูกสาวของ Monty เอง โดยลูกสาวชื่อ “มาย” (My) และอีกเหตุผลหนึ่ง บางคนเชื่อว่าตั้งชื่อตามชื่อไดเรกทอรี และไลบรารี ที่ใช้ภายใน TcX เอง ซึ่งส่วนใหญ่จะตั้งชื่อขึ้นต้นด้วยคำว่า “My” อนึ่ง มีความเป็นไปได้สูงที่จะตั้งชื่อตามชื่อลูกสาว เพราะนอกจากนี้ก็ยังมี MySQL รุ่นที่ใช้งานสำหรับ SAP ที่ชื่อ MaxDB ซึ่งตั้งชื่อตาม Max ลูกชายของ Monty ด้วยเช่นกัน
การเรียกชื่อที่ถูกต้องของ MySQL จะต้องอ่านว่า มาย-เอส-คิว-แอล (ไม่ได้อ่านว่า มาย-ซี-ควัล) ซึ่งการเรียกชื่อ MySQL จะเหมือนกับการเรียกชื่อภาษา SQL (อ่านว่า เอส-คิว-แอล) เช่นกัน
ต่อมาในปี ค.ศ.1995 David Axmark (หนึ่งในผู้ร่วมก่อตั้งบริษัท MySQL AB) มีความคิดที่จะเผยแพร่ MySQL และทำการตลาดไปสู่อินเทอร์เน็ต โดยแบ่งเป็น 2 รูปแบบ คือแบบใช้งานได้โดยไม่เสียค่าใช้จ่ายตามสิทธิบัตร GNU และแบบเชิงพาณิชย์ ซึ่งในที่สุดในปี ค.ศ.1996 MySQL เวอร์ชันแรก 3.11.1 จึงได้เริ่มเผยแพร่แก่สาธารณชน โดยการแจกจ่ายซอฟท์แวร์แบบไบนารีสำหรับระบบปฏิบัติการ ลีนุกซ์ (Linux) และโซลาริส (Solaris) ทุกวันนี้ MySQL สามารถใช้งานได้บนระบบปฏิบัติการต่างๆ มากมาย ซึ่งมีการแจกจ่ายซอฟท์แวร์ในแบบไบนารี และแบบซอร์สโค้ด
“การแจกจ่ายซอฟท์แวร์แบบไบนารี (Binary Distributions) คือการแจกจ่ายซอฟท์แวร์ในรูปแบบที่สามารถนำไปใช้งานได้ทันที โดยไม่ต้องนำไปแปลโปรแกรมใดๆ เพิ่มเติมอีก”
“การแจกจ่ายซอฟท์แวร์แบบซอร์สโค้ด (Source Code) เป็นรูปแบบที่จะต้องนำโค้ดที่ได้ไปผ่านการแปลด้วยตัวแปลโปรแกรม (Compiler) ก่อน จึงจะสามารถใช้งานได้ รูปแบบนี้เหมาะสำหรับโปรแกรมเมอร์ที่ต้องการการใช้งานพิเศษเฉพาะ และต้องการความชำนาญในการโปรแกรมภาษา C สำหรับการแปลซอร์สโค้ดอีกด้วย”
ในครั้งนี้จึงมีการเกิดขึ้นของบริษัท MySQL AB โดยสามทหารเสือผู้ก่อตั้ง คือ David Axmark, Michael “Monty” Widenius และ Allan Larsson ดูแลรับผิดชอบการจำหน่ายและเผยแพร่ MySQL ทั้งรุ่นสำหรับโอเพ่นซอร์ส และสำหรับการใช้งานเชิงพาณิชย์ นอกจากนี้ บริษัทฯ ยังเปิดให้บริการการอบรม และการบริการทางด้านเทคนิคสำหรับ MySQL อีกด้วย ปัจจุบัน MySQL ถูกขายให้กับบริษัทซันไมโครซิสเต็ม และตกอยู่ภายใต้บริษัทออราเคิลในที่สุด เนื่องจากบริษัทซันถูกรวมเข้ากับบริษัทออราเคิลประมาณเดือนเมษายน ปี ค.ศ. 2009 (อ้างถึง : http://www.padtito.com)
รุ่นของผลิตภัณฑ์นั้นแบ่งออกมาได้สามสายการผลิต ได้แก่ เวอร์ชันใช้ฟรี เวอร์ชันการค้า และเวอร์ชันที่สนับสนุนกับผลิตภัณฑ์ SAP (MAX DB) ความแตกต่างคือเวอร์ชันคอมมิวนิตี้นั้นสามารถนำไปใช้งานได้ฟรีแต่ขาดการสนับสนุนหรือการช่วยเหลือเมื่อมีปัญหาเกิดขึ้น, เวอร์ชันที่เป็นคอมเมอร์เชียลนั้นให้บริการด้านความสนับสนุนเมื่อมีปัญหา (ซื้อบริการ) สรุปคร่าวๆ ประเภทดาต้าเบสให้เลือกใช้ดังนี้(อ้างถึง : http://www.padtito.com)
 ประเภทการจัดเก็บข้อมูล (Database Storage Engine) ที่สนับสนุน
  • MyISAM ค่าปกติ (default)
  • InnoDB สนับสนุนการทำ ทรานแซคชั่น (transaction) แบบ ACID
  • Memory การจัดเก็บในหน่วยความจำ ใช้เป็นตารางชั่วคราวเพื่อความรวดเร็ว เนื่องจากเก็บไว้ในหน่วยความจำ ทำให้มีความเร็วในการทำงานสูงมาก
  • Merge เป็นการรวม Table หลาย ๆ ตัวให้แสดงผล หรือแก้ไข เสมือนเป็นข้อมูลจาก Table เดียว
  • Archive เหมาะสำหรับการจัดเก็บข้อมูลพวก log file,ข้อมูลที่ไม่ต้องมีการ คิวรี่ (query) หรือใช้บ่อยๆ เช่น log file เพื่อประโยชน์ในการตรวจสอบย้อนหลัง (Security Audit Information)
  • Federated สำหรับการจัดเก็บแบบปลายทาง (remote server) แทนที่จะเป็นการจัดเก็บแบบ local เหมือนการจัดเก็บ (Storage) แบบอื่นๆ
  • NDB สำหรับการจัดเก็บแบบ คลัสเตอร์(cluster)
  • CSV เก็บข้อมูลจาก Text ไฟล์โดยอาศัยเครื่องหมาย คอมมา (comma) เป็นตัวแบ่งฟิลด์
  • Blackhole
  • Example
ส่วนเชื่อมต่อกับภาษาการพัฒนาอื่น (database connector)
มีส่วนติดต่อ (interface) เพื่อเชื่อมต่อกับภาษาในการพัฒนา อื่นๆ เพื่อให้เข้าถึงฟังก์ชันการทำงานกับฐานข้อมูล MySQL ได้เช่น ODBC (Open Database Connector) อันเป็นมาตรฐานกลางที่กำหนดมาเพื่อให้ใช้เป็นสะพานในการเชื่อมต่อกับโปรแกรมหรือระบบอื่นๆ เช่น MyODBC อันเป็นไดรเวอร์เพื่อใช้สำหรับการเชื่อมต่อในระบบปฏิบัติการวินโดว์, JDBC คลาสส่วนเชื่อมต่อสำหรับ Java เพื่อใช้ในการติดต่อกับ MySQL และมี API (Application Programming Interface) ต่างๆมีให้เลือกใช้มากมายในการที่เข้าถึง MySQL โดยไม่ขึ้นอยู่กับภาษาการพัฒนาใดภาษาหนึ่ง
นอกเหนือจาก ตัวเชื่อมต่อกับภาษาอื่น (Connector) ที่ได้กล่าวมาแล้ว ยังมี API ที่สนับสนุนในขณะนี้คือ
  • DBI สำหรับการเชื่อมต่อกับ ภาษา perl
  • Ruby สำหรับการเชื่อมต่อกับ ภาษา ruby
  • Python สำหรับการเชื่อมต่อกับภาษา python
  • .NET สำหรับการเชื่อมกับภาษา .NET framework
  • MySQL++ สำหรับเชื่อมต่อกับภาษา C++
  • Ch สำหรับการเชื่อมต่อกับ Ch (C/C++ interpreter)
  • PHP สำหรับการเชื่อมต่อกับภาษาPHP


ที่มา :  http://th.wikipedia.org/wiki , http://maae2517.wordpress.com/2011/10/26/database-server-สำหรับการใช้งานในองค/

ไม่มีความคิดเห็น:

แสดงความคิดเห็น