MySQL adalah salah satu database relasional open source yang paling populer di dunia. Popularitas ini berkat penggunaannya yang luas di situs e-commerce, media sosial, dan aplikasi, termasuk Drupal, Joomla, Magento, dan WordPress. Ini juga merupakan bagian penting dari stack aplikasi web Linux-Apache-MySQL-PHP/Perl/Python (LAMP) yang banyak digunakan, yang mendukung banyak aplikasi, situs, dan layanan populer. Mesin ini menduduki peringkat database terpopuler kedua di dunia menurut DB-Engines.
Pelajari cara database relasional terkelola Google Cloud, Cloud SQL untuk MySQL, dapat membantu Anda mengurangi biaya operasional dan meningkatkan efisiensi.
MySQL adalah sistem manajemen database relasional open source. Seperti database relasional lainnya, MySQL menyimpan data dalam tabel yang terdiri dari baris dan kolom. Pengguna dapat menentukan, memanipulasi, mengontrol, dan membuat kueri data menggunakan Bahasa Kueri Terstruktur, yang lebih dikenal sebagai SQL. Karena bersifat open source, MySQL mencakup banyak fitur yang dikembangkan melalui kerja sama erat dengan pengguna selama lebih dari 25 tahun.
MySQL adalah open source, artinya dapat digunakan secara gratis berdasarkan persyaratan Lisensi Publik Umum GNU. Hal ini juga berarti bahwa setiap orang bebas memodifikasi kode sumber perangkat lunak untuk penggunaannya sendiri. Hal ini menyebabkan terjadi proses fork MySQL ke varian database lain seperti MariaDB dan Percona Server untuk MySQL MySQL juga tersedia dengan lisensi lain untuk penggunaan komersial.
MySQL termasuk dalam kategori database, yang disebut sistem manajemen database relasional (RDBMS). Database relasional adalah kumpulan informasi yang mengatur data dalam hubungan yang telah ditentukan sebelumnya di mana data disimpan dalam satu atau beberapa tabel (atau "relasi") kolom dan baris, sehingga mudah untuk melihat dan memahami hubungan struktur data yang berbeda satu sama lain. Relasi adalah hubungan logis antara tabel yang berbeda, dibuat atas dasar interaksi di antara tabel-tabel tersebut.
MySQL dibuat sebagai perluasan dari bahasa pemrograman komersial, SQL, yang didasarkan pada model relasional yang dijelaskan dalam Edgar F. Makalah Codd. Perusahaan asal Swedia, MySQL AB, yang didirikan oleh David Axmark, Allan Larsson, dan Michael Widenius, mengembangkan dan merilis MySQL pada tahun 1995. Nama "MySQL" adalah kombinasi dari nama anak perempuan Michael Wildenius, "My" dan "SQL", yang mengacu pada Structure Query Language (SQL). Sun Microsystems mengakuisisi MySQL AB pada tahun 2008. MySQL saat ini berada di bawah kepemilikan Oracle Corporation setelah akuisisi Sun Microsystems pada tahun 2010.
MySQL awalnya dikembangkan dalam bahasa pemrograman C dan C++ dan telah menikmati banyak popularitas untuk berbagai versinya selama bertahun-tahun karena ketersediaannya di banyak sistem operasi open source dan eksklusif. Versi terbaru database, MySQL versi 8.0, dirilis pada 2018.
Project MySQL berkali-kali bercabang selama bertahun-tahun karena berbagai alasan dengan beberapa fork bahkan sudah tidak ada lagi. Dari sisa project bercabang, yang paling populer adalah MariaDB dan Percona Server untuk MySQL. MariaDB diambil alih oleh pendiri asli MySQL untuk memastikan bahwa MySQL tetap open source setelah muncul masalah komersialisasi akibat akuisisi Oracle. Percona Server untuk MySQL adalah distribusi open source MySQL lainnya yang bertujuan untuk menjaga kompatibilitas yang erat dengan MySQL. Pelajari lebih lanjut versi MySQL dan ekosistem lengkap seputar MySQL.
MySQL dapat diakses melalui antarmuka pengguna grafis (GUI) atau alat antarmuka command line.
Antarmuka pengguna grafis (GUI)
GUI menyediakan lingkungan terintegrasi yang terdiri dari tombol dan widget interaksi, sehingga membuat kueri dan pengembangan aplikasi menjadi pengalaman visual, bukan menggunakan perintah berbasis teks dalam antarmuka command line. Ada banyak GUI MySQL yang dikembangkan oleh project open source MySQL dan integrator pihak ketiga. Salah satu yang lebih populer adalah MySQL Workbench, yang juga merupakan open source dan dikembangkan oleh MySQL AB. Beberapa GUI terkenal lainnya adalah phpMyAdmin, alat administrasi yang populer untuk pengembangan aplikasi web, dan HeidiSQL, alat administrasi open source yang dapat digunakan untuk mengelola database lain selain MySQL.
Command line
MySQL juga dapat diakses melalui alat command line. Alat ini, yang juga disebut utilitas MySQL, disertakan bersama distribusi MySQL dan dipanggil dengan perintah teks, baik di shell MySQL maupun di alat antarmuka command line lainnya, seperti Percona Toolkit.
Pengguna dapat men-deploy MySQL secara manual di komputer fisiknya, menggunakan kode open source, atau dapat di-deploy dengan mendownload salah satu distribusi yang dipaketkan. MySQL paling sering diinstal pada satu instance atau mesin dengan penskalaan vertikal sebagai cara utama untuk meningkatkan performa. Namun, MySQL dapat disiapkan dalam konfigurasi yang direplikasi dengan satu node utama dan banyak node sekunder, yang memiliki kemampuan untuk dipromosikan menjadi node utama jika terjadi kegagalan instance.
Cara lain yang semakin populer untuk menghosting MySQL adalah melalui penyedia layanan cloud (CSP). Ada beberapa cara untuk men-deploy MySQL di lingkungan penyedia layanan cloud. Salah satunya adalah dengan menginstal MySQL langsung di virtual machine dan mengelolanya sendiri. Cara lainnya adalah melalui penggunaan penawaran terkelola dari penyedia layanan cloud yang membuat administrasi MySQL jauh lebih mudah dengan mengurus banyak aspek operasional pengelolaan MySQL. Google Cloud menawarkan layanan terkelola dalam bentuk Cloud SQL. Cloud SQL untuk MySQL adalah layanan database yang terkelola sepenuhnya untuk membantu Anda menyiapkan, memelihara, mengelola, dan mengatur database relasional MySQL di Google Cloud, sehingga mengurangi toil pada administrator database dan membantu organisasi berinovasi dengan menawarkan Layanan Bernilai Tambah terkait keamanan, ketersediaan tinggi, dan kemampuan observasi. Pelajari cara menyiapkan instance Cloud SQL MySQL dari artikel ini tentang praktik terbaik menyiapkan instance Cloud SQL untuk MySQL. Bermigrasi ke Cloud SQL untuk MySQL dari MySQL lokal atau dari database lain di penyedia layanan cloud menjadi sangat mudah dan sederhana dengan banyak alat dan opsi yang tersedia bagi pengguna.
Untuk memahami keuntungan dan perbedaan antara penawaran Cloud SQL untuk MySQL yang terkelola sepenuhnya dan MySQL yang dikelola sendiri, baca artikel tentang Opsi hosting MySQL.
MySQL cepat, andal, skalabel, dan mudah digunakan. MySQL dapat berjalan dengan nyaman di desktop atau laptop, bersama aplikasi Anda yang lain, server web, dan sebagainya, dengan sedikit atau tanpa perhatian. Jika Anda mendedikasikan seluruh mesin untuk MySQL, Anda dapat menyesuaikan setelan untuk memanfaatkan semua memori, daya CPU, dan kapasitas I/O yang tersedia. MySQL juga dapat meningkatkan skala hingga cluster mesin yang terhubung ke jaringan bersama.
Ada banyak keuntungan lain menggunakan MySQL untuk mengelola dan menyimpan data Anda, antara lain:
Ketersediaan tinggi
Ketersediaan tinggi (HA) di MySQL mengacu pada kemampuan mesin database untuk beroperasi dalam waktu yang lebih lama tanpa kegagalan. HA di MySQL bisa sangat rumit untuk disiapkan dan bergantung pada persyaratan ketersediaan khusus setiap pengguna dan cara mereka men-deploy MySQL. Untuk menyiapkan HA di MySQL, pengguna perlu mengkhawatirkan replikasi data, deteksi kegagalan, mekanisme failover dan failover, serta mengalihkan traffic database ke instance sekunder setelah failover. Cloud SQL untuk MySQL membuat ketersediaan tinggi menjadi proses yang sederhana dan mudah. Pelajari lebih lanjut ketersediaan tinggi untuk MySQL di Google Compute Engine atau pengalaman ketersediaan tinggi dan terkelola sepenuhnya dari Cloud SQL untuk MySQL.
Keamanan
Pertimbangan keamanan MySQL dapat mencakup berbagai faktor. Beberapa upaya penting mencakup perlindungan data, seperti melindungi data dari kerusakan menggunakan mekanisme redundansi data dan proses keamanan umum seperti sandi dan hak istimewa, kontrol akses, dan keamanan jaringan. Pelajari lebih lanjut keamanan di Cloud SQL untuk MySQL, penawaran MySQL yang terkelola sepenuhnya dari Google Cloud.
Pencadangan dan pemulihan
MySQL mendukung pencadangan dan pemulihan data menggunakan beberapa mekanisme, termasuk alat pihak ketiga. Beberapa cara untuk mencadangkan dan memulihkan MySQL adalah melalui utilitas mysqldump, pencadangan inkremental menggunakan log biner, dan menggunakan replikasi. Cloud SQL untuk MySQL menawarkan fitur pencadangan dan pemulihan tersendiri yang memungkinkan pencadangan otomatis atau sesuai permintaan.
Fleksibilitas
Sangat mudah untuk menambahkan, memperbarui, atau menghapus tabel dan relasi dan membuat perubahan lain pada data kapan pun Anda membutuhkannya, tanpa mengubah keseluruhan struktur database atau memengaruhi aplikasi yang sudah ada.
Mudah digunakan
Menjalankan kueri kompleks menggunakan SQL mudah dilakukan, memberdayakan pengguna pemula untuk berinteraksi secara intuitif dengan database.
Pengoptimalan performa merupakan aspek penting dalam pengelolaan database. MySQL memudahkan pengembangan aplikasi berperforma tinggi dengan menyediakan banyak fitur dan opsi tuning. Pelajari lebih lanjut fitur tersebut melalui artikel tentang tips pengoptimalan performa untuk MySQL. Artikel lainnya tentang penyesuaian kueri juga memberikan praktik terbaik spesifik untuk performa.
MySQL mendukung properti ACID (atomicity, konsistensi, isolasi, ketahanan) yang memastikan validitas data terlepas dari error, kegagalan, atau potensi masalah lainnya.
Karena sifatnya yang fleksibel, MySQL dapat digunakan untuk berbagai kasus penggunaan. Berikut ini beberapa hal yang dapat Anda pelajari lebih lanjut.
MySQL adalah bagian penting dari banyak aplikasi web yang dibangun saat ini menggunakan stack LAMP open source. LAMP mencakup Linux sebagai sistem operasi, Apache sebagai server web, MySQL sebagai database, dan PHP, Python, atau Perl sebagai bahasa pemrograman. LAMP membantu developer membangun aplikasi web dinamis yang mengharuskan pengambilan informasi terbaru dari database seperti MySQL. Informasi dapat mencakup akun pengguna, detail pengguna, nama produk, catatan pelanggan, penjualan, dan banyak lagi. Dengan menggunakan SQL, pengguna dapat dengan mudah mengakses dan memanipulasi informasi yang disimpan dalam database. Untuk mempelajari lebih lanjut, lihat LAMP dan cara menggunakannya untuk membangun aplikasi web.
Banyak aplikasi saat ini memerlukan database, seperti MySQL, yang dapat menangani dengan cepat transaksi database dalam jumlah besar dari orang dalam jumlah besar. Database OLTP seperti MySQL adalah fondasi bagi banyak transaksi web sehari-hari, termasuk transaksi keuangan, reservasi perjalanan, penyimpanan catatan, dan banyak lagi. Untuk mendukung kasus penggunaan pemrosesan transaksi online, MySQL mematuhi prinsip-prinsip ACID, dukungan untuk XML dan JSON, prosedur tersimpan, pengelompokan, dan partisi. Selain itu, terdapat opsi untuk memilih dari berbagai mesin penyimpanan, sehingga Anda memiliki fleksibilitas untuk mengintegrasikan data dari berbagai jenis tabel.
MySQL adalah database populer untuk aplikasi e-commerce yang memerlukan pengelolaan pengguna, informasi konsumen, data keuangan, dan analisis tren untuk mencegah aktivitas penipuan. Database relasional seperti MySQL dapat digunakan untuk mengatur informasi ke dalam tabel (produk, pelanggan, pesanan) dan tabel tambahan dapat ditambahkan sesuai kebutuhan. Beberapa organisasi terbesar di dunia seperti Airbnb, Uber, Netflix, Booking.com, Spotify, dan eBay menggunakan MySQL untuk mendukung aplikasi e-commerce mereka. MySQL juga dapat di-deploy dalam deployment hybrid untuk sepenuhnya mendukung kasus penggunaan e-commerce. MySQL dapat digunakan sebagai database relasional untuk data terstruktur dan database non-relasional untuk data tidak terstruktur seperti detail produk atau informasi pemasaran.
Aplikasi SaaS biasanya beroperasi 24/7, sehingga memerlukan periode nonaktif minimal, keamanan, dan kemampuan untuk diskalakan sesuai perubahan kebutuhan. MySQL telah muncul sebagai opsi database yang populer untuk membangun aplikasi SaaS karena mudah di-deploy, dikelola, dan diskalakan. Karena ini adalah open source, developer dapat memulai dengan cepat tanpa harus membayar biaya lisensi untuk perangkat lunak eksklusif. Komunitas global MySQL aktif dan telah berkontribusi pada plugin yang memberikan kemampuan tambahan.
MySQL adalah pilihan database populer untuk sistem pengelolaan konten (CMS) seperti WordPress dan Drupal. CMS menyimpan postingan, halaman, gambar, komentar, kategori, tag, kolom kustom, pengguna, dan setelan lainnya dalam database MySQL. Karena CMS sering kali memiliki ribuan atau bahkan jutaan akun setiap harinya, MySQL dapat menangani tabel yang besar dan berbagai kueri sekaligus. Seiring pertumbuhan audiens Anda, MySQL dapat menyesuaikan skala secara vertikal atau horizontal untuk memenuhi kebutuhan bisnis Anda.
Aspek penting dari aplikasi media sosial adalah kebutuhan akan koneksi di antara berbagai penyimpanan data seperti pengguna, grup, dan komentar. Kasus penggunaan semacam ini mengarah ke preferensi database relasional untuk aplikasi media sosial dengan MySQL sebagai pilihan utama. Beberapa contoh penting adalah Twitter, Pinterest, dan LinkedIn.
Pelajari cara Cloud SQL untuk MySQL membantu Anda berinovasi. Baca dokumentasi
Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.