English | 简体中文 | 繁體中文 | العربية | Italiano | Українська | Español | Português | 日本語 | Türkçe | हिंदी
QuestDB es una base de datos SQL, de código abierto y alto rendimiento. Es usada por aplicaciones en el ámbito de los servicios financieros, IoT, aprendizaje automático, DevOps y observabilidad. Es compatible con el protocolo de PostgreSQL, ofrece puntos de conexión de alto rendimiento usando el protocolo InfluxDB, además de un API REST para consultas y la importación/exportación masiva de datos.
QuestDB implementa ANSI SQL con extensiones nativas orientadas al manejo de series temporales. Estas extensiones simplifican la correlación de datos de múltiples fuentes utilizando uniones y relacionales. QuestDB logra un alto rendimiento al usar un modelo de almacenamiento orientado a columnas, ejecución vectorial masivamente paralela, instrucciones SIMD y varias técnicas de baja latencia, que incluyen un compilador JIT. La totalidad del código ha sido creado desde cero en Java y C++, sin dependencias, y es 100% libre de GC (recolección de basura).
Esta es una demo con la última versión de QuestDB, que incluye datos y consultas de ejemplo:
- 10 años de viajes en taxi por la ciudad de Nueva York con 1600 millones de filas
- datos comerciales en vivo de un exchange, o bolsa, de criptomonedas
- geolocalizaciones de una flota de 250k navíos y buques a lo largo del tiempo
Query | Tiempo de ejecución |
---|---|
SELECT sum(double) FROM trips |
0.15 secs |
SELECT sum(double), avg(double) FROM trips |
0.5 secs |
SELECT avg(double) FROM trips WHERE time in '2019' |
0.02 secs |
SELECT time, avg(double) FROM trips WHERE time in '2019-01-01' SAMPLE BY 1h |
0.01 secs |
SELECT * FROM trades LATEST ON timestamp PARTITION BY symbol |
0.00025 secs |
Nuestra demo usa una instancia c5.metal
de AWS, utilizando 24 de los 96 cores disponibles.
Para empezar ya con QuestDB puedes usar Docker:
docker run -p 9000:9000 -p 9009:9009 -p 8812:8812 questdb/questdb
En MacOS puedes usar Homebrew:
brew install questdb
brew services start questdb
questdb start // To start questdb
questdb stop // To stop questdb
La página de descargas de QuestDB proporciona acceso a los binarios y ofrece métodos de instalacion en una variedad de plataformas.
QuestDB Cloud es la versión gestionada de QuestDB, con funcionalidades añadidas como control de acceso basado en roles (RBAC), replicación nativa en nube, compresión, monitorización, o snapshots en nube. La prueba gratuita incluye un crédito de $200.
Puedes conectarte con QuestDB utilizando las siguientes interfaces:
- [Consola web] (https://questdb.io/docs/develop/web-console/) escuchando en el puerto
9000
- API REST en el puerto
9000
- PostgreSQL protocolo de conexión en puerto
8812
- InfluxDB protocolo de línea para ingesta de alto rendimiento en el
puerto
9009
Estos son los clientes oficiales para varios lenguajes de programación:
¿Quieres probarlo todo? ¿Desde ingestión en tiempo real hasta visualización de gráficos integrando QuestDB y Grafana? Prueba nuestro tutorial en el repositorio quickstart.
Este artículo compara QuestDB con otras bases de datos de series temporales open source, cubriendo funcionalidades, madurez, y rendimiento.
En esta suite de referencia de series temporales se pueden ver los resultados para un caso de uso de alta cardinalidad, usando entre 6 y 16 CPUs en una máquina con 32 CPUs y 64GB de RAM.
La siguiente tabla muestra los tiempos de ejecución para 1MM, un millón de millones de filas, corriendo en un
servidor c5.metal
usando 16 de los 96 hilos disponibles:
Query | Runtime |
---|---|
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 |
- Documentación de QuestDB: entiende cómo instalar, configurar y correr QuestDB.
- Tutoriales: aprende paso a paso todo lo que puedes hacer con QuestDB.
- Product roadmap: echa un vistazo a nuestro plan para las versiones que vienen.
- Community Slack: participa en las discusiones técnicas, pregunta, conoce al equipo y a otros usuarios y usuarias.
- GitHub issues: envía informes de error, o de problemas con QuestDB.
- Stack Overflow: busca soluciones a problemas comunes.
- AWS AMI
- Plataforma en la nube de Google
- Imagen oficial de Docker
- DigitalOcean droplets
- Kubernetes Helm charts
Siempre estamos encantados de aceptar contribuciones al proyecto, ya sea código, documentación, informes de errores, solicitudes de nueva funcionalidad, o comentarios. Para empezar a contribuir:
- Echa un vistazo a GitHub, en particular a los elementos etiquetados "[Good first issue]"(https://github.com/questdb/questdb/issues?q=is%3Aissue+is%3Aopen+label%3A%22Good+first+issue%22).
- Lee la guía de contribución.
- Para obtener detalles sobre la compilación, empaquetado e instalación de QuestDB, consulta build instructions.
- Crea un fork de QuestDB y envía un pull request con los cambios propuestos.
✨ Como muestra de nuestra gratitud, te enviaremos Swag de QuestDB . Reclama tu swag aquí.
Un gran agradecimiento a las siguientes personas maravillosas que han contribuido a QuestDB: (clave emoji):
Este proyecto se adhiere a la especificación all-contributors. Las contribuciones de cualquier tipo son bienvenidas y se llevan premio!