Юридические новости

Как TimescaleDB помог Cloudflare масштабировать аналитику и отчётность

Юридические новости
TimescaleDB helped Cloudflare scale analytics and reporting

Обзор внедрения TimescaleDB в инфраструктуру Cloudflare и его влияния на производительность аналитических систем, а также особенности выбора между TimescaleDB, PostgreSQL и ClickHouse для обработки больших объёмов данных.

В мире современных облачных платформ и сервисов аналитика играет ключевую роль в обеспечении качественного обслуживания клиентов и мониторинге работоспособности систем. Компания Cloudflare, являющаяся одним из лидеров в области интернет-безопасности и производительности, столкнулась с необходимостью масштабировать свои аналитические и отчётные решения. Этот вызов был успешно решён благодаря внедрению TimescaleDB — расширения для PostgreSQL, оптимизированного для обработки временных рядов данных. В этой статье будет подробно рассмотрен опыт Cloudflare по интеграции TimescaleDB, а также причины выбора этого решения вместо традиционных систем аналитики типа ClickHouse или базового PostgreSQL. Cloudflare изначально использовал PostgreSQL для транзакционных задач и ClickHouse для аналитических нагрузок.

PostgreSQL оставался основным инструментом для хранения конфигураций и управления продуктовыми данными, благодаря своей надёжности и проверенной архитектуре, насчитывающей более 30 лет развития. ClickHouse, добавленный в стек около 2017 года, обеспечивал высокую скорость обработки огромных объёмов данных (миллионы строк в секунду) с очень низкой задержкой при запросах. Однако, как и любые системы, ClickHouse требовал сложной инфраструктуры для эффективного использования, что не всегда соответствовало текущим требованиям продуктов. Ключевым моментом стало развитие продукта Digital Experience Monitoring (DEX) в Cloudflare, который предназначен для наблюдения за состоянием устройств, сетей и приложений внутри Zero Trust среды. Первоначально задача состояла в создании минимально жизнеспособного продукта (MVP) с упором на быстрый запуск и получение обратной связи от пользователей.

Для этого было решено минимизировать количество компонентов и использовать знакомые технологии, чтобы снизить стоимость поддержки и ускорить разработку. Вместо внедрения сложного конвейера на базе ClickHouse с несколькими вентиляторами и брокерами сообщений, Cloudflare выбрал PostgreSQL для хранения как конфигурационных данных, так и данных логов устройств. Логика состояла в том, что система не должна быть излишне сложной и изначально рассчитана на экстремальные нагрузки, которых можно было избежать при правильном планировании и ограничении по продуктовым лимитам (например, частота отправки логов, количественные ограничения по синтетическим тестам). При этом структура таблиц была оптимизирована под специфику временных рядов. Например, таблица для хранения состояния устройств не имела традиционного первичного ключа, поскольку запросы выполнялись преимущественно по временным диапазонам и фильтрации по идентификаторам устройств и аккаунтов.

Для устранения дубликатов при повторной отправке логов создавались уникальные индексы на комбинацию device_id, account_id и timestamp. Более того, грамотный порядок колонок в мультиколоночных индексах существенно улучшал производительность запросов, особенно учитывая, что временной столбец обычно используется с неравенствами, а остальные с равенствами. Масштабирование нагрузки вплоть до миллиардов записей привело к необходимости оптимизировать аналитические запросы. Одним из ключевых подходов стала предварительная агрегация данных, так называемое даунсемплирование. Вместо того чтобы постоянно запрашивать сырые данные, которые растут в объёме по экспоненте, агрегационные таблицы позволяли свести миллионы рядов к нескольким сотням значений за фиксированный интервал.

Это обеспечивало ускорение запросов почти в тысячи раз, делая визуализации в дашбордах максимально отзывчивыми. Осознавая ограничения PostgreSQL в части управления разделами таблиц и автоматизации агрегации, команда Cloudflare начала искать улучшения и наткнулась на TimescaleDB. Это расширение PostgreSQL объединяет в себе удобство реляционной базы и производительность специализированных систем для временных рядов. Одной из ключевых особенностей TimescaleDB является гипертаблица (hypertable), которая автоматически управляет партиционированием данных и позволяет создавать непрерывные агрегации, обновляющиеся в фоновом режиме и даже в реальном времени, что решало ранее возникавшую проблему с устаревшими материализованными представлениями. Кроме того, TimescaleDB предлагает встроенное сжатие данных, способное уменьшать размер таблиц более чем в 30 раз без ущерба для производительности запросов.

Это достигается за счёт перевода данных в колоночный формат и использования разрежённых индексов (sparse indexes), которые позволяют быстро отсеивать ненужные блоки при чтении. Уменьшение ввода-вывода за счёт сжатия позитивно сказывалось на общей скорости обработки. После внедрения TimescaleDB в тестовой среде Cloudflare провел масштабные сравнения с обычным PostgreSQL. Результаты показали прирост производительности от 5 до 35 раз в зависимости от типа задач и временных диапазонов. Особенно заметно ускорялись запросы на большие периоды (неделя и более), где сочетание сжатия и колоночного хранения раскрывало весь свой потенциал.

Оптимизации для поддержки высокой пропускной способности включали переход с массовых одиночных вставок на COPY, что значительно повышало скорость загрузки данных. Дополнительно в целях повышения производительности были отключены некоторые гарантии сохранности данных, такие как синхронная репликация и принудительная запись на диск (fsync), что было приемлемо при наличии возможности повторной обработки данных. Этот опыт внедрения TimescaleDB в Cloudflare оказался настолько успешным, что команда аналитики и отчётности Zero Trust (ART) начала использовать эту платформу в качестве слоя агрегации для объединения данных из разных источников, включая ClickHouse и PostgreSQL. Их система использовала регулярные задания, которые агрегировали и загружали сводные данные с последующей организацией непрерывных агрегаций и сжатием. Такой подход позволил масштабировать отчётность по миллионам строк в секунду, включая высококардинальные признаки, вроде IP-адресов.

Общий урок, который вынесла команда Cloudflare, связан с подходом к проектированию систем. Решение не форсировать масштаб и сложность вначале, а придерживаться простоты и минимализма, позволило быстро выйти на рынок с рабочим продуктом, избежать ненужных затрат и в итоге подобрать лучшие технологии по мере реальных потребностей. Использование TimescaleDB сочетает в себе проверенную надежность PostgreSQL и возможности современной аналитики, что делает его идеальным компромиссом между производительностью и простотой поддержки. Смелость отказаться от предварительной оптимизации и сосредоточиться на основных задачах привела к тому, что DEX и другие продукты Cloudflare достигли высоких KPI при меньших затратах ресурсов. TimescaleDB занял своё место в технологическом стеке как инструмент, который позволяет объединить данные конфигураций и аналитики в одной базе, избежать создания лишних компонентов и упростить операционное сопровождение.

В итоге, опыт Cloudflare наглядно демонстрирует преимущества подхода, где выбор базы данных осуществляется не только по параметрам производительности, но и с учётом удобства эксплуатации, стоимости и гибкости. TimescaleDB в этом контексте выступает как инструмент нового поколения для обработки временных рядов и аналитики, способный обеспечить масштабирование и быстродействие при сохранении всего арсенала возможностей стандартного PostgreSQL. Для команд, ищущих баланс между скоростью разработки, простотой архитектуры и мощной аналитикой в условиях интенсивного роста данных, опыт Cloudflare и использование TimescaleDB представляют ценный кейс и хорошее направление к развитию. Узнайте больше о TimescaleDB, посетив официальный сайт решения, и оцените, как оно может помочь в оптимизации ваших аналитических задач и построении эффективных отчётных систем.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
KV_log: High-performance embedded key-value database
Вторник, 14 Октябрь 2025 KV_log: Высокопроизводительная встроенная база данных ключ-значение для современных приложений

Подробное погружение в особенности и преимущества KV_log — высокопроизводительной встроенной базы данных ключ-значение с уникальной архитектурой и поддержкой ACID транзакций, оптимальной для работы с большими объемами данных при минимальной задержке и высокой надежности.

Analytic approach to creating homogeneous fields with finite-size magnets
Вторник, 14 Октябрь 2025 Аналитический подход к созданию однородных магнитных полей с помощью конечных магнитов

Исследование механизмов формирования однородных магнитных полей с использованием конечных по размеру магнитов и оптимизация их расположения для повышения эффективности и однородности магнитных систем.

Exploring V2X in 5G networks: A comprehensive survey of location-based services
Вторник, 14 Октябрь 2025 Исследование V2X в сетях 5G: всесторонний обзор сервисов на основе геолокации

Подробное изучение технологий V2X в сетях пятого поколения и их влияние на развитие сервисов, основанных на геолокации, с акцентом на перспективы, вызовы и возможности для умных транспортных систем и городской инфраструктуры.

Use Twitter/X from Go
Вторник, 14 Октябрь 2025 Как использовать Twitter/X с помощью Go: полный гид для разработчиков в 2025 году

Подробное руководство по интеграции и эффективному использованию Twitter/X API с помощью языка программирования Go. Узнайте, как получить доступ к данным, авторизоваться и развивать свои проекты, используя современные возможности Go-клиента для X/Twitter.

Show HN: OpenAPI mocks that don't suck – realistic test data, quick setup
Вторник, 14 Октябрь 2025 OpenAPI Mock-сервера нового поколения: реалистичные тестовые данные и мгновенный запуск

Детальный разбор возможностей современных OpenAPI mock-серверов, которые предоставляют качественные, реалистичные данные для тестирования и упрощают процесс разработки API благодаря быстрому и автоматизированному созданию моков на основе спецификаций.

Systemd has been a complete, utter, unmitigated success
Вторник, 14 Октябрь 2025 Почему systemd стал неоспоримым успехом в мире Linux

Подробный обзор системы инициализации systemd, ее преимуществ, влияния на экосистему Linux и причин, по которым она заслужила доверие профессионалов по всему миру.

My travel Linux tablet: Dell Latitude 7200 and Lubuntu
Вторник, 14 Октябрь 2025 Путешествия с планшетом Dell Latitude 7200 на Linux Lubuntu: идеальное сочетание для мобильной работы

Обзор использования планшета Dell Latitude 7200 под управлением Linux Lubuntu для комфортной и продуктивной работы в дороге. Рассказывается о возможностях устройства, настройках системы, преимуществах и личном опыте использования в пути.