TimescaleDB es una base de datos de código abierto diseñada para hacer que SQL sea escalable para datos de series temporales. Está diseñado a partir de PostgreSQL y empaquetado como una extensión de PostgreSQL, lo que proporciona partición automática en el tiempo y el espacio (clave de partición), así como soporte completo de SQL.
Si prefiere no instalar ni administrar su instancia de TimescaleDB, pruebe la prueba gratuita de 30 días de Timescale, nuestra oferta en la nube totalmente administrada. El plazo es de pago por uso. No cobramos por el almacenamiento que no utiliza, copias de seguridad, instantáneas, entrada o salida.
Para determinar qué opción es mejor para usted, consulte Productos de Timescale para obtener más información sobre nuestra versión Apache-2, TimescaleDB Community (autohospedado) y Timescale Cloud (hospedado), que incluyen: comparaciones de funciones, preguntas frecuentes, documentación y soporte.
A continuación se muestra una introducción a TimescaleDB. Para obtener más información, consulte estos otros recursos:
Documentación del desarrollador
Canal flojo
Foro de la comunidad de escala de tiempo
Notas de la versión de escala de tiempo y planes futuros
Para referencia y claridad, todos los archivos de código en este repositorio hacen referencia a la licencia en su encabezado (ya sea la licencia de código abierto Apache-2 o la licencia Timescale (TSL)). Los binarios con licencia de Apache-2 se pueden crear pasando -DAPACHE_ONLY=1
al bootstrap
.
Bienvenidos los contribuyentes.
(Para compilar TimescaleDB desde el código fuente, consulte las instrucciones en Compilación desde el código fuente ).
TimescaleDB escala PostgreSQL para datos de series temporales mediante la partición automática en el tiempo y el espacio (clave de partición), pero conserva la interfaz estándar de PostgreSQL.
En otras palabras, TimescaleDB expone lo que parecen tablas normales, pero que en realidad son sólo una abstracción (o una vista virtual) de muchas tablas individuales que comprenden los datos reales. Esta vista de tabla única, que llamamos hipertabla, se compone de muchos fragmentos, que se crean dividiendo los datos de la hipertabla en una o dos dimensiones: por un intervalo de tiempo y por una "clave de partición" (opcional), como identificación del dispositivo, ubicación, identificación del usuario, etc.
Prácticamente todas las interacciones del usuario con TimescaleDB se realizan con hipertablas. La creación de tablas e índices, la modificación de tablas, la inserción de datos, la selección de datos, etc., pueden (y deben) ejecutarse en la hipertabla.
Desde la perspectiva tanto del uso como de la administración, TimescaleDB simplemente se ve y se siente como PostgreSQL, y puede administrarse y consultarse como tal.
La configuración lista para usar de PostgreSQL suele ser demasiado conservadora para los servidores modernos y TimescaleDB. Debes asegurarte de que la configuración de postgresql.conf
esté ajustada, ya sea usando timescaledb-tune o haciéndolo manualmente.
-- No olvides crear la extensión timescaledb CREATE EXTENSION timescaledb; -- Comenzamos creando una tabla SQL normal CREATE TABLE condiciones (time TIMESTAMPTZ NOT NULL, ubicación TEXTO NO NULO, temperatura DOBLE PRECISIÓN NULA, humedad DOUBLE PRECISION NULL);-- Luego lo convertimos en una hipertabla que está dividida por timeSELECT create_hypertable('conditions', 'time');
Inicio rápido: creación de hipertablas
Ejemplos de referencia
La inserción de datos en la hipertabla se realiza mediante comandos SQL normales:
INSERTAR EN condiciones (hora, ubicación, temperatura, humedad) VALORES (AHORA (), 'oficina', 70.0, 50.0); SELECCIONAR * DE condiciones ORDENAR POR tiempo DESC LIMIT 100; SELECCIONAR time_bucket ('15 minutos', tiempo) AS quince_min , ubicación, COUNT(*),MAX(temperatura) AS max_temp,MAX(humedad) AS max_hum FROM condiciones DONDE tiempo > AHORA() - intervalo '3 horas' GRUPO POR quince_min, ubicación ORDENAR POR quince_min DESC, max_temp DESC;
Además, TimescaleDB incluye funciones adicionales para el análisis de series temporales que no están presentes en PostgreSQL básico. (Por ejemplo, la función time_bucket
anterior).
Inicio rápido: operaciones básicas
Ejemplos de referencia
API de escala de tiempoDB
Timescale, un TimescaleDB totalmente administrado en la nube, está disponible mediante una prueba gratuita. Cree una base de datos PostgreSQL en la nube con TimescaleDB preinstalado para que pueda potenciar su aplicación con TimescaleDB sin la sobrecarga de administración.
TimescaleDB también está disponible preempaquetado para varias plataformas, como Linux, Windows, MacOS, Docker y Kubernetes. Para obtener más información, consulte Instalar TimescaleDB.
Para compilar desde el código fuente, consulte Construir desde el código fuente.
Funciones básicas de TimescaleDB
Funciones avanzadas de TimescaleDB
Prueba de escala de tiempoDB
timescaledb-tune: ayuda a establecer los ajustes de configuración de PostgreSQL en función de los recursos de su sistema.
timescaledb-parallel-copy: Paralelice su carga masiva inicial utilizando COPY
de PostgreSQL en varios trabajadores.
¿Por qué utilizar TimescaleDB?
Migrando desde PostgreSQL
Escribir datos
Consultas y análisis de datos.
Tutoriales y datos de muestra.
Canal flojo
Problemas de Github
Soporte en escala de tiempo: consulte las opciones de soporte (comunidad y suscripción)
Notas de la versión de escala de tiempo: vea información detallada sobre las versiones actuales y pasadas y suscríbase para recibir notificaciones sobre nuevas versiones, correcciones y programas beta/de acceso temprano.
Instrucciones para contribuyentes
guía de estilo de código