Jawaban:
3 hal ini tidak ada hubungannya satu sama lain. Saya akan memberi Anda pengantar dan Anda dapat mencari atau meminta lebih spesifik secara terpisah:
MySQL Cluster adalah nama pemasaran dari apa yang kita sebut - untuk menghindari kebingungan seperti yang Anda alami saat ini - "NDB Cluster" atau "MySQL NDB Cluster". Ini adalah sebagian besar penyimpanan-nilai kunci hanya memori yang memungkinkan arsitektur shared-nothing untuk MySQL (memberikan backend ke NDB Engine). Ini menyediakan sharding otomatis (jadi, lebih baik membaca dan menulis throughput) dan ketersediaan tinggi. Ini bekerja dengan baik untuk sistem data kecil bernilai tinggi kunci-throughput, tetapi relatif rumit untuk setup (menyebabkan masalah jika tidak dikonfigurasi dengan benar, atau digunakan dengan cara yang tidak disengaja) dan itu bukan yang terbaik latensi- bijaksana (kecepatan mentah). Ini adalah versi yang disederhanakan (ini dapat digunakan untuk lebih banyak hal daripada hanya memori dan nilai kunci, tetapi dirancang di sekitarnya). Menurut pendapat saya, teknik yang sangat bagus, tetapi memiliki kasus penggunaan terbatas, karena merupakan produk yang berbeda dari server MySQL biasa dengan unduhan terpisah (dan membutuhkan penggunaan mesin tertentu).
MySQL Fabric adalah seperangkat alat / middleware yang ditulis dengan python yang memungkinkan pengelolaan satu set server MySQL biasa dalam lingkungan GTID yang direplikasi . Ini bukan cluster per se, tetapi memfasilitasi pengelolaan satu. Ini memiliki tautan ke (untuk sekarang) konektor Java dan Python, sehingga dapat menangani secara otomatis ketersediaan dan ketersediaan server yang tinggi, tetapi ini adalah lapisan di atas server MySQL biasa dan replikasi reguler (mesin penyimpanan reguler seperti InnoDB dapat digunakan) . Replikasi, hingga kini bersifat asinkron (atau semi-sinkron), sehingga tidak dapat memberikan dengan sendirinya konsistensi dan keamanan terbaik; ini dapat berubah di versi 5.7 yang akan datang. Namun, pendekatan ini memiliki overhead yang lebih sedikit pada latensi dan menggunakan teknologi replikasi MySQL DBA yang lebih akrab. MySQL Fabric adalah anak yang relatif baru di lingkungan ini, jadi belum terlalu lama, tetapi tampaknya ini adalah reaksi Oracle (bersama-sama dengan replikasi sinkron yang diumumkan) terhadap kluster berbasis pesaing.
Jika Anda membutuhkan sharding dan HA, Anda dapat menggunakan salah satu dari 2 produk sebelumnya, tetapi mungkin untuk skenario yang sama sekali berbeda.
WebScaleSQL bukan solusi HA, seperti yang sebelumnya, itu hanya nama yang diberikan beberapa perusahaan ke garpu / versi MySQL di mana mereka berbagi tambalan spesifik yang mereka butuhkan dan mungkin Oracle belum menerapkannya. Sejauh yang saya tahu itu telah dibuat oleh Facebook, Twitter, LinkedIn dan Google, dan mereka mengubah versi MySQL mereka sendiri di atas basis umum itu. Mereka tidak memberikan dukungan atau rilis biner. Jika Anda adalah pengguna akhir, Anda mungkin tidak perlu menggunakannya, tetapi Anda harus mengawasi proyek untuk melihat apa yang akan berkembang darinya, atau tanggapan dari vendor lain.
Jika Anda mencoba untuk belajar / mulai dengan MySQL HA / scaling, mulailah dengan replikasi MySQL dasar (mungkin bukan yang terbaik, tetapi ini adalah hal yang paling mudah untuk memulai), maka Anda dapat melanjutkan dari sana ke solusi lain: DRBD [ sic], replikasi GTID, NDB, Galera, Tungsten.
MySQL Fabric diimplementasikan sebagai simpul / proses MySQL Fabric (yang melakukan fungsi manajemen) dan konektor Fabric-aware yang mampu merutekan permintaan dan transaksi langsung ke Server MySQL yang paling tepat. Simpul MySQL Fabric menyimpan status dan perutean informasi di State Store-nya (yang merupakan basis data MySQL).
MySQL Cluster adalah teknologi yang memungkinkan pengelompokan basis data dalam memori dalam sistem shared-nothing. Arsitektur shared-nothing memungkinkan sistem untuk bekerja dengan perangkat keras yang sangat murah, dan dengan persyaratan khusus minimum untuk perangkat keras atau perangkat lunak.