Как обычно реализуется репликация tarantool с мастер-базой?

Как я понимаю, часто tarantool используют рядом с основной базой данной (пусть для примера это будет mysql), например для кеша.

  1. Как обычно в этом случае данные из mysql попадают в tarantool? Через код самого приложения (например, через php)? Или есть более красивый способ?
  2. В Tarantool есть какой-то надежный официальный механизм репликации данных из mysql или postgresql в tarantool? Если есть, то можно ли управлять самой репликацией? Т.е., например, таблицы из mysql преобразовать в определенную структуру tarantool
  3. Если всего этого нет, то предвидится ли? (Ведь всем вручную каждый раз прописывать перенос данных через код приложения видится мне не очень красивым решением)

Ответы (1 шт):

Автор решения: Konstantin Nazarov

Есть еще 2 способа кроме как из кода php приложения:

  • когда клиенты читают и пишут в tarantool, а он сам ходит в основную базу по необходимости
  • когда tarantool реплицирует данные из базы сам

Для первого варианта вам нужен коннектор из tarantool в mysql. Он позволяет делать запросы из Lua к внешней базе.

Для репликации из mysql мы умеем читать репликационные логи самого mysql и вставлять записи в tarantool. Вот нужный вам модуль.

→ Ссылка