หลายคนคงรู้จักกับ Database มาพอสมควรมีทั้งการการเก็บในรูปแบบของ Structure และ Non Structure ซึ่งก็ได้มีหลากหลาย Software ที่นำมาจัดการข้อมูลเหล่านี้ตัวอย่าง MySQL, MariaDB, Mongo, Postgresql โดยในครั้งนี้เราจะมาพูดถึง Software ที่แตกต่างกันยังไง มีจุดต่างตรงไหนบ้าง ซึ่ง Software นั่นก็คือ MariaDB และ MySQL
MariaDB คืออะไร
MariaDB คือ Solution ของการเก็บข้อมูลแบบ Structure และเป็นแบบมี Relation ในรูปแบบตาราง มี Primary Key และ Foreign Key เชื่อมความสัมพันธ์กันด้วย ซึ่งถ้าพูดง่าย ๆ คือเก็บข้อมูลแบบ MySQL เลยหล่ะแล้วมันก็เก็บเหมือน MySQL อีกทั้งยังส่งคำสั่งได้เหมือน MySQL แต่จะมีความแตกต่างกัน

คือต้องย้อนกลับไปก่อนหน้านั้นที่ยังมีแต่ MySQL ณ ตอนนั้น MySQL โดนซื้อกิจการไปโดย Oracle ซึ่งพอโดนซื้อไปแล้วผู้ก่อตั้ง MySQL คนแรกชื่อ ไมเคิล วิเดนิอุส ได้ทำการ fork Project MySQL ออกมา ทำให้ MariaDB นั้นสามารถใช้งาน MySQL Function ได้เลย ไม่ได้กระทบอะไรมาก หลังจากนั้นเกิดอะไรขึ้นต่อเรามาดูว่ามันต่างกันยังไง
- MariaDB Cluster MySQL มี Group Replication แล้ว MariaDB เราก็มีนะเออ อีกอย่าง MySQL มีแบ่งว่าใครเป็น Primary, Secondary ด้วย เวลา Write Data MySQL จะสามารถ Write ได้เฉพาะที่ Primary เท่านั้นแต่ถ้าเป็น MariaDB นั้น Write ที่ Node
- MariaDB Encrypt Table ปกติเวลาที่ตัว Database มันเก็บข้อมูลลงไปในเครื่องสุดท้ายมันก็เป็นไฟล์อยู่ดี แต่ถ้าเราเข้ารหัสไว้ ใคร copy ไป ไม่เอา Key ไป ก็ไม่สามารถอ่านออกได้อยู่ดี
- MariaDB TLS Connection เวลาที่อยากเสริมความปลอดภัยให้แอปเวลาแอปมาคุยกับ Database งั้น Encrypt Connection สิ ทำเป็น TLS ไปเลย
ข้อดีของ mariadb
- การพัฒนา เพราะเป็นรูปแบบโอเพนซอร์ส ทุก ๆ มีการแก้ไขข้อผิดพลาดตลอดเวลา
- คุณสมบัติที่ดีกว่า MySQL
- รองรับหลาย Storage Engine เช่น Cassandra Storage Engine สำหรับ NoSQL, XtraDB InnoDB,TokuDB ฯลฯ
- ประสิทธิภาพที่ดีขึ้น เพิ่มประสิทธิภาพการ query หาข้อมูลที่ดีขึ้นและการปรับปรุงประสิทธิภาพอื่น ๆ อีกมากมาย จาก Benchmarks แสดงให้เห็นว่าฐานข้อมูลนี้ทำงานได้เร็วกว่า MySQL เมื่อย้ายจาก MySQL มาเป็น MariaDB และสามารถปรับปรุงประสิทธิภาพได้ถึง 10%
- เป็น software open source ที่ใครก็สามารถทำมาใช้ได้จริง
ก่อนจะจบแถมสาระในการ query เพิ่มให้อีกนิดสำหรับคนที่ไม่รู้ หลายคนมักจะชินเป็นคำสั่งที่ใช้ Query ข้อมูลแบบทำนองว่า SELECT, INSERT, DELETE อะไรยังไงทำนองนั้นเดี๋ยวจะแถมให้ 1 คำสั่งคือ SELECT เดี๋ยวเรามาดูการทำงานของมันดีกว่าว่าทำงานยังไง
ลำดับการทำงานของการสั่ง Query ข้อมูลที่สั่งเข้าไปจะมีการทำงานตามลำดับดังนี้
FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT
ตัวอย่าง
SELECT USER_ID, NAME, SURNAME, NICKNAME FROM USER WHERE NAME = ‘Metrabyte’;
จากคำสั่งตรงนี้เนี่ย การทำงานเรียงลำดับได้ดังนี้
- FROM USER
- WHERE NAME = ‘Metrabyte’
- SELECT USER_ID, NAME, SURNAME, NICKNAME
(รอใส่ Diagram)
สรุปก็คือ MariaDB เป็นการปรับปรุงและแทนที่ MySQL เนื่องจากมีความรวดเร็วและสามารถปรับขนาดได้และมีระบบและเครื่องมืออื่น ๆ ทำให้สามารถใช้งานได้หลากหลาย และเหมาะแก่งานใช้งานในหลากหลายรูปแบบ ที่สำคัญเป็น opensource ด้วย
