Существует ли компонент с открытым исходным кодом, который будет подписываться на различные каналы активности базы данных и аннулировать кэши процессов, такие как Redis?

Мы стремимся реализовать кеш на основе Redis для чтения тяжелых данных для использования нашей базы данных в качестве кеша для чтения. Я хотел бы реализовать лучший механизм аннулирования, чем просто выселение на основе TTL или LRU, чтобы максимально предотвратить устаревшие чтения.

Некоторые базы данных предоставляют механизм уведомления для объектов базы данных, таких как таблицы. Например, у oracle есть уведомления об изменениях, а у Postgresql есть NOTIFY для этой цели. Существует ли какой-либо существующий проект/компонент с открытым исходным кодом, который прослушивает эти уведомления и использует их для аннулирования внепроцессных кешей, таких как Redis или memcached? Я видел несколько проектов для выполнения этого для внутрипроцессных кешей, но пока ни одного для внепроцессных (либо кластеризованных, либо некластеризованных) кешей.


person Osada Lakmal    schedule 07.05.2021    source источник


Ответы (2)


Redis Labs объявила о своем новом решении RedisCDC на RedisConf 2021, которое беспрепятственно переносит данные из разнородных источников данных в Redis и модули Redis. Его можно настраивать и расширять, поэтому вы можете легко создать собственный этап, который делает недействительными ключи Redis при обновлении или удалении на стороне источника.

person Allen Terleto    schedule 11.05.2021

debezium — это компонент, который реализует весь конвейер от использования CDC из базы данных до публикации этих изменений в удобном для вас формате.

person Osada Lakmal    schedule 30.05.2021