Ответы:
Эти 3 вещи не имеют ничего общего друг с другом. Я дам вам введение, и вы можете искать или запрашивать более подробную информацию отдельно:
MySQL Cluster - это маркетинговое название того, что многие из нас называют - чтобы избежать путаницы, подобной той, от которой вы сейчас страдаете, - «NDB Cluster» или «MySQL NDB Cluster». Это синхронное хранилище значений ключей, главным образом, только для памяти, которое допускает архитектуру без общего доступа для MySQL (предоставляя серверную часть NDB Engine). Он обеспечивает автоматическое разбиение (таким образом, лучшую пропускную способность чтения и записи) и высокую доступность, Он хорошо работает для систем с малыми данными с высокой пропускной способностью, но его относительно сложно настроить (что приводит к проблемам, если он неправильно настроен или используется непреднамеренным образом), и это не лучшая задержка. мудрый (грубая скорость). Это упрощенная версия (ее можно использовать не только для памяти и ключа, но она была разработана для этого). На мой взгляд, это очень хороший пример разработки, но он имеет ограниченные варианты использования, поскольку это продукт, отличный от обычного сервера MySQL с отдельными загрузками (и требует использования определенного движка).
MySQL Fabric - это набор инструментов / промежуточного программного обеспечения, написанный на python, который позволяет управлять набором обычных серверов MySQL в реплицированной среде GTID . Это не кластер как таковой, но это облегчает управление одним. У него есть ссылки (на данный момент) на соединители Java и Python, поэтому он может автоматически обрабатывать сегментирование и высокую доступность серверов, но это слой поверх обычных серверов MySQL и обычной репликации (можно использовать обычные механизмы хранения, такие как InnoDB) , Репликация до сих пор является асинхронной (или полусинхронной), поэтому она не может обеспечить лучшую согласованность и безопасность; это может измениться в будущих версиях 5.7. Тем не менее, этот подход имеет меньше накладных расходов и использует более привычную технологию репликации MySQL DBA. MySQL Fabric является относительно новым детищем в этом районе, поэтому еще не очень расширен, но, похоже, это реакция Oracle (вместе с объявленной синхронной репликацией) на кластеры Galera конкурента.
Если вам понадобился шардинг и HA, вы можете использовать один из двух предыдущих продуктов, но, вероятно, для совершенно других сценариев.
WebScaleSQL - это не решение высокой доступности , как и предыдущие, это просто название, которое несколько компаний дали форку / версии MySQL, где они делятся определенными патчами, которые им нужны, и, возможно, Oracle не применил. Насколько я знаю, он был создан Facebook, Twitter, LinkedIn и Google, и они переоценивают свои собственные версии MySQL поверх этой общей базы. Они не предоставляют поддержку или бинарные выпуски. Если вы конечный пользователь, вам, вероятно, не стоит его использовать, но вы должны следить за проектом, чтобы увидеть, что из него получится, или ответ других поставщиков.
Если вы пытаетесь научиться / начать с MySQL HA / масштабирования, начните с базовой репликации MySQL (она может быть не самой лучшей, но начинать проще), затем вы можете перейти к другим решениям: DRBD [ sic], GTID-репликация, NDB, Galera, Tungsten.
MySQL Fabric реализован в виде узла / процесса MySQL Fabric (который выполняет функции управления) и соединителей с поддержкой Fabric, которые могут направлять запросы и транзакции непосредственно на наиболее подходящий MySQL Server. Узел MySQL Fabric хранит информацию о состоянии и маршрутизации в своем хранилище состояний (которое является базой данных MySQL).
MySQL Cluster - это технология, которая позволяет кластеризовать базы данных в памяти в системе без совместного использования ресурсов. Архитектура без общего доступа позволяет системе работать с очень недорогим оборудованием и с минимальными требованиями к оборудованию или программному обеспечению.