#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 . Приветствия!