Перейти к содержимому

Учебник по Apache Doris: создание хранилища данных с CDC в реальном времени

The Data and AI Guy

0:00 / 0:00

Учебник по Apache Doris: создание хранилища данных с CDC в реальном времени

489 просмотров · 1 месяц назад
The Data and AI Guy
30,1 тыс. подписчиков
489 просмотров · 1 месяц назад
#VeloDB #ApacheDoris #ChangeDataCapture Ваша производственная база данных MySQL никогда не была предназначена для решения аналитических задач. Направьте на неё панели мониторинга, и ваши запросы на проверку данных будут конкурировать с полным сканированием таблиц. Запустите вместо этого ночные пакетные ETL-процессы, и все начнут работать на день позже. А агенты ИИ теперь будут отправлять десятки SQL-запросов, прежде чем вернуть хотя бы один ответ. В этом спонсорском видео я дважды создаю стек аналитики в реальном времени, чтобы вы могли увидеть, во сколько вам обходится CDC и во сколько обходится хранилище данных. Первый путь — это путь с открытым исходным кодом и ручным управлением: отслеживание бинарного журнала MySQL с помощью Flink CDC и запись в Apache Doris. Каждый JAR-файл коннектора, каждая строка конфигурации и каждая ошибка, с которой я столкнулся на этом пути. Если вы уже подключали это с Debezium и Kafka, то эта часть вам уже знакома. Второй путь — это Apache Doris 4.1, где хранилище данных само отслеживает бинарный журнал MySQL. Весь конвейер сводится к одному оператору: CREATE JOB ... ON STREAMING ... FROM MYSQL ... TO DATABASE. Установите "offset" = "initial", и сначала будет сделан снимок всего, а затем данные будут отслеживаться в бинарном журнале бесконечно. Таблицы автоматически создаются на стороне Doris по принципу слияния при записи, с ключом по первичному ключу MySQL. Полное описание находится в репозитории по адресу scripts/native_cdc.sql. Кластер Flink не требуется. Оператор сохраняется после перезапуска Docker, поскольку данные хранятся в метаданных хранилища, а не в инфраструктуре, за которой вы следите. Оба способа доставки данных занимают от одной до трех секунд, что измеряется с помощью таблицы пульса, которую панель мониторинга считывает из Doris. Ни один компонент не оценивает свою собственную работу. А затем то, ради чего существует вся эта сборка. ИИ-агент, отвечающий на один вопрос, выполнил 36 SQL-запросов за десятую долю секунды. Каждый запрос возвращался менее чем за 100 мс, агент разблокировался за 130 мс, а задержка приема данных оставалась неизменной. При постоянной нагрузке на ноутбуке обрабатывалось около 200 запросов в секунду без ошибок, пока поток обновлений продолжал поступать. Одновременные чтения в потоке записи в реальном времени — вот как выглядит трафик агента, и именно здесь большинство OLAP-систем терпят неудачу. Последняя глава замыкает цикл. Возможности агента VeloDB с открытым исходным кодом позволяют Клоду Коду читать вашу схему в реальном времени, оценивать ваши DDL-операции по 37 правилам, получать реальные профили запросов и предлагать схему секционирования. Агенты запрашивают хранилище данных, а затем настраивают хранилище, к которому они обращаются. ⏱️ РАЗДЕЛЫ 0:00 - Агент отправляет 36 запросов одновременно 0:55 - Создание стека дважды 1:22 - Проблема: CDC в Apache Doris 3:18 - Часть 1: Docker Compose и MySQL 7:23 - Настройка Flink CDC (сложный режим) 9:12 - Живая демонстрация: панель мониторинга в реальном времени 12:07 - Почему агенты ломают базы данных 14:48 - Часть 2: Doris следит за бинарным журналом самостоятельно 19:25 - Навыки агента настраивают хранилище данных 22:20 - Итоги 🔧 ОШИБКИ, С КОТОРЫМИ Я Столкнулся (и способы их исправления) "Получение открытого ключа запрещено" при подключении JDBC-клиента к MySQL 8 Doris FE не запускается, потому что другой контейнер занял его закрепленный IP-адрес Менеджер задач Flink бесконечно подключается сам к себе, и кластер так и не формируется 🔗 ССЫЛКИ VeloDB: https://na2.hubs.ly/H07dLF50 Бесплатная пробная версия VeloDB Cloud: https://na2.hubs.ly/H07dLF50 Документация Apache Doris: https://doris.apache.org Навыки агента VeloDB (Apache-2.0): https://github.com/velodb/agent-skills Flink CDC: https://nightlies.apache.org/flink/fl... ⚙️ ЗАПУСК make up (сложный режим, Flink CDC) make native-cdc (простой режим, Doris 4.1 native CDC) make agent-burst (причина существования обоих) ❓ ВОПРОСЫ, НА КОТОРЫЕ ОТВЕЧАЕТ ЭТО ВИДЕО Что такое захват изменений данных и как CDC работает с бинарным журналом MySQL? Как синхронизировать MySQL с хранилищем данных в режиме реального времени? Как предотвратить замедление работы производственной базы данных из-за аналитических запросов? Как заменить ночные пакетные ETL-процессы потоковой обработкой? Что делает команда CREATE JOB ON STREAMING в Apache Doris 4.1? Нужны ли вам по-прежнему Flink или Debezium для CDC MySQL? Flink CDC против нативного CDC Doris: какой из них следует использовать? 🧰 СТЕК В ЭТОЙ СБОРКЕ MySQL 8, Flink CDC 3.x, Apache Doris 4.1, VeloDB, Docker Compose, Python dashboard, Claude Code. Doris также считывает открытые форматы таблиц, включая Iceberg, Hudi, Delta Lake и Paimon, и работает с dbt, Superset, Grafana, Power BI и OpenTelemetry. Платное партнерство с VeloDB. Все показанное работает локально, и репозиторий является общедоступным, поэтому вы можете воспроизвести результаты самостоятельно. #VeloDB #ApacheDoris #Ch...