Синхронизация MongoDB с другой базой данных

#mongodb #cassandra #replication #database-replication

#mongodb #cassandra #репликация #репликация базы данных

Вопрос:

мы планируем постоянно синхронизировать данные, собранные из MongoDB, с другой базой данных (в данном случае Cassandra).

Я подумываю о том, чтобы прослушать mongo-oplog, а затем перенести эти изменения в Cassandra. Это рискованно, поскольку данные из MongoDB могут быть недействительными для Cassandra или кластера Cassandra, который я отключу в любой момент. В случае сбоя Cassandra мы должны вызвать какое-то предупреждение, направить все запросы на чтение в MongoDB, а затем повторно синхронизировать данные с Cassandra с точки сбоя. Это большая работа, и любая дополнительная работа может добавить еще одну точку отказа.

Итак, есть ли какая-либо лучшая практика для этого случая или какие-либо библиотеки или сервисы, которые бы делали это без проблем? Спасибо.

Ответ №1:

Если вы можете публиковать обновления MongoDB в разделе Kafka, DataStax имеет соединитель Kafka с открытым исходным кодом для Cassandra. Это было бы более гибким и высокодоступным решением.

Для получения дополнительной информации см. Соединитель Kafka для документов Cassandra и репозиторий kafka-sink на GitHub.

Здесь также есть 15-минутный учебник по Katakoda, если вам интересно: https://www.datastax.com/dev/scenario/datastax-kafka-connector . Приветствия!