Lewati ke Konten Utama

Amazon RDS for MySQL

Apa itu MySQL?

Apa itu MySQL?

MySQL berfungsi sebagai penyimpanan data relasional primer untuk banyak situs web populer, aplikasi, dan produk komersial. Dengan pengembangan dan dukungan berbasis komunitas selama lebih dari 25 tahun, MySQL adalah sistem manajemen basis data berbasis bahasa kueri terstruktur (SQL) yang andal, stabil, serta aman.

Basis data MySQL cocok untuk berbagai kasus penggunaan, termasuk aplikasi yang krusial dan situs web dinamis. MySQL juga merupakan mesin SQL populer untuk aplikasi modern karena kesederhanaan dan keandalannya. Developer aplikasi mendapatkan mesin dengan antarmuka klien-server sederhana dan onboarding yang lebih cepat, sementara organisasi menghemat biaya pelatihan.

AWS mendukung MySQL dalam berbagai cara, termasuk layanan basis data terkelola penuh, Amazon Relational Database Service (RDS) for MySQL. Amazon Aurora Edisi Kompatibel MySQL juga dibangun menggunakan MySQL, dan Amazon RDS mendukung proyek fork MySQL yang populer, MariaDB.

Anda juga dapat meng-hosting perangkat lunak MySQL di Amazon EC2 dan mengelola basis data sendiri, atau menelusuri penawaran MySQL pihak ketiga di AWS Marketplace.

Sejarah MySQL

Versi pertama MySQL Server dirilis pada tahun 1995 oleh perusahaan Swedia bernama MySQL AB, yang didirikan oleh David Axmark, Allan Larsson, dan Michael Widenius. Nama MySQL berasal dari nama putri Widenius, My. Proyek MySQL dirilis sebagai sumber terbuka pada tahun 2000, di bawah GNU General Public License (GPL).

Pada tahun 2001, MySQL telah mencapai lebih dari 2 juta instalasi aktif; pada tahun 2004, perangkat lunak ini diunduh lebih dari 30.000 kali sehari. MySQL diakuisisi oleh Sun Microsystems pada tahun 2008, dan ketika Oracle mengakuisisi Sun pada tahun 2009, mereka juga mengambil kepemilikan MySQL. 

Keuntungan menggunakan basis data MySQL

Kemudahan penggunaan

Basis data MySQL telah mendapatkan perhatian dari developer web karena kemudahan penggunaan dan fitur produktivitasnya, termasuk pemicu, prosedur yang disimpan, dan tampilan yang dapat diperbarui. MySQL mencakup utilitas seperti mysqldump, yaitu program cadangan; mysqladmin, yaitu klien administratif, serta MySQL Workbench, yaitu GUI untuk tugas manajemen dan migrasi.

Performa

Seiring waktu, MySQL meningkatkan kemampuan performanya dengan banyak fitur termasuk tabel disk B-tree dengan kompresi indeks, alokasi memori berbasis utas, dan gabungan nested-loop yang dioptimalkan. Penguncian tingkat baris dan pembacaan yang konsisten di mesin penyimpanan memberi MySQL keuntungan performa tambahan untuk konkurensi multipengguna. MySQL mengikuti dan mempromosikan praktik desain untuk performa yang lebih cepat dengan menyediakan fungsionalitas inti dengan serangkaian fitur minimal.

Keandalan dan keamanan

Mesin penyimpanan transaksional InnoDB dari MySQL mematuhi model ACID, dengan kemampuan tambahan yang meningkatkan perlindungan data, termasuk pemulihan titik waktu dan commit otomatis. InnoDB menawarkan integritas data melalui dukungan untuk batasan kunci asing, yang mencegah inkonsistensi data di seluruh tabel.

MySQL menyertakan fitur keamanan yang diperkuat dan fleksibel, termasuk verifikasi berbasis host serta enkripsi lalu lintas kata sandi. InnoDB menawarkan keuntungan keamanan tambahan dengan enkripsi tablespace data diam menggunakan arsitektur kunci enkripsi dua tingkat.

Lisensi sumber terbuka

MySQL tersedia di bawah lisensi sumber terbuka (GNU General Public License), yang memungkinkan Anda untuk secara bebas menggunakan dan memodifikasi kode sumber saat menginstal MySQL. MySQL versi terkelola, seperti Amazon RDS for MySQL, membebaskan biaya lisensi tambahan untuk mesin MySQL, tidak seperti mesin SQL eksklusif.

Komunitas kontributor dan penggemar MySQL yang besar serta global menghadirkan banyak keuntungan tambahan dan jangka panjang untuk penggunaan sistem basis data. Misalnya, komunitas MySQL selalu memantau isu-isu keamanan dan perbaikan bug, yang berkontribusi pada ketahanan keseluruhan perangkat lunak. Berbagai grup, acara, forum, dan milis pengguna MySQL menyediakan jaringan bawaan untuk edukasi serta dukungan.

Kasus penggunaan populer untuk MySQL

Basis data OLTP tujuan umum

MySQL cocok untuk aplikasi apa pun yang membutuhkan mesin SQL transaksional, termasuk aplikasi yang krusial dan situs web dengan lalu lintas tinggi. MySQL mematuhi prinsip-prinsip ACID dan mencakup ekstensi untuk ANSI/ISO Standard SQL, serta dukungan untuk XML dan JSON.

MySQL juga mendukung pengklasteran basis data dengan ketersediaan tinggi, dan dapat menangani basis data berukuran petabita. Aplikasi populer yang menggunakan basis data MySQL, termasuk TYPO3, MODx, Joomla, WordPress, phpBB, MyBB, dan Drupal. 

Aplikasi perdagangan elektronik

MySQL adalah salah satu mesin transaksional paling populer untuk platform perdagangan elektronik. MySQL sangat berguna untuk mengelola semua data pelanggan, transaksi, dan katalog produk.

Dalam solusi perdagangan elektronik, MySQL sering digunakan bersama dengan basis data nonrelasional lainnya, termasuk penyimpanan dokumen dan nilai-kunci untuk sinkronisasi data pesanan serta penyimpanan data nonproduk. 

Tumpukan sumber terbuka LAMP

MySQL merupakan bagian integral dari banyak aplikasi yang berjalan pada tumpukan perangkat lunak sumber terbuka LAMP (LAMP adalah singkatan dari Linux, Apache, MySQL, dan PHP/Python/Perl). LAMP adalah tumpukan solusi layanan web yang sangat umum dan dikenal luas sebagai platform pilihan untuk situs web dinamis serta aplikasi web beperforma tinggi.

Proyek fork perangkat lunak MySQL

MariaDB

MariaDB adalah fork populer MySQL dari MariaDB, yang dibentuk oleh developer asli MySQL yang menginginkannya tetap gratis dan menjadi sumber terbuka di bawah GNU GPL. Meskipun dikelola secara terpisah dari MySQL, MariaDB mempertahankan tingkat kompatibilitas yang tinggi dengan MySQL, termasuk kesetaraan biner pustaka, pencocokan yang tepat dengan antarmuka pemrograman aplikasi (API), dan berbagai alat manajemen. AWS mendukung MariaDB dengan layanan basis data terkelola penuh, Amazon RDS for MariaDB.

Percona Server

Percona Server adalah fork populer MySQL lainnya dari Percona. Percona Server menyertakan XtraDB, fork Mesin Penyimpanan InnoDB dari Percona.

Dukungan bahasa untuk pengembangan aplikasi

MySQL memimpin dengan dukungan bahasa SQL. MySQL juga mendukung sebagian besar bahasa pemrograman dan protokol terkemuka, yang memungkinkan pengguna bekerja dengan: Python, Java, Perl, Node.js, .NET, PHP, Ruby, Erlang, C/C++, Tcl, ODBC, dan Objective-C.

MySQL vs. PostgreSQL

MySQL dan PostgreSQL merupakan basis data relasional sumber terbuka yang populer. MySQL menjadi populer karena dianggap mudah digunakan dan cepat, sedangkan PostgreSQL dianggap kaya fitur dan lebih setara dengan versi basis data berlisensi komersial seperti Oracle. Meski demikian, versi utama MySQL dan PostgreSQL saat ini menawarkan banyak fitur dan kemampuan yang kuat dalam mendukung performa kueri, keandalan, keamanan, dan banyak lagi. Anda dapat mempelajari selengkapnya PostgreSQL dan mencoba Amazon Aurora PostgreSQL atau Amazon RDS for PostgreSQL menggunakan AWS Tingkat Free.

Opsi hosting MySQL di AWS

MySQL yang dikelola sendiri di Amazon EC2

Secara historis, basis data relasional berada on-premise, dan seiring dengan perpindahan beban kerja basis data ke cloud, organisasi awalnya memanfaatkan Amazon EC2 untuk menjalankan basis data mereka sendiri. Dengan pendekatan ini, Anda harus mengelola semua tugas administrasi biasa yang menyertai basis data on-premise, seperti penyediaan perangkat keras, pengaturan basis data, penyesuaian, patching, pencadangan, dan skalabilitas MySQL.

MySQL terkelola penuh di Amazon RDS

Amazon Relational Database Service (Amazon RDS) adalah layanan basis data relasional yang mudah dikelola yang dioptimalkan untuk mendapatkan total biaya kepemilikan terbaik. Layanan ini mudah disiapkan, dioperasikan, dan diskalakan sesuai permintaan. RDS mengotomatiskan tugas manajemen basis data yang tidak terdiferensiasi, seperti penyediaan, konfigurasi, pencadangan, dan patching.

RDS memungkinkan pengguna membuat basis data baru dalam hitungan menit dan menawarkan fleksibilitas untuk membuat basis data kustom guna memenuhi kebutuhan mereka. Pengguna dapat mengoptimalkan performa dengan banyak fitur, seperti dua standby yang dapat dibaca, penulisan dan pembacaan yang dioptimalkan, serta instans berbasis AWS Graviton4, dan pengguna dapat memilih dari berbagai opsi harga untuk mengelola biaya secara efektif.

Modernisasi dengan Amazon Aurora Edisi Kompatibel MySQL

Amazon Aurora memberikan performa dan ketersediaan tinggi yang tidak tertandingi pada skala global untuk MySQL. Aurora memiliki 5x throughput MySQL dengan kompatibilitas penuh. Aurora menawarkan standar kepatuhan yang luas dan kemampuan keamanan korporasi, serta dukungan untuk aplikasi terdistribusi secara global.

Memulai Amazon RDS for MySQL sangatlah mudah

1

Daftar Amazon RDS

Dapatkan akses ke Amazon RDS Tingkat Free.

2

Pelajari dengan tutorial sederhana

3

Mulai membangun dengan Amazon RDS

Mulai membangun dengan bantuan dari panduan pengguna MySQL di Amazon RDS.

Proses migrasi basis data MySQL

Pendekatan migrasi basis data MySQL native dan pihak ketiga

Layanan dump dan replikasi SQL

Pendekatan native yang paling praktis untuk migrasi sistem manajemen basis data relasional MySQL adalah membuat dump SQL, lalu menjalankan aktivitas replikasi untuk memastikan basis data yang disinkronkan. mysqldump MySQL, sebuah utilitas pencadangan bawaan, berfungsi sebagai dasar untuk migrasi basis data server MySQL. Mysqldump membuat dump seluruh basis data dengan file dump dan menyediakan serangkaian pernyataan SQL untuk meregenerasi basis data. Metode ini berguna untuk basis data dengan ukuran di bawah 10 GB, ketika Anda memiliki koneksi internet yang cepat dan stabil, serta waktu migrasi data bukanlah hal yang penting.

Percona XtraBackup dan Amazon S3

Dengan mentransfer file dan cadangan Percona XtraBackup ke Amazon S3 terlebih dahulu, Anda dapat memigrasikan server basis data satu per satu dari basis data sumber ke klaster Amazon RDS for MySQL atau Aurora DB baru. Penggunaan proses konversi migrasi data ini untuk memuat data dapat jauh lebih cepat daripada menggunakan mysqldump.

Basis data INFORMATION_SCHEMA

Basis data INFORMATION_SCHEMA bawaan dapat digunakan sebagai penjelajah metadata MySQL. Dengan menggunakan penjelajah metadata MySQL ini bersama dengan Konversi Skema DMS AWS, Anda dapat menentukan apakah skema basis data sumber cocok dengan skema basis data tujuan dan tipe data serta mengidentifikasi area yang memerlukan remediasi.

Layanan migrasi data MySQL terkelola

AWS Database Migration Service

AWS Database Migration Service (DMS) menemukan, menilai, mengonversi, dan memigrasikan beban kerja basis data MySQL ke AWS, sehingga mengurangi pengeditan dan upaya manual. Wizard migrasi AWS DMS memungkinkan Anda memilih infrastruktur sumber dan target, yang memanfaatkan replikasi otomatis dengan Pengambilan Data Perubahan (CDC) dan membuat laporan dengan penilaian otomatis serta rekomendasi objek target. Tidak diperlukan konversi skema atau definisi objek dalam migrasi MySQL ke MySQL. Manfaatkan Layanan AWS Application Discovery untuk menemukan dependensi apa pun di basis data server MySQL Anda sebelum memigrasikan data. 

Layanan Migrasi Aplikasi AWS

Jika melakukan lift-and-shift sederhana untuk memigrasikan data ke EC2 dari server MySQL on-premise, Anda dapat memigrasikan seluruh server ke EC2 menggunakan Layanan Migrasi Aplikasi AWS. Anda dapat menerapkan teknik ini untuk objek dari satu basis data maupun banyak basis data.