Pinterest создал новую платформу для приема данных, чтобы заменить свою медленную, пакетную устаревшую систему. Новая платформа использует Change Data Capture (CDC), Kafka, Flink и Spark для приема данных в режиме, близком к реальному времени. Эта конструкция обеспечивает меньшую задержку и лучшую эффективность, чем старые методы. Система принимает изменения из баз данных, таких как MySQL и TiDB, в таблицы CDC. Потоки Flink обрабатывают эти события CDC и сохраняют их в таблицах Iceberg. Затем задания Spark периодически объединяют изменения из таблиц CDC в базовые таблицы, используя операторы "Merge Into". Ключевые оптимизации включают секционирование базовых таблиц и использование соединений с бакетами для повышения эффективности. Эти методы снижают вычислительные затраты и повышают скорость операций upsert. Команда стандартизировала подход Merge-on-Read (MOR) из-за его преимуществ. Платформа поддерживает удаления на уровне строк и обеспечивает соответствие данным. Будущая работа будет сосредоточена на автоматической эволюции схемы в рамках платформы.
medium.com
Next Generation DB Ingestion at Pinterest
Create attached notes ...
