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

Apa itu MariaDB TX? Cara Mengelola Fork MySQL MariaDB Baru!

Anda mungkin pernah mendengar tentang MariaDB TX dan mungkin bertanya-tanya apa itu?

Apakah ada perbedaan antara itu dan MariaDB Server 10.3?

Dalam posting blog ini, kami ingin memberi Anda gambaran umum tentang MariaDB TX dan apa itu semua.

Singkatnya:MariaDB TX adalah langganan di mana MariaDB menggabungkan beberapa penawaran yang membangun database transaksional berfitur lengkap.

Basis data yang digunakan di MariaDB TX adalah MariaDB Server 10.3, yang juga menyertakan Galera Cluster untuk replikasi multi-master sinkron. Untuk lapisan proxy MariaDB TX menggunakan MaxScale.

Mari kita sedikit fokus pada dua penawaran utama tersebut, membahas fitur-fiturnya.

Server MariaDB 10.3


Ini berkembang menjadi garpu fitur lengkap, yang mengimplementasikan fungsionalitas baru di atas apa yang diimplementasikan Oracle di hulu. MariaDB 10.3 hadir dengan daftar fitur yang berfokus pada perusahaan. MariaDB Server 10.3 tidak lagi menjadi pengganti MySQL.

Kompatibilitas Oracle

MariaDB 10.3 hadir dengan SQL_MODE=ORACLE, yang meningkatkan kompatibilitas untuk sintaks SQL yang digunakan di MariaDB 10.3 dengan Oracle PL/SQL. Fitur kompatibilitas berikut disertakan dalam MariaDB TX:

  • Parameter Prosedur Tersimpan
  • Konstruk Prosedur Tersimpan Non-ANSI
  • Sintaks Kursor
  • Sintaks Loop
  • Deklarasi Variabel
  • Pewarisan Tipe Data (%TYPE, %ROWTYPE)
  • Pengecualian gaya PL/SQL
  • Sinonim untuk Tipe SQL Dasar (VARCHAR2, NUMBER, …)

Ini memungkinkan migrasi aplikasi Anda dari database Oracle ke MariaDB TX dengan lebih mudah.

Hingga 80% dari kode Oracle PL/SQL sekarang dapat dijalankan di MariaDB tanpa perlu melakukan perubahan; ini berdampak serius pada kurva pembelajaran secara keseluruhan dan mengurangi waktu yang diperlukan untuk menulis ulang kode lama agar dapat dijalankan di MariaDB TX.

Yang juga penting untuk diingat, MariaDB TX hadir dengan paket dukungan dan Anda akan mendapatkan akses ke konsultan yang dapat berbagi praktik terbaik migrasi dengan Anda atau bahkan langsung membantu Anda dalam proses perencanaan untuk membuat transisi menjadi lebih mudah.

Peningkatan dalam SQL

MariaDB TX juga memberikan peningkatan dalam sintaks SQL, termasuk fitur baru yang seharusnya sangat berguna bagi pengembang seperti fungsi Window atau ekspresi tabel umum. Juga subklausa temporal bisa sangat berguna karena memungkinkan untuk mengakses beberapa versi dari baris tertentu berdasarkan titik waktu tertentu.

Semua fitur tercantum di bawah ini:

  • Subklausa sementara (mis., AS OF)
  • Fungsi agregat yang ditentukan pengguna
  • Fungsi agregat yang diatur secara berurutan
  • INTERSECT/KECUALI
  • Konstruktor nilai tabel
  • Waktu tunggu kunci DDL/PILIH habis
  • Ekspresi tabel umum
  • Fungsi jendela
  • Fungsi JSON

Mesin Penyimpanan Eksternal

Mesin default untuk MariaDB adalah InnoDB, mesin penyimpanan serba guna transaksional.

Ini cocok untuk sebagian besar beban kerja dan bekerja dengan baik untuk beban kerja OLTP (Pemrosesan Transaksi Online). Ini bukan satu-satunya mesin penyimpanan yang tersedia di MariaDB TX. Anda mendapatkan akses ke mesin Spider, yang dapat digunakan untuk mempartisi data Anda di beberapa instans MariaDB sambil mempertahankan dukungan untuk transaksi XA.

Mesin penyimpanan lain yang dapat Anda gunakan adalah MyRocks, mesin yang dioptimalkan untuk penyimpanan dan pengurangan amplifikasi penulisan. Diuji dalam pertempuran di Facebook, berbasis LSN, sangat cocok untuk menyimpan data dalam jumlah besar pada penyimpanan SSD, mengurangi biaya dengan menerapkan kompresi yang kuat dan dengan mengurangi jumlah penulisan yang diperlukan untuk beban kerja tertentu (sehingga meminimalkan keausan SSD ).

Kluster Galera

MariaDB TX memberi Anda akses mudah ke Galera Cluster, replikasi multi-master yang hampir sinkron. Galera Cluster dapat digunakan untuk merancang cluster dengan jangkauan WAN yang sangat tersedia.

Galera Cluster dibangun di atas protokol quorum-aware, yang memastikan bahwa partisi jaringan tidak akan menjadi masalah dan bahwa otak yang terbelah seharusnya tidak lagi menjadi masalah. Galera Cluster menyediakan sarana penyediaan otomatis node baru atau yang gagal, sehingga mengurangi jejak manajemen.

Fitur Operasional

MariaDB TX juga menyediakan beberapa fitur yang terkait dengan tugas operasional. TAMBAHKAN KOLOM Instan membantu mengurangi dampak salah satu perubahan skema yang paling umum. Kolom tak terlihat membantu menjaga kompatibilitas antara kode lama dan baru. Indeks pada kolom virtual akan meningkatkan kinerja.

Mariabackup

MariaDB TX mengimplementasikan enkripsi data-at-rest yang mencakup enkripsi log biner. Untuk memastikan bahwa pengguna MariaDB TX dapat memperoleh manfaat dari pencadangan bebas kunci, Mariabackup telah dibuat. Ini adalah fork Xtrabackup yang ditingkatkan, yang tidak berfungsi dengan benar dengan fitur enkripsi MariaDB TX. Sekarang, Anda dapat menikmati pencadangan fisik yang panas dengan Mariabackup sambil mengenkripsi data Anda dengan aman.

MariaDB MaxScale

Selain MariaDB 10.3, MariaDB TX hadir dengan MaxScale 2.3, proxy SQL-aware yang dapat digunakan untuk membangun lingkungan yang sangat tersedia. Muncul dengan banyak fitur dan kami ingin membahas yang paling penting di sini.

Kegagalan Otomatis

MaxScale dapat digunakan untuk melacak kesehatan node master MariaDB dan, jika gagal, melakukan failover otomatis yang cepat. Failover otomatis sangat penting dalam membangun solusi yang sangat tersedia yang dapat segera pulih dari kegagalan.

Pemisahan Baca-Tulis

Pemisahan baca-tulis adalah fitur penting untuk memungkinkan penskalaan baca. Cukup untuk aplikasi terhubung ke MaxScale dan itu akan mendeteksi topologi, menentukan MariaDB mana yang bertindak sebagai master dan mana yang bertindak sebagai budak. Ini kemudian akan mengarahkan lalu lintas sesuai dengan ini. Kueri SELECT akan dikirim ke budak, penulisan akan dikirim ke master. Semuanya terjadi secara otomatis, topologi dipantau setiap saat dan jika terjadi kegagalan, lalu lintas akan dialihkan berdasarkan perubahan.

Perutean Kueri Transparan

MaxScale, sebagai titik masuknya lalu lintas ke MariaDB TX, dapat digunakan untuk melakukan pemisahan baca-tulis. Terkadang ini masih belum cukup dan akan sangat bagus jika memiliki cara untuk mengontrol ke mana kueri yang diberikan harus dikirim. Ini dimungkinkan di MaxScale - Anda dapat mencocokkan kueri menggunakan ekspresi reguler dan kemudian memutuskan apakah kueri tersebut akan dikirim ke master atau ke slave. Ini dapat membantu dalam beberapa kasus tertentu di mana kueri SELECT harus dijalankan pada master karena masalah baca-setelah-tulis atau hanya karena harus memiliki tampilan kumpulan data yang paling baru.

Caching Hasil Kueri

Untuk meningkatkan kinerja, caching kueri adalah suatu keharusan. Cache kueri yang tersedia di MariaDB tidak akan berfungsi di lingkungan yang sangat bersamaan karena menjalankan serialisasi kueri, yang secara serius mengurangi kinerja bahkan untuk beban kerja hanya-baca. Menggunakan solusi eksternal untuk cache tidak selalu layak:bagaimanapun Anda akan berakhir dengan database lain untuk dipelihara, diamankan, dan tetap sehat. Mungkin lebih baik menggunakan MaxScale sebagai cache dengan asumsi Anda sudah menggunakannya untuk fungsi lain.

Pemblokiran Kueri

Terkadang database mengalami kueri yang tidak efisien, yang menyebabkan beban tinggi pada sistem. Bisa jadi penulisan ulang kueri itu akan memakan waktu terlalu lama (seseorang harus menulis ulang, menguji perubahan pada staging dan akhirnya menyebarkan ke produksi), waktu yang tidak Anda miliki. MaxScale dapat membantu Anda di sini dengan fitur-fitur seperti pemblokiran kueri, yang pada dasarnya memungkinkan Anda untuk menghentikan kueri tertentu agar tidak mengenai database. Fitur ini juga dapat digunakan untuk membangun firewall SQL - hapus semua kueri yang cocok dengan pola yang mengarah ke injeksi SQL atau aktivitas lain yang berpotensi berbahaya dan berbahaya.

Seperti yang Anda lihat, MariaDB TX hadir dengan daftar fitur dan perangkat lunak yang dirancang untuk bekerja sama dan membangun database yang sangat tersedia dan skalabel untuk pemrosesan data transaksional.

Pemantauan &Manajemen Perusahaan untuk MariaDB TX

ClusterControl mendukung MariaDB TX sepenuhnya. Anda dapat dengan mudah menerapkan MariaDB Server 10.3 dan MaxScale 2.3. ClusterControl mendukung penyiapan replikasi MariaDB serta MariaDB Galera Cluster.

Selama Anda memiliki konektivitas SSH dari instans ClusterControl ke node tempat Anda ingin menerapkan MariaDB TX, Anda dapat melakukannya hanya dengan beberapa klik.

Pertama, Anda harus menentukan bagaimana ClusterControl akan mencapai node MariaDB TX.

Kemudian, pilih MariaDB sebagai vendor dan pilih salah satu versi yang didukung. Berikan kata sandi root MariaDB.

Akhirnya, memutuskan topologi. Anda dapat menggunakan MariaDB TX di master - master, aktif - setup standby dengan slave tambahan. Replikasi akan menggunakan MariaDB GTID.

Untuk MariaDB Galera Cluster langkah pertama sama persis, selanjutnya Anda tinggal memilih MariaDB sebagai vendornya, tentukan versinya dan tentukan node di MariaDB Galera Cluster:

Dengan kluster yang digunakan, Anda dapat menggunakan kekuatan ClusterControl untuk memantau dan mengelola kluster MariaDB TX Anda.

Misalnya, menambahkan penyeimbang beban MaxScale hanya dengan beberapa klik saja:

Setelah diterapkan, Anda dapat mengelola MaxScale menggunakan ClusterControl:

Anda juga dapat menskalakan kluster Galera dengan menambahkan node Galera baru atau slave replikasi asinkron. Anda dapat menambahkan budak atau budak tertunda ke pengaturan replikasi Anda, atau melakukan perubahan topologi dengan mempromosikan budak ke master, dan reslaving sisa pengaturan. ClusterControl akan memantau cluster dan mencoba memulihkan node atau cluster yang gagal jika terjadi insiden. Untuk pencadangan, ClusterControl dapat membantu Anda menentukan jadwal pencadangan menggunakan mysqldump dan Mariabackup sehingga Anda dapat dengan mudah memanfaatkan fitur enkripsi MariaDB TX.

Untuk bagian pemantauan dan tren, ClusterControl dapat digunakan baik dalam mode tanpa agen:

Atau dapat digunakan bersama dengan Prometheus dan agen untuk memberikan wawasan yang lebih baik tentang apa yang terjadi di klaster MariaDB TX.

Kami harap entri blog pengantar ini membantu Anda memahami apa itu MariaDB TX dan bagaimana ClusterControl dapat membantu Anda mengelolanya.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. HA untuk MySQL dan MariaDB - Membandingkan Replikasi Master-Master dengan Galera Cluster

  2. SUM() Fungsi di MariaDB

  3. Bagaimana ROUND() Bekerja di MariaDB

  4. Otomasi Basis Data dengan Wayang:Menyebarkan Replikasi MySQL &MariaDB

  5. Pilih Semuanya Sebelum atau Setelah Karakter Tertentu di MariaDB