Системы Apache Flink и Kafka снижают количество схем событий, сокращая нужное число таблиц до 2, что позволяет упростить процессы и снизить затраты. Это важно для команд разработки, так как уменьшает сложность и поддерживает высший уровень прошлого в условиях растущего количества данных.
Причины роста сложности схем
Многие компании сталкиваются с проблемами, когда число схем превышает несколько десятков. Изначально каждая схема соответствует отдельному событию, но по мере роста системы появляются новые схемы, что приводит к множественным связанным таблицам и увеличивает время на координацию изменений.
Как с помощью дискриминаторов улучшить структуру
Использование дискриминаторных полей позволяет объединить события с 80-95% схожестью, что может сократить таблицы с 12 до 2. Это значительно упрощает процесс извлечения данных и позволяет избежать так называемого "схемного размаха", когда количество используемых таблиц бесконечно растёт.
Кроме того, возможность добавления новых вариантов событий с помощью атрибутов, совместимых с предыдущими версиями, делает эволюцию схем более гибкой. Теперь командам не нужно беспокоиться о том, что добавление нового события нарушит работу существующих потребителей.
Практическое значение для разработчиков
Оптимизация схем имеет непосредственное влияние на долгосрочное сопровождение проектов в России и СНГ. Сокращение числа таблиц упрощает запросы, что делает процесс работы более эффективным и предсказуемым. Это особенно полезно для команд, работающих с высокими объемами данных, такими как финансовые или платформы по обмену сообщениями.
Следующий шаг для команд — внедрение новых подходов к проектированию схем. За этим должно последовать внедрение аналогичных оптимизаций в других системах для улучшения масштабируемости.