The Airbnb Tech Blog | Medium на русском
Подписаться
Гидратация данных Riverbed — Часть 1
Riverbed, часть технологического стека Airbnb, оптимизирует потребление данных из систем хранения записей для обновления оптимизированных для чтения хранилищ. Он использует архитектуру Lambda с компонентами потоковой и пакетной обработки. Потоковый аспект фокусируется на построении материализованных представлений из событий захвата изменений (CDC). Pipeline уведомлений потребляет события уведомлений и запрашивает зависимые источники данных для построения материализованных представлений, которые затем записываются в хранилища-приемники. Операция Join использует структуру, подобную DAG, для эффективного объединения источников данных, используя JoinConditionsDag для метаданных и JoinResultsDag для хранения результатов. Операция Stitch преобразует объединенные результаты в используемую модель, StitchModel. Riverbed поддерживает несколько приемников, включая Apache Hive и Kafka, для гибкости. Система потоковой передачи эффективно обновляет материализованные представления из событий CDC, обеспечивая масштабируемость, эффективное получение данных и улучшенные возможности фильтрации и поиска. Pipeline источника, обсуждаемый в следующем посте блога, играет решающую роль в параллельности и версионировании. Используя DAG-структуры данных, Riverbed оптимизирует соединения потоковых данных, сокращая использование памяти и повышая эффективность.