English | 简体中文 | 繁體中文 | العربية | Italiano | Українська | Español | Português | 日本
QuestDB — це високопродуктивна база даних SQL з відкритим кодом для застосування у сфері фінансових послуг, IoT, машинного навчання, DevOps та моніторінгу. База даних підтримує підключення по протоколу PostgreSQL, високопропускний запис даних із використанням протоколу InfluxDB і REST API для імпорту та експорту.
QuestDB реалізує мову ANSI SQL із власними розширеннями для ефективної обробки часових рядів. Ці розширення значно спрощують обробку та аналіз декількох часових рядів за допомогою реляційних та часових операцій, а також шляхом з'єднання таблиць. QuestDB досягає високих результатів завдяки колонко-орієнтованій моделі зберігання даних, масивно-паралельним обчисленням з використанням SIMD інструкцій, та застосуванням різноманітних технік низької затримки (low-latency). Вся кодова база була створена з нуля із використанням мов програмування Java та С++, не має зовнішніх залежностей, а також повністю незалежна від роботи автоматичного збирача сміття Java (GC-free).
Ми надаємо онлайн демо з останньою версією QuestDB та наступними зразками даних:
- 10 років поїздок таксі Нью-Йорка (1,6 мільярда рядків)
- реальні торгові дані з біржі криптовалют
- дані геолокації 250 тисяч унікальних кораблів
Для швидкого запуску QuestDB можна використовувати Docker:
docker run -p 9000:9000 -p 9009:9009 -p 8812:8812 questdb/questdb
Користувачі macOS можуть скористатися Homebrew:
brew install questdb
brew services start questdb
questdb start // To start questdb
questdb stop // To stop questdb
Сторінка завантажень QuestDB надає прямий доступ до інсталяційних файлів та містить інформацію про інші методи розгортання ПЗ.
Ви можете взаємодіяти з QuestDB за допомогою таких інтерфейсів:
- Веб-консоль слухає порт
9000
- REST API слухає порт
9000
- PostgreSQL протокол, слухає порт
8812
- InfluxDB високо-пропускний протокол прийому, слухає порт
9009
Ось результати тесту продуктивності для даних великої розмірності
Time Series Benchmark Suite
що використовує cpu-only
варіант з 6 паралельними потоками на AMD Ryzen 3970X:
У наведеній нижче таблиці показано час виконання запиту мільярда рядків, який виконуються на c5.metal і використовує 16 із 96 доступних потоків:
Запит | Час виконання |
---|---|
SELECT sum(double) FROM 1bn |
0.061 secs |
SELECT tag, sum(double) FROM 1bn |
0.179 secs |
SELECT tag, sum(double) FROM 1bn WHERE timestamp in '2019' |
0.05 secs |
- Документація QuestDB: знайдіть як запускати та налаштовувати QuestDB.
- Підручники: вивчайте що можливо робити з QuestDB крок за кроком.
- Дорожня карта продукту: наш план майбутніх релізів.
- Спільнота Slack: приєднуйтесь до технічних дискусій, запитуйте та знайомтесь з іншими користувачами!
- GitHub issues: повідомляйте про помилки або проблеми із QuestDB.
- GitHub discussions: пропонуйте нові функції або демонструйте те, що ви створили.
- Stack Overflow: шукайте загальні способи усунення несправностей.
Ми завжди раді будь-якому внеску у проєкт, незалежно від того, чи це програмний код, документація, звіти про помилки, запити щодо функцій або відгуки:
- Ознайомтеся з проблемами на GitHub позначеними "Good first issue".
- Прочитайте посібник для співавторів.
- Подивіться детальні інструкції із збірки.
- Створіть форк QuestDB і надішліть pull request із запропонованими вами змінами.
✨ На знак подяки ми також надсилаємо QuestDB swag нашим помічникам. Заявіть про свій тут.
Велика подяка цим чудовим людям, які зробили свій внесок у проєкт QuestDB: (emoji key):
This project adheres to the all-contributors specification. Contributions of any kind are welcome!