Как мы Change Data Capture делали Базы данных и системы хранения

Доклад принят в программу конференции
Василий Тюбек
Mail.ru Group

Занимается разработкой порядка 10 лет, верстал, администрировал, автоматизировал, писал код на бэкенде, фронтенде на разных языках, занимался opensource-разработкой.

v.tyubek@corp.mail.ru
Александр Деулин
МегаФон

Team lead R&D BSS, разработка микросервисов.

Тезисы

Есть нагруженная SQL-база данных известного вендора, есть потребность: получать изменения из этой базы в realtime, желательно, не переписывая все сервисы, которые пишут в эту базу данные, и отправлять их дальше. Расскажем, как мы сделали Change Data Capture из Oracle, какие способы опробовали, какие грабли собрали и как их обошли.

Change data capture позволяет получать изменения с базы данных и, например, преобразовывая их в поток событий, отправлять в другие системы. Подписавшись на такой поток, можно создать специализированный поисковый индекс или быстро построить витрину данных адаптированную под конкретную задачу.

Мы сделали change data capture и стриминг событий из Oracle в витрины на Tarantool с использованием GoldenGate и Tarantool. У нас получилось довольно простое и производительное решение, которое встало в существующую архитектуру.

Расскажем:
- что такое и зачем нужен change data capture;
- варианты встраивания в существующую архитектуру;
- как мы делали загрузку и репликацию данных из Oracle в Tarantool;
- про грабли и как мы их побороли.

Другие доклады секции Базы данных и системы хранения