MySQL adalah salah satu database open source paling populer di dunia, menurut DB-Engines. Versi pertamanya dirilis pada tahun 1995 dan telah dalam pengembangan berkelanjutan sejak saat itu, sehingga menjadikannya database relasional yang sangat populer bahkan hingga saat ini. MySQL sukses berkat ekosistem yang mencakup berbagai edisi open source dan komersial. MySQL banyak digunakan di infrastruktur lokal maupun cloud. Penyedia layanan cloud utama untuk MySQL adalah Google Cloud, Oracle, Amazon Web Services (AWS), dan Microsoft Azure.
Saat ini ada berbagai jenis MySQL yang tersedia di pasar, yang memperluas MySQL dengan menambahkan fitur untuk pengoptimalan, skalabilitas, pembuatan cluster, pemulihan dari bencana (disaster recovery), dan lainnya. Dua database utama yang dibangun menggunakan forking MySQL dan saat ini aktif adalah MariaDB dan Percona Server untuk MySQL.
Oracle mengembangkan dan memelihara MySQL Community Edition dan Enterprise Edition. Enterprise Edition mencakup dukungan teknis yang disediakan oleh Oracle dan juga memiliki beberapa fitur tambahan seperti pemantauan perusahaan MySQL, autentikasi PAM, keamanan yang ditingkatkan, peningkatan performa dan skalabilitas, pencadangan untuk perusahaan, audit perusahaan, pengelolaan cluster perusahaan, pembuatan cluster thread, dan banyak lagi.
Pendiri MySQL kemudian membuat MariaDB dengan jaminan bahwa software ini akan tetap menjadi open source. Beberapa fitur di MySQL sebenarnya dirilis lebih awal di MariaDB daripada di MySQL, seperti dukungan JSON, replikasi multi-sumber, dan replikasi thread paralel. Beberapa keunggulan utama MariaDB dibandingkan MySQL adalah:
Sebuah perusahaan bernama Percona mengembangkan dan memelihara Percona Server untuk MySQL. Percona melakukan banyak upaya selama bertahun-tahun terkait MySQL untuk mengoptimalkannya dan juga memperkenalkan fitur baru. Beberapa manfaat utama menggunakan Percona dibandingkan MySQL adalah:
Kebutuhan aplikasi akan menentukan database mana yang akan dipilih karena database yang berbeda memiliki fitur unik yang menargetkan kasus penggunaan tertentu. Misalnya, jika aplikasi Anda memerlukan analisis, Anda dapat menggunakan clickhouse di Percona atau columnstore di MariaDB, tetapi opsi seperti itu tidak tersedia di MySQL. Demikian pula, jika Anda ingin menggunakan fitur penggabungan thread, yang tidak tersedia di MySQL Community Edition, Anda harus memilih fitur Enterprise MySQL atau threadpool open source di Percona dan MariaDB.
Database cloud adalah database yang dibangun untuk dijalankan pada lingkungan cloud publik atau hybrid cloud guna membantu mengatur, menyimpan, dan mengelola data dalam suatu organisasi. Database cloud dapat ditawarkan sebagai database-as-a-service (DBaaS) terkelola atau di-deploy di virtual machine (VM) berbasis cloud dan dikelola sendiri oleh tim IT internal. Penyedia cloud utama untuk MySQL terkelola meliputi:
Google Cloud
Google Cloud menawarkan versi MySQL yang dihosting virtual machine, yang harus dikelola sendiri oleh pengguna, dan Cloud SQL, yang merupakan penawaran terkelola sepenuhnya.
Amazon Web Services (AWS)
Amazon Web Services (AWS) menawarkan opsi MySQL yang dihosting VM dan solusi terkelola sepenuhnya dalam bentuk RDS. AWS juga memiliki penawaran Aurora, yang merupakan penawaran MySQL yang kompatibel dengan MySQL dengan fitur tambahan.
Azure SQL Database
Azure menawarkan dua model deployment untuk MySQL yang mirip dengan vendor cloud lainnya: opsi virtual machine dalam bentuk MySQL di VM Azure dan versi yang terkelola sepenuhnya dalam bentuk Azure Database for MySQL.
Oracle Cloud
Oracle menawarkan kemampuan untuk menghosting MySQL di virtual machine-nya. Oracle juga memunculkan penawaran baru yang terkelola sepenuhnya yang disebut MySQL HeatWave Database Service.
Digital Ocean
Digital Ocean juga memiliki kemampuan untuk menghosting MySQL di virtual machine-nya. MySQL juga menawarkan opsi hosting yang terkelola sepenuhnya untuk MySQL.
Banyak perusahaan telah berupaya memperluas MySQL dan membuat produk yang menyediakan failover dan ketersediaan tinggi untuk database MySQL. Beberapa di antaranya adalah alat yang digunakan langsung dengan MySQL, dan beberapa di antaranya merupakan modifikasi pada kode sumber MySQL yang menghasilkan produk terpisah, yang menyediakan ketersediaan tinggi atau cluster multi-induk. Beberapa solusi HA dan skalabilitas MySQL yang populer mencakup:
InnoDB Cluster terdiri dari setidaknya tiga instance MySQL Server, dan menyediakan fitur penskalaan dan ketersediaan tinggi. InnoDB Cluster terdiri dari MySQL Shell, MySQL Router, dan MySQL Server dengan Group Replication. Detail selengkapnya dapat ditemukan di Cluster InnoDB Bab 23.
Percona XtraDB Cluster adalah solusi pembuatan cluster sinkron yang menyediakan fitur ketersediaan tinggi, replikasi paralel, dan skalabilitas. Percona XtraDB Cluster menyertakan alat admin ProxySQL yang secara otomatis mengonfigurasi node Percona XtraDB Cluster menggunakan ProxySQL. Detail selengkapnya dapat ditemukan di Cluster Percona XtraDB.
MariaDB Galera Cluster adalah cluster multi-primary yang bersifat sinkron secara virtual untuk MariaDB yang menyediakan fitur ketersediaan tinggi dan skalabilitas. Layanan ini didukung oleh server MariaDB dan library penyedia wsrep Galera. Library ini menyediakan fitur seperti penggabungan node otomatis, replikasi paralel akurat, topologi multi-primary, dan banyak lagi. Detail selengkapnya dapat ditemukan di MariaDB Galera Cluster.
Cluster Tungsten menyediakan satu paket mudah, yang memiliki semua komponen inti yang diperlukan untuk men-deploy dan mengelola database MySQL sebagai cluster. Solusi ini menyediakan solusi pembuatan cluster geografis. Solusi ini mencakup Tungsten Manager, Replicator, Connector, Node Data, dan Dashboard. Detail selengkapnya dapat ditemukan di Cluster Continuent Tungsten.
MariaDB Xpand menyediakan SQL terdistribusi yang mematuhi ACID, ketersediaan tinggi, fault tolerance, penskalaan operasi tulis, dan penyebaran skala horizontal untuk workload transaksional. MariaDB Xpand adalah komponen dari MariaDB Enterprise. Solusi ini mencakup satu atau beberapa node MaxScale dan tiga node Xpand atau lebih. Detail selengkapnya dapat ditemukan di MariaDB Xpand.
ScaleArc adalah software load balancing database yang menyediakan ketersediaan tinggi. Detail selengkapnya dapat ditemukan di ScaleArc.
Vitess memiliki fitur sharding bawaan yang memungkinkan Anda mengembangkan database tanpa menambahkan logika sharding ke aplikasi untuk memberikan skalabilitas dan ketersediaan tinggi. Detail selengkapnya dapat ditemukan di Vitess.
Alat MySQL tersedia dalam semua bentuk—berbasis web, antarmuka command line (CLI), dan antarmuka pengguna grafis (GUI). MySQL memiliki berbagai alat open source dan komersial untuk perancangan database, pengembangan, administrasi, pencadangan, pemantauan performa, dan pemberitahuan.
Berikut beberapa alat pemantauan MySQL dengan GUI yang populer:
Percona Monitoring and Management, Prometheus, MySQL Enterprise Monitor, New Relic, SolarWinds, HeidiSQL, AppDynamics, Datadog, dan SQLyog.
Berikut beberapa alat administrasi, pengembangan, atau utilitas yang populer:
Detail alat populer:
Beberapa alat utama lainnya untuk pemantauan yang dilengkapi grafik untuk menganalisis tingkat error, pola kueri, dan traffic dengan mekanisme pemberitahuan adalah New Relic, Zabbix, Cortex, Prometheus, dan Grafana.
Menjalankan database melalui cluster Kubernetes menggunakan image container Docker kini menjadi semakin populer. Layanan ini membantu mengelola database menggunakan kode, deployment yang mudah dan cepat, perlindungan data, isolasi dari aplikasi, dan kegunaan resource bersama. Pada dasarnya, semua keunggulan Docker dapat dimanfaatkan oleh sistem database. Ada juga beberapa operator Kubernetes yang sudah tersedia untuk MySQL. Namun, masih banyak aspek yang dapat ditingkatkan.
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.