五种MySQL数据库可靠性方案的分析和比较_MySQL
这篇文章主要从基本情况、成本、优缺点和应用场合等方面对5种MySQL的可靠性方案进行了详细的分析和比较,另外,本文对MySQL数据库的开发和管理有一定的借鉴作用。详细内容请大家参考下文:
1、MySQL Clustering(ndb-cluster stogare)
简介:
MySQL公司以存储引擎方式提供的高可靠性方案,是事务安全的,实时复制数据,可用于需要高可靠性及负载均衡的场合。该方案至少需要三个节点服务器才能达到较好的效果。
成本:
节点服务器对RAM的需求很大,与数据库大小呈线性比例;
最好使用千兆以太网络;
还需要使用Dolphin公司提供的昂贵的SCI卡。
优点:
可用于负载均衡场合;
可用于高可靠性场合;
高伸缩性;
真正的数据库冗余;
容易维护。
缺点:
随着数据库的变大,对RAM的需求变得更大,因此成本很高;
速度:
几乎比典型的单独服务器(无千兆以太网,无SCI卡,存储引擎相关的限制少)慢10倍。
应用场合:
冗余,高可靠性,负载均衡
2、MySQL / GFS-GNBD/ HA (Active/Passive)
简介:
如果多个MySQL服务器使用共享硬盘作为数据存储,此方案如何?
GFS/GNBD可以提供所需的共享硬盘。
GFS是事务安全的文件系统。同一时刻你可以让一个MySQL使用共享数据。
成本:
最多n台高性能服务器的成本,其中一个激活的,其他作为备份服务器。
优点:
高可靠性
某种程度的冗余
按照高可靠性进行伸缩
缺点:
没有负载均衡
没有保证的冗余
无法对写操作进行伸缩
速度
单独服务器的2倍。对读操作支持得较好。
应用场合
需要高可靠性的、读操作密集型的应用
3、MySQL / DRBD / HA (Active/Passive)
简介:
如果多个MySQL服务器使用共享硬盘作为数据存储,此方案如何?
DRBD可以提供这样的共享硬盘。DRBD可以被设置成事务安全的。
同一时刻你可以让一个MySQL使用共享数据。
成本:
最多n台高性能服务器的成本,其中一个激活的,而其他则作为备份服务器。
优点:
高可靠性;
一定程度的冗余;
以高可靠性名义来看是可伸缩的。
缺点:
没有负载均衡
没有保证的冗余
在写负载方面没有伸缩性
速度:
在读写方面相当于单独服务器
应用场合
需要高可靠性、读操作密集型的应用
4、MySQL Write Master / Multiple MySQL Read Slaves (Active/Active)
简介:
考虑不同的读、写DB数据库连接的情况。可以使用一台主服务器用于写操作,而采用n台从服务器用于读操作。
成本:
最多1台高性能写服务器,n台读服务器的成本
优点:
读操作的高可靠性;
读操作的负载均衡;
在读操作负载均衡方面是可伸缩的。
缺点:
无写操作的高可靠性;
无写操作的负载均衡;
在写操作方面无伸缩性;
速度:
同单独服务器;在读操作方面支持得较好
应用场合
读操作密集型的、需要高可靠性和负载均衡的应用。
5、Standalone MySQL Servers(Functionally separated) (Active)
多台功能分离的单独服务器,没有高可靠性、负载均衡能力,明显缺点太多,不予考虑。
总结:
MySQL官方网站推荐的HA方案是结合DRBD (本文中的方案3) 和 Replication (本文中的方案4)。假如再加上Linux Heartbeat还可实现Auto-failover功能,在此种情况下,我们会发现,down机时间会大大减少

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

Templat: Kebaikan dan Keburukan Templat ialah teknik pengaturcaraan yang berkuasa yang membolehkan anda membuat blok kod yang boleh digunakan semula. Ia menawarkan pelbagai kelebihan, tetapi juga beberapa kelemahan. Kelebihan: Kebolehgunaan Semula Kod: Templat membolehkan anda mencipta kod biasa yang boleh digunakan semula sepanjang aplikasi anda, mengurangkan usaha pertindihan dan penyelenggaraan. Ketekalan: Templat memastikan bahawa coretan kod dilaksanakan dengan cara yang sama di lokasi yang berbeza, meningkatkan ketekalan dan kebolehbacaan kod. Kebolehselenggaraan: Perubahan pada templat ditunjukkan secara serentak dalam semua kod yang menggunakannya, memudahkan penyelenggaraan dan kemas kini. Kecekapan: Templat menjimatkan masa dan usaha kerana anda tidak perlu menulis kod yang sama berulang kali. Fleksibiliti: Templat membolehkan anda membuat blok kod yang boleh dikonfigurasikan yang boleh disesuaikan dengan mudah kepada keperluan aplikasi yang berbeza. kelemahan

JavaServlet ialah kelas Java yang digunakan untuk membina halaman web dinamik dan berfungsi sebagai jambatan antara klien dan pelayan. Prinsip kerja: menerima permintaan, memulakan Servlet, memproses permintaan, menjana respons dan menutup Servlet. Kelebihan: Mudah alih, berskala, selamat dan mudah digunakan. Kelemahan: Overhed, gandingan dan pengurusan negeri. Kes praktikal: Cipta Servlet ringkas untuk memaparkan "Hello, Servlet!"

Pilihan rangka kerja PHP bergantung pada keperluan projek dan kemahiran pembangun: Laravel: kaya dengan ciri dan komuniti aktif, tetapi mempunyai keluk pembelajaran yang curam dan overhed prestasi tinggi. CodeIgniter: ringan dan mudah dipanjangkan, tetapi mempunyai fungsi terhad dan kurang dokumentasi. Symfony: Bermodul, komuniti yang kuat, tetapi kompleks, isu prestasi. ZendFramework: Gred perusahaan, stabil dan boleh dipercayai, tetapi besar dan mahal untuk dilesenkan. Langsing: rangka kerja mikro, pantas, tetapi dengan fungsi terhad dan keluk pembelajaran yang curam.

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.

Rangka Kerja Java Kebaikan dan Keburukan: Kebaikan: Pembangunan dipercepatkan Kualiti kod yang dipertingkatkan Ekosistem yang kaya Penggunaan semula kod Keburukan: Overhed prestasi Kerumitan dan keluk pembelajaran Kekurangan fleksibiliti Beban penyelenggaraan
