Об этом проекте
QuestDB — это открытая SQL-база данных временных рядов, предназначенная для высокопроизводительного приёма данных и запросов с низкой задержкой к живым и историческим данным. Её движок использует Java без GC с C++ и Rust на критичных к производительности участках, отображаемые в память секционированные по времени колонки, параллельное упреждающее журналирование, SIMD-выполнение и JIT-компилируемые фильтры. Проект заявляет, что путь данных не имеет сторонних зависимостей.
База данных охватывает жизненный цикл данных в одном движке: захват упорядоченных и неупорядоченных событий со встроенной дедупликацией и коррекцией; вычисление агрегатов и преобразований с помощью материализованных представлений и бета-версии live-представлений; запросы к данным через SQL с расширениями для временных рядов; и хранение данных в собственном формате или Apache Parquet. Пользователи open-source версии могут создавать таблицы Parquet или преобразовывать партиции с помощью ALTER TABLE, а QuestDB Enterprise может автоматически перемещать холодные партиции в объектное хранилище. README также представляет Parquet, Apache Iceberg и Apache Arrow как точки совместимости открытых форматов.
Поддержка SQL включает стандартный SQL плюс функции для временных рядов, такие как SAMPLE BY, LATEST ON, ASOF JOIN, WINDOW JOIN, HORIZON JOIN, материализованные представления, live-представления и n-мерные массивы. Примеры использования, описанные в README, включают аналитику финансовых рынков и книг заявок, телеметрию аэрокосмической отрасли и робототехники, мониторинг энергетики и инфраструктуры, а также рабочие процессы ИИ-агентов для написания кода.
QuestDB 10.0 представляет QuestDB Wire Protocol, или QWP, — бинарный колоночный протокол поверх WebSocket, использующий одно соединение для записи и потоков запросов в формате Arrow. Официальные клиенты QWP документированы для Python, .NET, C/C++, Go, Java и Rust, поддержка NodeJS отмечена как ожидаемая в ближайшее время. Клиент Python по умолчанию возвращает колонки Arrow, а Rust и C/C++ могут включить это поведение.
Интерфейсы совместимости позволяют подключать существующие инструменты: PostgreSQL Wire Protocol на порту 8812 для драйверов Postgres, BI-инструментов и ORM; InfluxDB Line Protocol на порту 9000 для коллекторов и конвейеров; и REST API для HTTP-скриптов, cURL и импорта CSV. Встроенная веб-консоль на порту 9000 предоставляет редактирование SQL, графики, исследование схемы и импорт CSV.
Документированные интеграции включают приём данных из Kafka, Redpanda, Telegraf и Apache Flink, а также запросы и визуализацию через Grafana, Pandas, Polars, Apache Spark, Superset и PowerBI. Для ИИ-агентов QuestDB предоставляет навык SQL/диалекта и MCP-сервер веб-консоли для таких клиентов, как Claude Code, Codex, Cursor и других инструментов, совместимых с MCP.
Варианты развёртывания включают официальный образ Docker, Homebrew на Mac с Apple Silicon, Helm-чарты Kubernetes, systemd, а также руководства для AWS, Azure, Google Cloud, DigitalOcean и Hetzner. QuestDB Enterprise добавляет репликацию, реплики для чтения, автоматическое переключение при сбоях, автоматизированное многоуровневое хранение в объектном хранилище, управление доступом на основе ролей, TLS, SSO, журналы аудита и коммерческую поддержку. README содержит опубликованные вендором бенчмарки производительности и сравнения и призывает пользователей запускать собственные бенчмарки. Вклад, отчёты об ошибках, документация и запросы функций приветствуются через GitHub, Slack, форум сообщества и Stack Overflow.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.