ข้ามไปที่เนื้อหาหลัก

Amazon RDS สำหรับ MySQL

MySQL คืออะไร

MySQL คืออะไร

MySQL เป็นฐานข้อมูลแบบเชิงสัมพันธ์หลักสำหรับเว็บไซต์ แอปพลิเคชัน และผลิตภัณฑ์เชิงพาณิชย์ยอดนิยมมากมาย MySQL เป็นระบบจัดการฐานข้อมูลภาษาการสืบค้นที่มีโครงสร้าง (SQL) ที่เชื่อถือได้ เสถียร และปลอดภัยด้วยประสบการณ์ในด้านการพัฒนาและสนับสนุนจากชุมชนมานานกว่า 25 ปี

ฐานข้อมูล MySQL เหมาะสำหรับกรณีการใช้งานที่หลากหลาย รวมถึงแอปพลิเคชันที่มีความสำคัญต่อภารกิจและเว็บไซต์ที่มีการเปลี่ยนแปลงข้อมูลตลอดเวลา MySQL ยังเป็นกลไก SQL ยอดนิยมสำหรับแอปพลิเคชันที่ทันสมัยเนื่องจากความเรียบง่ายและความน่าเชื่อถือ นักพัฒนาแอปพลิเคชันได้รับกลไกที่มีอินเทอร์เฟซไคลเอ็นต์-เซิร์ฟเวอร์ที่เรียบง่ายและการเปิดตัวได้เร็วขึ้นในขณะที่องค์กรช่วยประหยัดค่าใช้จ่ายในการฝึกอบรม

AWS รองรับ MySQL ในหลากหลายวิธี รวมถึงบริการฐานข้อมูลที่ได้รับการจัดการเต็มรูปแบบอย่าง Amazon Relational Database Service (RDS) สำหรับ MySQL Amazon Aurora รุ่นที่มีความเข้ากันได้กับ MySQL ยังถูกสร้างขึ้นโดยใช้ MySQL และ Amazon RDS ยังรองรับโครงการฟอร์ค MySQL ยอดนิยมอย่าง MariaDB อีกด้วย

นอกจากนี้คุณยังสามารถโฮสต์ซอฟต์แวร์ MySQL บน Amazon EC2 และจัดการฐานข้อมูลด้วยตนเองหรือเรียกดูข้อเสนอ MySQL ของบุคคลที่ 3 บน AWS Marketplace

ประวัติของ MySQL

MySQL Server เวอร์ชันแรกเปิดตัวในปี 1995 โดยบริษัท MySQL AB จากประเทศสวีเดน ซึ่งก่อตั้งโดย David Axmark, Allan Larsson และ Michael Widenius MySQL ได้ชื่อมาจากลูกสาวของ Widenius ที่มีชื่อว่า My โครงการ MySQL ได้เปิดตัวเป็นโอเพนซอร์สในปี 2000 ภายใต้ GNU General Public License (GPL)

ภายในปี 2001 MySQL มีผู้ติดตั้งใช้งานแล้วมากกว่า 2 ล้านครั้ง และภายในปี 2004 ซอฟต์แวร์นี้ถูกดาวน์โหลดมากกว่า 30,000 ครั้งต่อวัน MySQL ถูกซื้อโดย Sun Microsystems ในปี 2008 และเมื่อ Oracle เข้าซื้อ Sun ในปี 2009 ก็ได้เข้ามาเป็นเจ้าของ MySQL 

ประโยชน์ของการใช้ฐานข้อมูล MySQL

ใช้งานง่าย

ฐานข้อมูล MySQL ได้รับความนิยมในหมู่นักพัฒนาเว็บเนื่องจากใช้งานง่ายและมีฟีเจอร์เพิ่มประสิทธิภาพการทำงาน เช่น ทริกเกอร์ ขั้นตอนที่จัดเก็บไว้ และมุมมองที่สามารถอัปเดตได้ MySQL ประกอบด้วยยูทิลิตี้ต่าง ๆ เช่น mysqldump ซึ่งเป็นโปรแกรมสำรองข้อมูล; mysqladmin ซึ่งเป็นไคลเอ็นต์สำหรับการดูแลระบบ; และ MySQL Workbench ซึ่งเป็น GUI สำหรับการจัดการและการย้าย

ประสิทธิภาพ

เมื่อเวลาผ่านไป MySQL ได้เพิ่มประสิทธิภาพการทำงานด้วยฟีเจอร์ต่าง ๆ รวมถึงตารางดิสก์ B-tree ที่มีการบีบอัดดัชนี การจัดสรรหน่วยความจำตามเธรด และการรวมลูปแบบซ้อนกันที่ปรับให้เหมาะสม การล็อกระดับแถวและการอ่านที่สอดคล้องกันในกลไกจัดเก็บข้อมูลช่วยให้ MySQL ได้รับประโยชน์ด้านประสิทธิภาพเพิ่มเติมสำหรับการทำงานพร้อมกันของผู้ใช้หลายคน MySQL ปฏิบัติตามและส่งเสริมแนวทางปฏิบัติในการออกแบบเพื่อประสิทธิภาพที่รวดเร็วยิ่งขึ้น โดยการมอบฟีเจอร์หลักด้วยชุดฟังก์ชันการทำงานที่เรียบง่ายที่สุด

ความน่าเชื่อถือและความปลอดภัย

เครื่องมือจัดเก็บข้อมูลเชิงธุรกรรม InnoDB ของ MySQL ยึดตามโมเดล ACID ซึ่งมีความสามารถเพิ่มเติมในการปรับปรุงการปกป้องข้อมูล รวมถึงการกู้คืนข้อมูลในจุดเวลาที่กำหนดและการดำเนินการอัตโนมัติ InnoDB ยังมอบความสมบูรณ์ของข้อมูลผ่านการสนับสนุนสำหรับข้อจำกัดคีย์ภายนอก ซึ่งช่วยป้องกันความไม่สอดคล้องของข้อมูลระหว่างตารางข้อมูลต่าง ๆ

MySQL มีฟีเจอร์ด้านการรักษาความปลอดภัยที่แข็งแกร่งและยืดหยุ่น รวมถึงการตรวจสอบโดยอิงตามโฮสต์และการเข้ารหัสการรับส่งข้อมูลรหัสผ่าน InnoDB ยังมอบข้อดีด้านการรักษาความปลอดภัยเพิ่มเติมด้วยการเข้ารหัสตารางข้อมูลที่ไม่ได้ใช้งานโดยใช้สถาปัตยกรรมคีย์การเข้ารหัสสองระดับ

ใบอนุญาตโอเพนซอร์ส

MySQL มีให้บริการภายใต้ใบอนุญาตโอเพนซอร์ส (GNU General Public License) ช่วยให้คุณสามารถใช้และแก้ไขซอร์สโค้ดได้อย่างอิสระเมื่อคุณติดตั้ง MySQL MySQL เวอร์ชันที่ได้รับการจัดการ เช่น Amazon RDS สำหรับ MySQL ไม่มีค่าใช้จ่ายในใบอนุญาตการใช้งานเพิ่มเติมสำหรับกลไก MySQL ซึ่งแตกต่างจากกลไก SQL ที่เป็นกรรมสิทธิ์เฉพาะ

ชุมชนผู้สนับสนุนและผู้ที่ชื่นชอบ MySQL ทั่วโลกที่มีขนาดใหญ่นำประโยชน์เพิ่มเติมและแบบ long tail มากมายมาสู่การใช้ระบบฐานข้อมูล ตัวอย่างเช่น ชุมชน MySQL จะคอยติดตามปัญหาการรักษาความปลอดภัยและการแก้ไขจุดบกพร่อง ส่งผลให้ซอฟต์แวร์มีความยืดหยุ่นโดยรวมมากขึ้น กลุ่มผู้ใช้ MySQL กิจกรรม ฟอรัม และกลุ่มอีเมลมีเครือข่ายในตัวสำหรับการศึกษาและการสนับสนุน

กรณีการใช้งานยอดนิยมสำหรับ MySQL

ฐานข้อมูล OLTP วัตถุประสงค์ทั่วไป

MySQL เหมาะสำหรับแอปพลิเคชันใด ๆ ที่ต้องการกลไก SQL ของธุรกรรม รวมถึงแอปที่มีภารกิจสำคัญและเว็บไซต์ที่มีการรับส่งข้อมูลปริมาณมาก MySQL ยึดตามหลักการ ACID และรวมส่วนขยายไปยัง ANSI/ISO Standard SQL เช่นเดียวกับการรองรับ XML และ JSON

MySQL ยังรองรับการคลัสเตอร์ฐานข้อมูลที่มีความพร้อมใช้งานสูงและสามารถจัดการฐานข้อมูลขนาดเพตะไบต์ได้ แอปพลิเคชันยอดนิยมที่ใช้ฐานข้อมูล MySQL ได้แก่ TYPO3, ModX, Joomla, WordPress, phpBB, myBB และ Drupal 

แอปพลิเคชันอีคอมเมิร์ซ

MySQL เป็นหนึ่งในกลไกการทำธุรกรรมที่ได้รับความนิยมมากที่สุดสำหรับแพลตฟอร์มอีคอมเมิร์ซ MySQL มีประโยชน์อย่างยิ่งสำหรับการจัดการข้อมูลทั้งหมดของลูกค้า รายการธุรกรรม และแคตตาล็อกสินค้า

ในโซลูชันอีคอมเมิร์ซ MySQL มักใช้ร่วมกับฐานข้อมูลอื่น ๆ ที่ไม่ใช่ฐานข้อมูลแบบเชิงสัมพันธ์ รวมถึงการจัดเก็บเอกสารและคีย์ค่าสำหรับการซิงค์ข้อมูลคำสั่งซื้อและการจัดเก็บข้อมูลที่ไม่ใช่ผลิตภัณฑ์ 

โอเพนซอร์สสแต็ก LAMP

MySQL เป็นส่วนสำคัญของแอปพลิเคชันนับไม่ถ้วนที่ทำงานบนสแต็กซอฟต์แวร์โอเพ่นซอร์ส LAMP (LAMP ย่อมาจาก Linux, Apache, MySQL และ PHP/Python/Perl) LAMP เป็นชุดโซลูชันบริการเว็บที่แพร่หลายและถือเป็นแพลตฟอร์มทางเลือกอย่างกว้างขวางสำหรับเว็บไซต์แบบไดนามิกและแอปพลิเคชันเว็บประสิทธิภาพสูง

โปรเจกต์ฟอร์คซอฟต์แวร์ MySQL

MariaDB

MariaDB เป็นฟอร์คยอดนิยมของ MySQL จาก MariaDB ซึ่งก่อตั้งโดยนักพัฒนาดั้งเดิมของ MySQL ซึ่งตั้งใจให้มันยังคงเป็นอิสระและโอเพนซอร์สภายใต้ GNU GPL ในขณะที่ MariaDB จะได้รับการดูแลแยกจาก MySQL แต่ก็ยังคงความเข้ากันได้ของ MySQL ในระดับสูง รวมถึงความเท่าเทียมกันของไบนารีของไลบรารีและการจับคู่ส่วนต่อประสานโปรแกรมประยุกต์ (API) และเครื่องมือการจัดการต่าง ๆ AWS รองรับ MariaDB ด้วยบริการฐานข้อมูลที่มีการจัดการเต็มรูปแบบอย่าง Amazon RDS สำหรับ MariaDB

เซิร์ฟเวอร์ Percona

เซิร์ฟเวอร์ Percona เป็นอีกหนึ่งฟอร์คยอดนิยมของ MySQL จาก Percona เซิร์ฟเวอร์ Percona ประกอบด้วย XtraDB ซึ่งเป็นฟอร์คของ InnoDB Storage Engine

การรองรับภาษาสำหรับการพัฒนาแอปพลิเคชัน

MySQL เป็นผู้นำด้วยการรองรับภาษา SQL MySQL ยังรองรับภาษาและโปรโตคอลการเขียนโปรแกรมชั้นนำส่วนใหญ่ซึ่งช่วยให้ผู้ใช้สามารถใช้งานร่วมกับ: Python, Java, Perl, Node.js, .NET, PHP, Ruby, Erlang, C/C++, Tcl, ODBC และ Objective-C

MySQL เทียบกับ PostgreSQL

MySQL และ PostgreSQL เป็นฐานข้อมูลแบบเชิงสัมพันธ์โอเพนซอร์สยอดนิยม ความนิยมของ MySQL เกิดจากการที่ถูกมองว่าใช้งานง่ายและรวดเร็ว ในขณะที่ PostgreSQL ถูกมองว่ามีฟีเจอร์ที่หลากหลายและเทียบเคียงได้กับฐานข้อมูลเวอร์ชันที่มีสิทธิการใช้งานเชิงพาณิชย์อย่าง Oracle อย่างไรก็ตาม เวอร์ชันหลักปัจจุบันของ MySQL และ PostgreSQL ต่างก็มีฟีเจอร์และความสามารถที่แข็งแกร่งมากมายในการรองรับประสิทธิภาพการสืบค้น ความน่าเชื่อถือ ความปลอดภัย และอื่น ๆ อีกมากมาย คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ PostgreSQL และลองใช้ Amazon Aurora PostgreSQL หรือ Amazon RDS สำหรับ PostgreSQL โดยการใช้ AWS Free Tier

ตัวเลือกการโฮสต์ MySQL บน AWS

MySQL ที่จัดการด้วยตนเองบน Amazon EC2

ในอดีต ฐานข้อมูลแบบเชิงสัมพันธ์เป็นแบบในองค์กร และเมื่อเวิร์กโหลดของฐานข้อมูลถูกย้ายไปยังคลาวด์ องค์กรต่าง ๆ จะเริ่มใช้ Amazon EC2 เพื่อเรียกใช้ฐานข้อมูลของตนเอง ด้วยแนวทางนี้ คุณจัดการงานการดูแลระบบทั่วไปทั้งหมดที่มาพร้อมกับฐานข้อมูลในองค์กร เช่น การจัดเตรียมฮาร์ดแวร์ การตั้งค่าฐานข้อมูล การปรับแต่ง การแพตช์ การสำรองข้อมูล และการปรับขนาด MySQL

MySQL ที่มีการจัดการเต็มรูปแบบบน Amazon RDS

Amazon Relational Database Service (Amazon RDS) เป็นบริการฐานข้อมูลแบบเชิงสัมพันธ์ที่จัดการได้ง่ายและได้รับการปรับให้เหมาะกับต้นทุนทั้งหมดของการเป็นเจ้าของ ง่ายต่อการตั้งค่า ใช้งาน และปรับขนาดตามความต้องการ RDS ทำงานการจัดการฐานข้อมูลที่ไม่มีความแตกต่างโดยอัตโนมัติ เช่น การจัดเตรียมการ การกำหนดค่า การสำรองข้อมูล และการแพตช์

RDS อนุญาตให้คุณสร้างฐานข้อมูลใหม่ได้ภายในไม่กี่นาที และมอบความยืดหยุ่นในการปรับแต่งฐานข้อมูลเพื่อให้ตอบโจทย์ความต้องการของตนเอง คุณสามารถเพิ่มประสิทธิภาพการทำงานด้วยฟีเจอร์ต่าง ๆ เช่น ฟีเจอร์ที่มีการสแตนด์บายที่อ่านได้สองแบบ การเขียนและการอ่านที่ปรับให้เหมาะสม และอินสแตนซ์ที่ใช้ AWS Graviton4 และลูกค้าสามารถเลือกจากตัวเลือกราคาหลายรายการ เพื่อจัดการต้นทุนได้อย่างมีประสิทธิภาพ

ปรับปรุงให้ทันสมัยด้วยรุ่นที่เข้ากันได้กับ Amazon Aurora MySQL

Amazon Aurora ให้ประสิทธิภาพและความพร้อมใช้งานสูงอย่างเหนือชั้นในระดับโลกสำหรับ MySQL Aurora มีอัตราการโอนถ่ายข้อมูล 5 เท่าของ MySQL พร้อมความเข้ากันได้เต็มรูปแบบ Aurora เสนอมาตรฐานการปฏิบัติตามข้อกำหนดที่กว้างขวางและความสามารถในการรักษาความปลอดภัยขององค์กร รวมทั้งการสนับสนุนสำหรับแอปที่เผยแพร่ทั่วโลก

การเริ่มต้นใช้งาน Amazon RDS สำหรับ MySQL นั้นทำได้ง่าย

1

ลงชื่อสมัครใช้งาน Amazon RDS

เข้าถึง Amazon RDS Free Tier

2

เรียนรู้ด้วยบทช่วยสอนง่าย ๆ

3

เริ่มต้นสร้างด้วย Amazon RDS

เริ่มต้นสร้างด้วยความช่วยเหลือจาก MySQL บนคู่มือผู้ใช้ Amazon RDS

กระบวนการย้ายฐานข้อมูล MySQL

แนวทางการย้ายฐานข้อมูล MySQL แบบเนทีฟและแบบบุคคลที่สาม

บริการดัมป์และการจำลอง SQL

แนวทางที่เป็นไปได้จริงที่สุดในการย้ายระบบจัดการฐานข้อมูลแบบเชิงสัมพันธ์ของ MySQL คือการดัมป์ SQL dump จากนั้นจึงดำเนินการจำลองข้อมูลเพื่อให้แน่ใจว่าฐานข้อมูลทั้งสองระบบมีความสอดคล้องกัน mysqldump ของ MySQL ซึ่งเป็นยูทิลิตี้การสำรองข้อมูลในตัวทำหน้าที่เป็นรากฐานสำหรับการย้ายฐานข้อมูลเซิร์ฟเวอร์ MySQL Mysqldump ดัมป์ฐานข้อมูลทั้งหมดด้วยไฟล์ดัมป์และจัดเตรียมชุดคำสั่ง SQL เพื่อสร้างฐานข้อมูลใหม่ วิธีนี้มีประโยชน์สำหรับฐานข้อมูลที่มีขนาดต่ำกว่า 10GB ในกรณีที่คุณมีการเชื่อมต่ออินเทอร์เน็ตที่รวดเร็วและเสถียร และเวลาในการย้ายข้อมูลไม่ได้มีความสำคัญมากนัก

Percona XtraBackup และ Amazon S3

ด้วยการถ่ายโอนไฟล์ Percona XtraBackup และการสำรองข้อมูลไปยัง Amazon S3 ก่อน คุณสามารถย้ายเซิร์ฟเวอร์ฐานข้อมูลในรูปแบบ 1 ต่อ 1 จากฐานข้อมูลต้นทางไปยังคลัสเตอร์ Amazon RDS สำหรับ MySQL ใหม่หรือ Aurora DB การใช้กระบวนการแปลงการย้ายข้อมูลนี้เพื่อโหลดข้อมูลอาจเร็วกว่าการใช้ mysqldump อย่างมีนัยสำคัญ

ฐานข้อมูล INFORMATION_SCHEMA

ฐานข้อมูล INFORMATION_SCHEMA ในตัวสามารถใช้เป็นเครื่องมือสำรวจข้อมูลเมตาของ MySQL การใช้เครื่องมือสำรวจข้อมูลเมตาของ MySQL ร่วมกับ AWS DMS Schema Conversion คุณสามารถตรวจสอบได้ว่าสคีมาฐานข้อมูลต้นฉบับของคุณตรงกับสคีมาฐานข้อมูลปลายทางและประเภทข้อมูลของคุณหรือไม่และระบุว่าจะแก้ไขช่องว่างใด

บริการย้ายข้อมูล MySQL ที่มีการจัดการ

AWS Database Migration Service

AWS Database Migration Service (DMS) ค้นพบ ประเมิน แปลง และย้ายเวิร์กโหลดฐานข้อมูล MySQL ไปยัง AWS ลดการแก้ไขด้วยตนเองและความพยายามลง ตัวช่วยสร้างการย้ายข้อมูล AWS DMS ช่วยให้คุณสามารถเลือกทั้งโครงสร้างพื้นฐานแหล่งและเป้าหมายโดยใช้การจำลองแบบอัตโนมัติด้วย Change Data Capture (CDC) และสร้างรายงานพร้อมการประเมินอัตโนมัติและคำแนะนำออบเจ็กต์เป้าหมาย ไม่จำเป็นต้องแปลงสคีมาหรือคำจำกัดความออบเจ็กต์ใน MySQL เพื่อการย้าย MySQL ใช้ประโยชน์จาก AWS Application Discovery Service เพื่อค้นหาการอ้างอิงใด ๆ ในฐานข้อมูลเซิร์ฟเวอร์ MySQL ของคุณก่อนที่คุณจะย้ายข้อมูล 

AWS Application Migration Service

หากคุณกำลังทำการย้ายข้อมูลแบบ Lift-and-shift อย่างง่ายเพื่อย้ายข้อมูลไปยัง EC2 จากเซิร์ฟเวอร์ MySQL ที่ติดตั้งในองค์กร คุณสามารถย้ายเซิร์ฟเวอร์ทั้งหมดของคุณไปยัง EC2 ได้โดยใช้ AWS Application Migration Service คุณสามารถใช้เทคนิคนี้สำหรับฐานข้อมูลเดียวหรือออบเจ็กต์ฐานข้อมูลหลายรายการได้