MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

DBaaS, cloud, dan perutean kueri transparan

Lebih sering daripada tidak, replika digunakan untuk ketersediaan tinggi dan/atau penskalaan baca. Jika primer gagal, salah satu replika dipromosikan menjadi primer. Jika ada banyak bacaan, dan itu hampir selalu terjadi, replika ditambahkan untuk memperkecil. Idealnya, penulisan dirutekan ke primer dan pembacaan diseimbangkan beban di seluruh replika. Ini adalah cara paling efisien untuk memanfaatkan sumber daya yang tersedia.

RDS, Azure Database, dan Cloud SQL semuanya memberi Anda titik akhir individual untuk instans database, satu untuk yang utama dan satu untuk setiap replika. Jika Anda ingin membaca keseimbangan beban, Anda harus membuat beberapa koneksi (satu untuk setiap replika) dan melakukannya sendiri. Jika Anda ingin mengeksekusi penulisan pada primer dan membaca pada replika (yaitu, pemisahan baca/tulis), Anda harus membuat koneksi tambahan ke primer dan melakukannya sendiri.

Tidak menyenangkan. Tidak keren.

Dengan MaxScale, proxy database tingkat lanjut untuk MariaDB Enterprise Server, Anda tidak perlu khawatir. MaxScale melakukan penyeimbangan beban baca dan pemisahan baca/tulis untuk Anda – itulah yang kami sebut perutean kueri transparan. Pengembang tidak perlu khawatir tentang infrastruktur fisik (yaitu, topologi database). Mengapa harus? Mungkin ada satu replika, mungkin ada lima. Mungkin DBA menambahkan replika tadi malam, mungkin mereka menghapus dua. Seharusnya tidak masalah, dan aplikasi tidak harus memperhitungkannya.

Itulah hal hebat tentang MaxScale. Ini mengabstraksi infrastruktur basis data dan topologi penyebaran yang mendasarinya. Mungkin itu database yang berdiri sendiri. Mungkin itu adalah database yang direplikasi. Mungkin itu adalah database berkerumun. Siapa peduli? Terutama di awan.

Jadi, mengapa Anda dapat memanfaatkan perutean kueri transparan di tempat, tetapi tidak di cloud? Karena RDS, Azure Database, dan Google Cloud SQL tidak memiliki MaxScale. Kalau saja ada DBaaS dengan MaxScale dan perutean kueri yang transparan. Kalau saja kita bisa melambung lebih tinggi dengan awan MariaDB terbaik. Tunggu, halo SkySQL!

Ya, kami telah menghadirkan kekuatan MaxScale ke SkySQL.

Setelah Anda membuat database yang direplikasi, Anda diberikan nama host dan dua port, satu baca dan satu baca/tulis. Anda hanya memerlukan port baca/tulis karena ia juga membaca load balancing. Namun, jika Anda memiliki aplikasi hanya baca (mis., BI/pelaporan), port baca mungkin berguna. Mudah sekali.

Anda mungkin bertanya pada diri sendiri, apakah Shane baru saja membagikan nama host dan port databasenya?

Mengapa ya, ya saya lakukan. Secara default, database SkySQL tidak dapat diakses. Anda harus memasukkan alamat IP (atau rentang) ke daftar putih dari setiap klien dan server aplikasi yang memerlukan akses. Dan satu-satunya alamat IP yang saya masukkan ke daftar putih adalah alamat untuk laptop saya di rumah. Semoga berhasil.

Kembali ke topik yang dibahas, Anda akan melihat dua port:5001 untuk pemisahan baca/tulis (menulis ke primer, membaca keseimbangan beban di seluruh replika) dan 5002 untuk penyeimbangan beban hanya-baca. Basis data saya memiliki dua replika, tetapi aplikasi yang terhubung dengannya tidak perlu mengkhawatirkannya. Saya dapat menambahkan dua replika lagi besok, dan tidak ada perubahan aplikasi yang diperlukan untuk memanfaatkannya. MaxScale hanya akan, dan secara otomatis, mulai merutekan pembacaan ke mereka.

Dan jika primer gagal, bukan masalah besar. MaxScale akan secara otomatis mempromosikan replika dan mulai merutekan penulisan ke sana (dan load balancing membaca seluruh replika yang tersisa). Jika Anda pernah mengalami waktu failover RDS yang tidak dapat diprediksi, Anda tahu alasannya. Kegagalan RDS didasarkan pada propagasi DNS sehingga Anda tidak perlu mengubah nama host titik akhir. Hampir transparan, tetapi butuh waktu. Dengan MaxScale, di sisi lain, ini langsung – tidak diperlukan propagasi DNS.

Tapi, saya tidak ingin melenceng terlalu jauh dari topik. Saya memiliki sesuatu yang lain dalam pikiran yang direncanakan untuk HA. Pantau terus.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemantauan Replikasi MySQL yang Efektif Dengan Dasbor SCUMM:Bagian 2

  2. Firewall SQL Menjadi Mudah dengan ClusterControl &ProxySQL

  3. Cara Mencadangkan Basis Data MariaDB Moodle Anda

  4. Bagaimana COS() Bekerja di MariaDB

  5. MariaDB UCASE() Dijelaskan