В 2020 году стало ясно, что пришло время переключить InfluxDB на ржавчину, что позволило ему предложить ключевые функции, которые ранее были ограничены — хотя и не невозможно достичь с GO. После этого проекта также в значительной степени полагался на переписать V3, который был недавно выпущен в Rust.
Перенесемся более четырех лет спустя. Эти возможности включают кардинальность (или так называемую бесконечную кардинальность), SQL-запросы и разделение вычислений и хранения, например, использование хранилищ объектов, таких как S3. DataFusion позволяет интегрировать эти функции с InfluxDB V3. Сам InfluxDB теперь написан в Rust, чтобы улучшить функциональность библиотек и интеграцию особенностей запросов.
Независимо от того, окупается ли эта большая ставка на ржавчину или нет, помимо тех, кто мог бы предпочеть более простой язык Go для его разработки, Influxdb V3 представляет собой амбициозную попытку и основную работу по предоставлению многих столь необходимых функций, не имеющих в предыдущей версии. InfluxDB теперь, по крайней мере, лучше позиционируется в качестве ведущей альтернативы для требований базы данных временных рядов, особенно для устройств по краям и краевых вычислений.
«Любой технический директор, который хочет отслеживать данные с машин — могут ли виртуальные датчики (метрики приложений, события) или физические датчики (развертывание краев) — могут извлечь выгоду из Influxdb», — сказал мне и основатель Plupuxdata и основатель Пол Дикс в мае в Сиэтле во время ежегодной конференции пользователей Grafana Labs.
Клиенты обычно используют InfluxDB вместе с Grafana и другими инструментами для журналов и отслеживания. В секторе промышленного Интернета вещей (IoT) PlupuxDB используется в развертываниях, связанных со спутниками, ракеты, энергией, добычей полезных ископаемых, нефти и газа. По словам Дикса, на платформе от 3000 до 4000 клиентов, и в целом значительно большая база пользователей в целом.
Ржаветь
. @Plupuxdb Основатель Пол Дикс на открытом исходном коде.
— BC Gain (@bcamerongain), 8 мая 2025 года
Сдвиг к Rust рассматривал три основные цели: поддержка бесконечной кардинальности, позволяющая SQL-запросам и отделению вычисления от хранения, чтобы использовать более низкие запасы объектов. Разработка началась в 2020 году и заняла около четырех с половиной лет.
Как упоминалось выше, выбор ржавчины был вызван архитектурными соображениями, а не ограничениями в ходе. В частности, цель состояла в том, чтобы интегрировать готовый двигатель запроса. В то время как многие зрелые двигатели написаны на Java, C или C ++, Rust предлагала лучшую совместимость с C, чем Go, сказал Дикс.
В конечном счете, InfluxData включила введение данных в проект, двигатель запросов на основе ржавчины и подпроект стрелки Apache. По словам Дикса, вклады в данные о предоставлении данных начались в 2020 году, и в настоящее время команда возглавляет проект, а один из их инженеров выступает в качестве члена PMC как для Arrow, так и для Frrow, так и для DATAFUSION.
«Философия этой работы с открытым исходным кодом заключается в коммодитизации зависимостей, аналогично тому, как Facebook обрабатывал проекты центров обработки данных и как Google создал Kubernetes частично для конкуренции с Amazon», — сказал Дикс. «Сосредоточив внимание на решении задач временных рядов, а не на создании двигателя запросов с нуля, PlupuxDB может обеспечить большую ценность. Взносы других крупных компаний, таких как Apple, Alibaba и DataDog, еще больше усилили проект данных».
Grafana, часто используемый с InfluxDB, в настоящее время поддерживает PROMQL, LOGQL и TRACEQL в качестве языков запросов. «SQL еще не является первоклассным языком в Grafana, но если бы это изменилось, тофузия данных, вероятно, будет основным двигателем»,-сказал Дикс.
Запущенный в Beta в марте, PlupuxDB 3 Core — новый продукт InfluxData с открытым исходным кодом, лицензированный в соответствии с MIT/Apache 2.
Influxdb 3 Enterprise-это коммерческая версия Core с оптимизацией производительности для запросов с течением времени, диапазоны более часа, а также поддержка долгосрочных исторических запросов, высокой доступности, повышенной безопасности и многоцелевых развертываний, сказал DIX.
Полный стек
«InfluxDB 3 основан на том, что мы называем стеком FDAP: Apache Flight, DataFusion, Arrow и Parquet», — написал Дикс в сообщении в блоге. «В сочетании со способностью работать со всем постоянным состоянием на хранении объектов (или локальный диск, если предпочтительнее), это обеспечивает новые функции и преимущества по сравнению с предыдущими версиями Influxdb. Apache, столбцом в памяти, обеспечивает обмен данными между системными компонентами и быстрого векторизированного выполнения запроса»,-сказал Дикс.
«Фузия данных — это векторизованный двигатель запросов SQL, который в полной мере использует этот формат. Внесение вклад в данные о данных, мы остаемся близко к двигателю и сообществу, продвигающим его вперед», — сказал Дикс. «Каждое усиление производительности и новая функция впадает прямо в InfluxDB 3, ускоряя свою зрелость с каждым выпуском».
Parquet служит форматом постоянства InfluxDB для импровизированного сжатия данных временных рядов. «В паре с нативной поддержкой DanaFusion для оптимизации паркета и выдвижения, мы достигаем исключительной производительности в аналитических запросах временных рядов, которые были недоступны от предыдущих версий InfluxDB»,-написал Дикс. «Flight and Flightsql дают InfluxDB 3 возможность обслуживать ответы на запросы с миллионами строк без дорогой сериализации. У нас также есть простой в использовании HTTP API для запросов, которые не требуют производительности FlightSQL».
И Influxdb 3 Core, и Enterprise основаны на той же архитектуре и специально построены для будущего данных временных рядов:
«Разработка InfluxDB в стеке FDAP дает нам гибкую, эффективную архитектуру, которая обеспечивает значительный прирост производительности-более высокое употребление, лучшее сжатие, более быстрые запросы и отсутствие ограничений на кардинальность. Он обеспечивает эффективное хранение и аналитику в реальном времени, даже когда ваши данные растет в объеме и сложности»,-написал Дикс.
«Для разработчиков это означает создание системы, которая является быстрой, надежной и специально построенной для временных рядов. Оперативно она обрабатывает высококонкурентные рабочие нагрузки, сохраняет целостность данных и остается устойчивым под давлением. Архитектурно, он масштабируется как на выходе, так и вверх, адаптируясь по мере изменения рабочих нагрузок».
Dix продолжил: «Этот фундамент возможен, потому что мы не просто используем открытые стандарты, такие как Arrow, Parquet и Fusefusion — мы помогаем их формировать. Наряду с PlupuxDB 3 Core, мы инвестируем в стек FDAP и вносясь в пользу UPSTER из закрытых систем ».
Dix пишет Dix, в том, что InfluxData представила несколько функций в ядра InfluxDB 3 и в корпоративной версии, чтобы оптимизировать общие шаблоны запросов в данных временных рядов. Это приводит к тому, как кеш последнего значения (LVC) и кэш различных значений (DVC) могут отвечать на запросы менее чем за 10 миллисекунд, для более отзывчивых ИО и систем быстрого мониторинга, пишет DIX.
Другие новые функции в V3 Dix Comprondation включают:
- LVC: настраивается, чтобы сохранить самые последние значения для указанных иерархий тегов. Последние показатели для определенного датчика, все датчики на машине или все датчики на фабрике могут быть «мгновенно извлечены».
- DVC: Это было разработано, чтобы предложить быстрый поиск значений тегов и метаданных серий, что делает раскрывающиеся в пользовательском интерфейсе и исследовательские запросы более отзывчивыми.
«Одним из наиболее значительных дополнений в InfluxDB 3 является встроенный механизм обработки Python. Он приносит вычисления непосредственно в базу данных, позволяя преобразовать, обогащение, мониторинг и предупреждение без внешних служб или трубопроводов. Обработливый двигатель работает в Loolweight Vm в базе данных и выполняет ваш код, основанный на Triggers, в соответствии с Descare, или в ответ, в ответ, в ответ, в ответ, в ответ, в ответ, в ответ, в ответ, в ответ, в ответ, в соответствии с указаниями, в соответствии, в ответ, в соответствии с указаниями.
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. BC Gain является основателем и главным аналитиком Revecom Media. Его одержимость компьютерами началась, когда он взломал консоль космических захватчиков, чтобы играть весь день за 25 центов в местной видеокаде в начале 1980 -х годов. Затем он … читайте больше от B. Cameron Gain