Кластер MySQL с постоянным хранилищем MySQL innoDB

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

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

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

Обновление:

Что касается ответов, предоставленных до сих пор:

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

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


person Community    schedule 30.12.2008    source источник


Ответы (2)


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

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

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

person ʞɔıu    schedule 30.12.2008

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

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

person Alex    schedule 30.12.2008