Відповіді:
Ці 3 речі не мають нічого спільного між собою. Я ознайомлюсь із вами, і ви можете шукати або запитувати детальнішу інформацію окремо:
MySQL Cluster - це маркетингова назва того, що багато хто з нас називає - щоб уникнути плутанини, як та, з якою ви зараз страждаєте - "NDB Cluster" або "MySQL NDB Cluster". Це синхронний, в основному, лише запам’ятовуваний ключ-значення, що дозволяє архітектурі MySQL, що ділиться загальним доступом (надаючи вихідний механізм для двигуна NDB). Він забезпечує автоматичне заточування (таким чином, краще пропускну здатність для читання та запису) та високу доступність. Він добре працює для систем з малими даними з високою пропускною здатністю, але він є досить складним у налаштуванні (це призводить до проблем, якщо він не налаштований правильно, або він використовується ненавмисно), і це не найкраща затримка, мудрий (сирий швидкість). Це спрощена версія (її можна використовувати більше, ніж лише для пам'яті та ключового значення, але вона була розроблена навколо неї). На мою думку, це дуже хороший інженерний проект, але він має обмежені випадки використання, оскільки це інший продукт, ніж звичайний сервер MySQL з окремими завантаженнями (і вимагає використання певного двигуна).
MySQL Fabric - це набір інструментів / проміжних програм, написаних пітоном, що дозволяє керувати набором регулярних серверів MySQL у реплікуваному середовищі GTID . Він не є кластером сам по собі, але це полегшує управління одним. Він має посилання на (поки що) роз'єми Java та Python, тому він може автоматично обробляти заточування та високу доступність серверів, але це шар поверх звичайних серверів MySQL та регулярної реплікації (можна використовувати звичайні системи зберігання даних, такі як InnoDB) . Реплікація до цих пір є асинхронною (або напівсинхронною), тому може не забезпечити сама по собі найкращої послідовності та безпеки; це може змінитися в майбутніх 5.7 версіях. Однак такий підхід має менші витрати на затримку і використовує більш звичну технологію реплікації MySQL DBA. MySQL Fabric є відносно новим малюком у сусідньому районі, тому ще не дуже розширеним, але, схоже, це реакція Oracle (разом із оголошеною синхронною реплікацією) на кластери на базі конкурента в Галері.
Якщо вам знадобилося шардинг і HA, ви можете використовувати один з двох колишніх продуктів, але, ймовірно, для абсолютно різних сценаріїв.
WebScaleSQL не є рішенням HA, як попередні, це лише назва, яку кілька компаній дали форк / версії 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 - це технологія, яка дає змогу кластеризувати бази даних у пам'яті в системі, що ділиться нічим. Архітектура спільного використання нічого не дозволяє системі працювати з дуже недорогим обладнанням і з мінімальними конкретними вимогами до апаратного чи програмного забезпечення.