


Susun dan ringkaskan lima penyelesaian ketersediaan tinggi MySQL biasa
Artikel ini membawakan anda pengetahuan yang berkaitan tentang mysql, yang terutamanya memperkenalkan isu yang berkaitan dengan penyelesaian ketersediaan tinggi biasa Di sini kita hanya membincangkan kelebihan dan kekurangan penyelesaian ketersediaan tinggi biasa dan ketersediaan tinggi melihat pilihan penyelesaian saya harap ia akan membantu semua orang.
Pembelajaran yang disyorkan: tutorial video mysql
1. Gambaran Keseluruhan
Kami sedang mempertimbangkan ketersediaan MySQL yang tinggi pangkalan data Semasa mereka bentuk seni bina, kita harus mempertimbangkan aspek berikut:
- Jika masa henti pangkalan data atau gangguan yang tidak dijangka berlaku, ketersediaan pangkalan data boleh dipulihkan secepat mungkin, dan masa henti boleh dihentikan. dikurangkan sebanyak mungkin untuk memastikan perniagaan tidak akan Terganggu kerana kegagalan pangkalan data.
- Data nod bukan utama yang digunakan untuk fungsi seperti sandaran dan replika baca sahaja hendaklah konsisten dengan data nod utama dalam masa nyata atau akhirnya.
- Apabila pertukaran pangkalan data perniagaan berlaku, kandungan pangkalan data sebelum dan selepas suis harus konsisten dan perniagaan tidak akan terjejas kerana data tiada atau data tidak konsisten.
Kami tidak akan membincangkan klasifikasi ketersediaan tinggi secara terperinci di sini Kami hanya akan membincangkan kebaikan dan keburukan penyelesaian ketersediaan tinggi yang biasa digunakan dan pemilihan penyelesaian ketersediaan tinggi.
2. Penyelesaian ketersediaan tinggi
2.1. Master-hamba atau master-master replikasi separa segerak
Gunakan pangkalan data dua nod untuk membina sehala atau dua- cara replikasi separa segerak. Dalam versi selepas 5.7, pengenalan siri ciri baharu seperti replikasi tanpa kehilangan dan replikasi berbilang benang logik menjadikan replikasi separa segerak asli MySQL lebih dipercayai.
Seni bina biasa adalah seperti berikut:
Ia biasanya digunakan bersama dengan perisian pihak ketiga seperti proksi dan keepalived, yang boleh digunakan untuk memantau kesihatan pangkalan data dan melaksanakan satu siri arahan pengurusan. Jika pangkalan data utama gagal, pangkalan data masih boleh digunakan selepas bertukar kepada pangkalan data siap sedia.
Kelebihan:
- Seni bina adalah agak mudah, menggunakan replikasi separa segerak asli sebagai asas untuk penyegerakan data
- Dwi nod, tiada pilihan utama masalah selepas hos dimatikan , anda boleh menukar terus; Bergantung sepenuhnya pada replikasi separa segerak, jika replikasi Separuh segerak merosot kepada replikasi tak segerak, dan ketekalan data tidak dapat dijamin;
- Pertimbangan tambahan perlu diberikan kepada mekanisme ketersediaan tinggi haproxy dan keepalived.
2.2. Pengoptimuman replikasi separa segerak
- Mekanisme replikasi separa segerak boleh dipercayai. Jika replikasi separa segerak sentiasa berkuat kuasa, data boleh dianggap konsisten. Walau bagaimanapun, disebabkan oleh beberapa sebab objektif seperti turun naik rangkaian, masa replikasi separa segerak dan beralih kepada replikasi tak segerak Dalam kes ini, ketekalan data tidak boleh dijamin. Oleh itu, memastikan replikasi separa segerak sebanyak mungkin boleh meningkatkan ketekalan data.
- Penyelesaian ini juga menggunakan seni bina dwi-nod, tetapi mempunyai pengoptimuman berfungsi berdasarkan replikasi separa segerak asal, menjadikan mekanisme replikasi separa segerak lebih dipercayai.
- Penyelesaian pengoptimuman yang boleh anda rujuk adalah seperti berikut:
Semi. -masa replikasi segerak kerana Selepas itu, replikasi terputus apabila replikasi ditubuhkan semula, dua saluran ditubuhkan pada masa yang sama Salah satu saluran replikasi separa segerak mula mereplikasi dari kedudukan semasa untuk memastikan hamba mengetahui. kemajuan pelaksanaan hos semasa. Satu lagi saluran replikasi tak segerak mula mengejar data hamba yang ketinggalan. Apabila saluran replikasi tak segerak mengejar kedudukan permulaan replikasi separa segerak, replikasi separa segerak disambung semula.
2.2.2. pelayan fail binlog
Kelebihan:
Nod dwi memerlukan sumber yang lebih sedikit dan mudah digunakan Seni binanya mudah, tiada masalah untuk memilih induk, hanya beralih terus Berbanding dengan replikasi asli, Replikasi separa segerak yang dioptimumkan boleh memastikan ketekalan data dengan lebih baik.
Kelemahan:
Perlu mengubah suai kod sumber kernel atau menggunakan protokol komunikasi mysql. Anda perlu mempunyai pemahaman tertentu tentang kod sumber dan dapat melakukan tahap pembangunan sekunder tertentu.
Masih bergantung pada replikasi separa segerak, yang secara asasnya tidak menyelesaikan masalah ketekalan data.
2.3. Pengoptimuman seni bina ketersediaan tinggi
Disebabkan replikasi separa segerak, terdapat ciri bahawa replikasi separa segerak dianggap berjaya apabila respons yang berjaya daripada hamba diterima Oleh itu, kebolehpercayaan replikasi separa segerak berbilang hamba adalah lebih baik daripada kebolehpercayaan replikasi separa segerak hamba tunggal. Selain itu, kebarangkalian berbilang nod turun pada masa yang sama adalah kurang daripada kebarangkalian satu nod turun Oleh itu, pada tahap tertentu, seni bina berbilang nod boleh dianggap mempunyai ketersediaan tinggi yang lebih baik daripada dwi-nod seni bina.
Namun, disebabkan bilangan pangkalan data yang banyak, perisian pengurusan pangkalan data diperlukan untuk memastikan kebolehselenggaraan pangkalan data. Anda boleh memilih MMM, MHA atau pelbagai versi proksi, dsb. Penyelesaian biasa adalah seperti berikut:
2.3.1 Kluster berbilang nod MHA
Pengurus MHA akan mengesan nod induk dalam gugusan secara berkala . Apabila tuan muncul Sekiranya berlaku kegagalan, ia secara automatik boleh mempromosikan hamba dengan data terkini kepada tuan baharu, dan kemudian mengalihkan semua hamba lain kepada tuan baharu Keseluruhan proses failover adalah telus sepenuhnya kepada aplikasi.
MHA Node berjalan pada setiap pelayan MySQL Fungsi utamanya adalah untuk memproses log binari semasa pertukaran untuk memastikan penukaran meminimumkan kehilangan data.
MHA juga boleh dilanjutkan kepada kluster berbilang nod berikut:
Kelebihan:
boleh mengesan dan memindahkan kerosakan secara automatik;
lebih berskala Baik , bilangan dan struktur nod MySQL boleh dikembangkan mengikut keperluan
Berbanding dengan replikasi MySQL dua nod, MySQL tiga nod/multi-nod mempunyai kebarangkalian yang lebih rendah untuk tidak tersedia
Kelemahan:
Sekurang-kurangnya tiga nod diperlukan, yang memerlukan lebih banyak sumber daripada dua nod;
Logiknya lebih kompleks, dan lebih sukar untuk menyelesaikan masalah dan mengesan masalah selepas kegagalan berlaku;
Konsistensi data masih dijamin oleh replikasi separa segerak asli masih terdapat risiko ketidakkonsistenan data; >
Zookeeper menggunakan algoritma yang diedarkan untuk memastikan pengelompokan Untuk ketekalan data, menggunakan zookeeper secara berkesan boleh memastikan ketersediaan tinggi proksi dan mengelakkan partition rangkaian dengan lebih baik.
Kelebihan: lebih menjamin ketersediaan tinggi keseluruhan sistem, termasuk proksi, MySQL
mempunyai skalabiliti yang baik dan boleh dikembangkan kepada Besar kelompok skala;
Dengan pengenalan zk, logik keseluruhan sistem menjadi lebih kompleks;
2.4.1 storan kongsi SAN
Konsep SAN ialah membenarkan rangkaian berkelajuan tinggi terus antara peranti storan dan pemproses (pelayan) (berbanding dengan LAN ) sambungan, melalui mana penyimpanan data terpusat dicapai. Seni bina yang biasa digunakan adalah seperti berikut:
Apabila menggunakan storan kongsi, pelayan MySQL boleh memasang sistem fail secara normal dan mengendalikannya Jika pangkalan data utama rosak, pangkalan data siap sedia boleh memasang sistem fail yang sama, memastikan pangkalan data utama dan pangkalan data siap sedia menggunakan data yang sama. Kelebihan:
Dua nod sudah mencukupi, penggunaan mudah, logik pensuisan yang mudah;
Kelemahan:
Perlu mempertimbangkan ketersediaan storan kongsi yang tinggi;
2.4.2 replikasi cakera DRBD
Apabila terdapat masalah dengan hos tempatan, salinan data yang sama masih disimpan pada hos jauh dan boleh terus digunakan, memastikan keselamatan data.
DRBD ialah teknologi replikasi segerak peringkat pantas yang dilaksanakan oleh modul kernel Linux, yang boleh mencapai kesan storan kongsi yang sama seperti SAN. Kelebihan:
Hanya dua nod diperlukan, penggunaan mudah dan logik pensuisan yang mudah; Kelemahan:
Mempunyai kesan yang lebih besar pada prestasi io;
Pustaka hamba tidak menyediakan operasi baca; Protokol teragih Ia boleh menyelesaikan masalah ketekalan data dengan baik. Penyelesaian yang lebih biasa adalah seperti berikut:2.5.1. Kelompok MySQL
Kluster MySQL ialah penyelesaian penggunaan kluster rasmi Ia menggunakan enjin storan NDB untuk menyandarkan data berlebihan dalam masa nyata untuk mencapai ketersediaan dan data yang tinggi ketekalan pangkalan data.
Kelebihan:
Semua menggunakan komponen rasmi dan tidak bergantung pada perisian pihak ketiga
Boleh mencapai konsistensi data yang kukuh; Kelemahan :
Ia jarang digunakan di China
Konfigurasinya lebih kompleks dan memerlukan penggunaan enjin storan NDB, yang agak berbeza daripada enjin MySQL biasa Sekurang-kurangnya tiga nod;
Kluster ketersediaan tinggi MySQL berdasarkan Galera ialah penyelesaian kluster MySQL untuk penyegerakan data berbilang induk tiada titik kegagalan tunggal, dan mempunyai ketersediaan yang tinggi. Seni bina biasa adalah seperti berikut:
Kelebihan:
Penulisan berbilang induk, replikasi tanpa lengah, memastikan ketekalan data yang kukuh
Terdapat a komuniti matang , digunakan oleh syarikat Internet secara besar-besaran; Failover automatik, penambahan automatik dan penyingkiran nod
Kelemahan:
Memerlukan tampalan wsrep untuk nod MySQL asli
Sahaja enjin storan innodb yang disokong Sekurang-kurangnya tiga nod; . Algoritma ini dianggap paling cekap seumpamanya. Gabungan Paxos dan MySQL boleh mencapai konsistensi yang kukuh dalam data MySQL yang diedarkan. Seni bina biasa adalah seperti berikut:
Kelebihan:
Penulisan berbilang induk, replikasi tanpa kelewatan, memastikan ketekalan data yang kukuh
Mempunyai asas teori yang matang; Failover automatik, penambahan automatik dan penyingkiran nod;
Kelemahan:
Hanya menyokong enjin storan innodb
Sekurang-kurangnya tiga nod; 🎜>
Memandangkan keperluan orang ramai untuk konsistensi data terus meningkat, semakin banyak kaedah sedang dicuba untuk menyelesaikan masalah ketekalan data teragih, seperti pengoptimuman MySQL itu sendiri, pengoptimuman seni bina kluster MySQL, Paxos, Raft, Pengenalan algoritma 2PC dan sebagainya.
Kaedah menggunakan algoritma teragih untuk menyelesaikan masalah ketekalan data pangkalan data MySQL semakin diterima oleh orang ramai Satu siri produk matang seperti PhxSQL, MariaDB Galera Cluster, Percona XtraDB Cluster, dll. menjadi semakin popular semakin digunakan secara besar-besaran.
Dengan GA rasmi MySQL Group Replication, menggunakan protokol yang diedarkan untuk menyelesaikan masalah konsistensi data telah menjadi hala tuju arus perdana. Dijangkakan bahawa lebih banyak penyelesaian cemerlang akan dicadangkan, dan masalah ketersediaan tinggi MySQL dapat diselesaikan dengan lebih baik.
tutorial video mysql
Atas ialah kandungan terperinci Susun dan ringkaskan lima penyelesaian ketersediaan tinggi MySQL biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



MySQL adalah sistem pengurusan pangkalan data sumber terbuka. 1) Buat Pangkalan Data dan Jadual: Gunakan perintah Createdatabase dan Createtable. 2) Operasi Asas: Masukkan, Kemas kini, Padam dan Pilih. 3) Operasi lanjutan: Sertai, subquery dan pemprosesan transaksi. 4) Kemahiran Debugging: Semak sintaks, jenis data dan keizinan. 5) Cadangan Pengoptimuman: Gunakan indeks, elakkan pilih* dan gunakan transaksi.

Anda boleh membuka phpmyadmin melalui langkah -langkah berikut: 1. Log masuk ke panel kawalan laman web; 2. Cari dan klik ikon phpmyadmin; 3. Masukkan kelayakan MySQL; 4. Klik "Login".

MySQL adalah sistem pengurusan pangkalan data relasi sumber terbuka, terutamanya digunakan untuk menyimpan dan mengambil data dengan cepat dan boleh dipercayai. Prinsip kerjanya termasuk permintaan pelanggan, resolusi pertanyaan, pelaksanaan pertanyaan dan hasil pulangan. Contoh penggunaan termasuk membuat jadual, memasukkan dan menanyakan data, dan ciri -ciri canggih seperti Operasi Join. Kesalahan umum melibatkan sintaks SQL, jenis data, dan keizinan, dan cadangan pengoptimuman termasuk penggunaan indeks, pertanyaan yang dioptimumkan, dan pembahagian jadual.

MySQL dipilih untuk prestasi, kebolehpercayaan, kemudahan penggunaan, dan sokongan komuniti. 1.MYSQL Menyediakan fungsi penyimpanan dan pengambilan data yang cekap, menyokong pelbagai jenis data dan operasi pertanyaan lanjutan. 2. Mengamalkan seni bina pelanggan-pelayan dan enjin penyimpanan berganda untuk menyokong urus niaga dan pengoptimuman pertanyaan. 3. Mudah digunakan, menyokong pelbagai sistem operasi dan bahasa pengaturcaraan. 4. Mempunyai sokongan komuniti yang kuat dan menyediakan sumber dan penyelesaian yang kaya.

Redis menggunakan satu seni bina berulir untuk memberikan prestasi tinggi, kesederhanaan, dan konsistensi. Ia menggunakan I/O multiplexing, gelung acara, I/O yang tidak menyekat, dan memori bersama untuk meningkatkan keserasian, tetapi dengan batasan batasan konkurensi, satu titik kegagalan, dan tidak sesuai untuk beban kerja yang berintensifkan.

MySQL dan SQL adalah kemahiran penting untuk pemaju. 1.MYSQL adalah sistem pengurusan pangkalan data sumber terbuka, dan SQL adalah bahasa standard yang digunakan untuk mengurus dan mengendalikan pangkalan data. 2.MYSQL menyokong pelbagai enjin penyimpanan melalui penyimpanan data yang cekap dan fungsi pengambilan semula, dan SQL melengkapkan operasi data yang kompleks melalui pernyataan mudah. 3. Contoh penggunaan termasuk pertanyaan asas dan pertanyaan lanjutan, seperti penapisan dan penyortiran mengikut keadaan. 4. Kesilapan umum termasuk kesilapan sintaks dan isu -isu prestasi, yang boleh dioptimumkan dengan memeriksa penyataan SQL dan menggunakan perintah menjelaskan. 5. Teknik pengoptimuman prestasi termasuk menggunakan indeks, mengelakkan pengimbasan jadual penuh, mengoptimumkan operasi menyertai dan meningkatkan kebolehbacaan kod.

Kedudukan MySQL dalam pangkalan data dan pengaturcaraan sangat penting. Ia adalah sistem pengurusan pangkalan data sumber terbuka yang digunakan secara meluas dalam pelbagai senario aplikasi. 1) MySQL menyediakan fungsi penyimpanan data, organisasi dan pengambilan data yang cekap, sistem sokongan web, mudah alih dan perusahaan. 2) Ia menggunakan seni bina pelanggan-pelayan, menyokong pelbagai enjin penyimpanan dan pengoptimuman indeks. 3) Penggunaan asas termasuk membuat jadual dan memasukkan data, dan penggunaan lanjutan melibatkan pelbagai meja dan pertanyaan kompleks. 4) Soalan -soalan yang sering ditanya seperti kesilapan sintaks SQL dan isu -isu prestasi boleh disahpepijat melalui arahan jelas dan log pertanyaan perlahan. 5) Kaedah pengoptimuman prestasi termasuk penggunaan indeks rasional, pertanyaan yang dioptimumkan dan penggunaan cache. Amalan terbaik termasuk menggunakan urus niaga dan preparedStatemen

Membina pangkalan data SQL melibatkan 10 langkah: memilih DBMS; memasang DBMS; mewujudkan pangkalan data; mewujudkan jadual; memasukkan data; mengambil data; mengemas kini data; memadam data; menguruskan pengguna; Menyandarkan pangkalan data.
