informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Tahukah Anda cluster MySQL? Apakah Anda memahami proses replikasi master-slave? Artikel ini berfokus pada pengenalan pertanyaan wawancara, dan saya berharap setiap programmer dapat ikut serta! ! !
Dalam lingkungan online, kami biasanya menyebarkan instance Mysql dengan 1 master dan 1 slave, atau 1 master dengan banyak slave, untuk mencapai ketersediaan tinggi Mysql dan pemisahan baca-tulis; sinkronisasi master-slave Mysql dilakukan melalui log binlog.
Mengenai konstruksi cluster master-slave Mysql, Anda bisa merujuk pada artikel blogger di bawah ini
Sebagai penyimpanan data relasional, MySQL akan mengalami hambatan kinerja ketika volume data dalam satu tabel melebihi 30 juta. Demikian pula, koneksi klien dan konkurensi yang didukung oleh satu instance MySQL mengalami hambatan tertentu pertimbangkan untuk menggunakan teknologi sub-database dan sub-tabel untuk diimplementasikan.
Misalnya, layanan mikro saat ini telah dipecah secara vertikal. Setiap modul layanan mikro dapat dihubungkan ke instance database Mysqlnya sendiri. Karakteristiknya adalah ia didasarkan pada tabel dan membagi tabel yang berbeda ke dalam perpustakaan yang berbeda sesuai dengan bisnisnya. dan memperluas data pada tingkat yang berbeda; meningkatkan I0 disk dan koneksi volume data dalam konkurensi tinggi;
Berdasarkan bidang, bidang yang berbeda dibagi menjadi beberapa tabel berbeda sesuai dengan atribut bidang.Hal ini dapat dilakukan: memisahkan data panas dan dingin; mengurangi persaingan transisi IO, dan kedua tabel tidak saling mempengaruhi.
Pisahkan data dari satu perpustakaan menjadi beberapa perpustakaan. Ini memecahkan masalah kemacetan kinerja sejumlah besar perpustakaan tunggal dan konkurensi tinggi, serta meningkatkan stabilitas dan ketersediaan sistem.
Membagi data satu tabel menjadi beberapa tabel (bisa dalam satu perpustakaan). Mengoptimalkan masalah kinerja yang disebabkan oleh volume data yang berlebihan dalam satu tabel; menghindari pertikaian IO dan mengurangi kemungkinan penguncian tabel;
Kami telah membuat instance database sesuai dengan bisnis yang berbeda di spring-boot yang dikelola oleh spring-cloud, dan melakukan partisi vertikal. Untuk mengatasi penyimpanan data yang sangat besar, proyek kami juga menggunakan middleware Mycat untuk membagi database dan tabel.
Instalasi Mycat dan integrasi Spring-boot:
Setelah database dibagi menjadi beberapa tabel, karena data akan disimpan dalam beberapa tabel di beberapa database, transaksi terdistribusi akan menemui ID global terdistribusi, pengaturan aturan perutean, dan masalah paging lintas node;
Artikel ini memilah beberapa pertanyaan wawancara tentang cluster Mysql dan sub-database serta tabel.