Memahami mesin penyimpanan yang didukung

Selesai

Azure Database for MySQL saat ini mendukung dua mesin penyimpanan: InnoDB dan Memori.

InnoDB

InnoDB sekarang menjadi mesin penyimpanan default MySQL dan yang paling banyak digunakan. InnoDB memenuhi persyaratan ACID (Atomicity, Consistency, Isolation, Durability), yang dirancang untuk transaksi pendek yang biasanya diterapkan, daripada digulung balik. Ini adalah mesin penyimpanan tujuan umum yang andal yang berfungsi dengan baik untuk sebagian besar beban kerja.

Beberapa manfaat InnoDB meliputi:

  • Mendukung transaksi.
  • Mendukung kunci asing.
  • InnoDB menulis terlebih dahulu ke log, sebelum menulis perubahan pada disk. Jika terjadi crash atau server dihidupkan ulang, perubahan apa pun yang belum ditulis ke disk dapat dipulihkan dari log.
  • Tabel InnoDB dapat dienkripsi saat tidak aktif.
  • InnoDB mendukung pemartisian data.

Tip

Meskipun MySQL mendukung mesin penyimpanan alternatif, untuk sebagian besar skenario InnoDB adalah pilihan yang tepat.

InnoDB adalah satu-satunya mesin penyimpanan MySQL yang mendukung batasan kunci asing. Ini berarti bahwa untuk sebagian besar aplikasi database, InnoDB adalah satu-satunya opsi. Saat Anda membuat tabel di MySQL, mesin InnoDB akan digunakan kecuali Anda menentukan mesin penyimpanan lain.

InnoDB menggunakan memori sebagai cache untuk menghindari akses disk dan berperforma baik dengan sejumlah besar memori yang dialokasikan untuk hal tersebut. Strategi ini menghindari pertukaran, ketika penulisan disk dipaksa karena memori tidak cukup. Azure Database for MySQL memungkinkan Anda memantau persentase memori yang sedang digunakan. Lihat Platform data Azure Monitor - Azure Monitor | Microsoft Docs untuk informasi selengkapnya. Anda juga dapat mengatur peringatan.

Mode ketat InnoDB

Innodb_strict_mode mengontrol bagaimana masalah seperti nilai atau nilai yang tidak valid di luar panjang maksimumnya ditangani. Saat mode ketat tidak diaktifkan, InnoDB menghasilkan peringatan dan bergantung pada kesalahan dapat memotong nilai. Ketika mode ketat diaktifkan, Anda harus memperbaiki masalah sebelum melanjutkan. Di Azure Database for MySQL, Innodb_strict_mode diaktifkan, dan tidak dapat dimodifikasi di tingkat server. Anda dapat mengaktifkan innodb_strict_mode di tingkat sesi dengan menggunakan init_connect.

Catatan

Pada server replika baca, pengaturan innodb_strict_mode ke NONAKTIF pada tingkat sesi pada server sumber akan merusak replikasi. Jika Anda memiliki server replika baca, biarkan pengaturan parameter ke AKTIF.

Innodb_strict_mode berinteraksi dengan pengaturan parameter lain untuk menghasilkan kesalahan atau memblokir tindakan tertentu. Lihat dokumentasi MySQL untuk detail lebih lanjut.

Catatan

Jika Anda menerima pesan kesalahan seperti Ukuran baris terlalu besar (> 8126), pertimbangkan untuk mengatur parameter innodb_strict_mode ke NONAKTIF di tingkat sesi. Jika ukuran data baris lebih besar dari 8K, baris akan terpotong, dan data mungkin hilang. Tidak ada pesan kesalahan yang akan ditampilkan.

Innodb_buffer_pool_size adalah parameter server yang menentukan ukuran memori di mana InnoDB menyimpan cache data tabel dan indeks. Nilainya dalam format byte, dan defaultnya adalah 134217728 byte (128 MB).

Memori

Mesin penyimpanan Memori menyimpan data tabel dalam memori; data tidak akan ditulis ke disk. Ini berarti bahwa akses tersebut berlangsung cepat. Namun, jika ada crash atau server dimulai ulang, mesin penyimpanan memori tidak menulis ke log, sehingga data tidak dapat dipulihkan.