Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Migrasi Standalone Moodle ke Clustered Database Scalable Setup

Pembelajaran Online saat ini dengan cepat mendapatkan daya tarik sejak pandemi COVID-19 terjadi. Sebagian besar lembaga pendidikan harus menyiapkan platform untuk pembelajaran online, dan hampir semua siswa harus mengakses platform untuk belajar dan berinteraksi dengan para guru. Moodle adalah salah satu sistem pengelolaan pembelajaran open source untuk pembelajaran online, 

Memiliki ketersediaan platform Moodle yang tinggi adalah suatu keharusan bagi institusi, jika tidak maka akan mengganggu dan menghentikan proses pembelajaran online. Dengan banyaknya siswa yang mengakses platform secara bersamaan, ketersediaan dan skalabilitas menjadi penting. Pada titik ini, institusi pendidikan perlu memiliki pengetahuan dan merancang platform ketersediaan tinggi dan skalabilitas Moodle. Jika Anda ingin tahu lebih banyak tentang cara memigrasikan Moodle mandiri ke Clustered Database Scalable, Anda dapat mengikuti panduan ini.

Moodle dalam Mode “Satu Titik Kegagalan”

Platform Moodle yang berdiri sendiri terdiri dari satu server, dan semuanya terpasang di server (database dan server aplikasi di satu tempat). Atau Anda memiliki 2 server, yaitu untuk server aplikasi dan server database seperti yang dijelaskan pada gambar di bawah ini:

Kedua arsitektur kekurangan ketersediaan dan skalabilitas layanan. Dari perspektif ketersediaan, Anda dapat membayangkan, jika server macet, Anda tidak memiliki layanan apa pun yang berjalan di server. Jika server aplikasi lumpuh atau database lumpuh, layanan berhenti beroperasi.

Di sisi lain, skalabilitas juga penting, lebih banyak pengguna berarti lebih banyak lalu lintas dan lebih banyak koneksi ke database. Skalabilitas dapat dicapai dengan menambahkan lebih banyak sumber daya di server, atau menambahkan lebih banyak server sehingga lalu lintas dapat didistribusikan ke seluruh node, jika tidak, kinerja akan menurun.

Mengonversi Dari Basis Data Standalone ke Clustered

Migrasi node mandiri Anda ke database cluster mungkin membutuhkan waktu, dan ini bukan operasi bebas risiko. Berikut adalah langkah-langkah yang perlu kita lakukan:

  1. Anda perlu membuat cadangan (gunakan mysqldump atau xtrabackup).
  2. Instal database di semua node database replika.
  3. Pulihkan cadangan ke dalam node replika.
  4. Hubungkan node replika ke master.
  5. Setup ProxySQL dan tetap hidup di depan node database
  6. Mengonfigurasi penyeimbang beban ProxySQL (mis. membuat grup host, server, pengguna).
  7. Arahkan konfigurasi Moodle ke Alamat IP Virtual baru.

Bagaimana ClusterControl Dapat Membantu 

ClusterControl adalah perangkat lunak manajemen basis data yang membantu Anda menerapkan, memantau, dan mengelola basis data sumber terbuka Anda. Kami akan mencoba bermigrasi dari arsitektur Moodle mandiri seperti yang ditunjukkan di bawah ini:

Ke arsitektur database yang dikelompokkan berdasarkan replikasi:

Anda memerlukan setidaknya dua server untuk database, dan dua untuk database proxy (kami akan menggunakan ProxySQL sebagai penyeimbang beban) dan layanan yang tetap aktif untuk melayani Alamat IP Virtual.

Dengan asumsi kita menjalankan database MySQL mandiri:

Menambahkan lebih banyak node database di ClusterControl sangat mudah, Anda dapat membuka Menu Cluster di sisi kanan cluster Anda dan Tambahkan Replication Slave.

Akan muncul dialog baru untuk Adding New Slave, Anda hanya perlu mengisi alamat IP dan kemudian klik tombol Add New Slave seperti gambar di bawah ini:

Seperti yang Anda lihat dari tangkapan layar, dimungkinkan untuk menyemai budak dengan data dari cadangan yang ada. Ini untuk menghindari streaming semua data dari database master yang sedang berjalan. Setelah database slave di-deploy, database tersebut akan dilengkapi dengan data master dan ClusterControl akan memastikan slave disinkronkan dengan master.

Anda dapat mengulangi langkah ini untuk  menambahkan node replika lainnya.

Arsitektur baru akan seperti gambar di bawah ini:

Langkah selanjutnya adalah menambahkan load balancer di depan database. Penyeimbang beban seperti ProxySQL berguna karena dapat mengarahkan permintaan tulis ke master dan permintaan baca ke budak. Dengan cara ini, Anda mendistribusikan lalu lintas Moodle. Perhatikan bahwa dimungkinkan juga untuk melakukan penyiapan master-master berdasarkan Galera Cluster untuk MySQL atau MariaDB.

Kami akan menggunakan dua penyeimbang beban untuk ketersediaan tinggi. Anda dapat membuka Manage -> Load Balancers di cluster.

Anda perlu mengisi beberapa informasi seperti alamat server, kata sandi administratif dan monitor, tambahkan pengguna moodle ke ProxySQL, lalu klik Deploy ProxySQL. Ini akan memicu pekerjaan baru. Ulangi penerapan pada node penyeimbang beban lainnya.

Hal terakhir adalah mengonfigurasi keepalive untuk penyeimbang beban. Buka Manage -> Load Balancers, ada tab untuk Keepalive

Anda hanya perlu memilih jenis penyeimbang beban, dan menambahkannya ke keepalive . Isi alamat IP Virtual dan antarmuka Jaringan. Klik tombol Terapkan Keepalive.

Arsitektur akhir dari database Moodle yang sangat tersedia dalam cluster kami akan seperti yang ditunjukkan di bawah ini:

Anda hanya perlu mengubah konfigurasi koneksi di config.php dengan menunjuk dbhost ke Alamat IP Virtual yang telah kami konfigurasikan.

Setelah semua bermigrasi ke Clustered Database, Anda mungkin ingin menempatkan beberapa pemantauan di database Moodle Anda, yang dapat Anda ikuti panduan ini.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa MYSQL LIMIT offset yang lebih tinggi memperlambat kueri?

  2. Memigrasikan MySQL ke PostgreSQL di AWS RDS, Bagian 2

  3. LINQ to Entities tidak mengenali metode 'System.String ToString()' metode, dan metode ini tidak dapat diterjemahkan ke dalam ekspresi toko

  4. Perintah Administrasi Basis Data Dasar MySQL – Bagian I

  5. Kunci Asing MySQL