#ignite #gridgain
Вопрос:
Могу ли я получить несколько советов о том, можно ли действовать так, как описано ниже?
- Данные SQL Server загружаются в кластер Ignite
- Данные в SQL Server были изменены.
-> Есть ли какой-либо другой способ отразить эти измененные данные без перезагрузки данных с SQL Server?
При использовании в качестве кэша перед базой данных, когда изменения вносятся непосредственно в базу данных, не проходя через кластер Ignite, могут ли уже загруженные данные кэша быть непосредственно отражены в кэше Ignite? Можно ли задать только изменяемое значение без повторной загрузки данных?
Если возможно, какую часть я должен установить? Пожалуйста.
Ответ №1:
Я полагаю, что реальный вопрос заключается в том, как сначала распространить изменения, примененные к SQL Server, на кластер Apache Ignite. И короткий ответ — вам нужно сделать это самостоятельно, т. Е. вам нужно реализовать некоторую логику синхронизации между двумя базами данных. Это не должно быть сложной задачей, если большинство обновлений данных происходит через Ignite, а первые обновления SQL Server встречаются редко.
Что касается общего подхода, вы можете проверить реализацию шаблона сбора данных об изменениях (CDC). Есть несколько статей о том, как вы можете достичь этого с помощью внешних инструментов, например, CDC Между MySQL и GridGain С помощью Debezium или этого видео.
Стоит отметить, что Apache Ignite в настоящее время работает над собственной собственной реализацией CDC.
Ответ №2:
Взгляните на интеграцию внешнего хранилища Ignite и функции сквозного чтения/записи. См.: https://ignite.apache.org/docs/latest/persistence/external-storage
и https://ignite.apache.org/docs/latest/persistence/custom-cache-store
примеры здесь: https://github.com/apache/ignite/tree/master/examples/src/main/java/org/apache/ignite/examples/datagrid/store