MySQL Cluster с MySQL постоянное хранилище innoDB - PullRequest
3 голосов
/ 30 декабря 2008

Мы работаем над решением для базы данных для высокодоступного (5 9с) приложения с высокими требованиями к производительности и согласованности данных. Мы планируем использовать MySQL Cluster в качестве основного хранилища данных в памяти, резервное копирование которого осуществляется из вторичного хранилища данных InnoDB MySQL для постоянного хранения.

Предложенный подход заключается в том, что онлайн-приложение будет взаимодействовать только с БД в памяти (кластер MySQL), а кластер MySQL будет передавать данные в экземпляр innoDB посредством асинхронной репликации / обмена сообщениями для постоянного хранения.

Может ли MySQL кластер или MySQL самостоятельно поддерживать это требование?

Обновление:

Относительно ответов, предоставленных на данный момент:

Это выполнимо, используя только MySQL 5.1, используя механизм MEMORY для основного хранилища данных и механизм innoDB для вторичного хранилища данных?

Может ли MySQL реплицировать данные, вставленные в первичное хранилище данных, во вторичное хранилище данных асинхронно, используя подход отложенной вставки на основе событий?

Ответы [ 2 ]

4 голосов
/ 30 декабря 2008

Вы можете реплицировать таблицы в разных механизмах хранения, используя MySQL. Вы можете иметь таблицы на одном сервере в модуле хранения памяти, реплицированные в таблицу innodb где-то еще, или любую другую комбинацию механизмов хранения. Бинарный формат журнала MySQL совместим со всеми типами механизмов хранения.

(Интересный факт: это почти единственное использование механизма хранения черной дыры. Он отправляет все записи в / dev / null, но все же записывает свои изменения в двоичный журнал, что означает, что его можно реплицировать в реальную таблицу где-нибудь остальное асинхронно.)

См. Статью Арьена Ленца здесь: http://dev.mysql.com/tech-resources/articles/storage-engine/part_1.html

0 голосов
/ 30 декабря 2008

Да, можно скопировать кластер по вашему желанию.

Имейте в виду, что кластер MySQL в настоящее время не поддерживает внешние ключи. Поэтому вам нужно создать собственное решение для отслеживания зависимостей ключей (распространенный метод - триггеры)

...