TimescaleDB 2.0 llega con soporte para acciones definidas por el usuario, cambios a la licencia TSL y mas
Se ha publicado el lanzamiento del DBMS TimescaleDB 2.0, versión en la que se agregaron cambios a la licencia TSL para proporcionar a los usuarios más derechos y permitir el uso gratuito de todas las funciones de la versión empresarial, incluida la compresión, la distribución del almacenamiento en varios nodos y la agregación continua. La licencia eliminó las restricciones sobre el alcance del ensamblaje comunitario, otorgó el derecho a realizar mejoras y cambios, eliminó las vinculaciones pagas (todas las funciones ofrecidas anteriormente en TimescaleDB Enterprise se han transferido a la edición Community).
Para quienes desconocen de TimescaleDB, deben saber que se implementa como una extensión de PostgreSQLdiseñado para almacenar y procesar datos en forma de una serie de tiempo (porciones de valores de parámetros en intervalos de tiempo especificados, el registro forma un tiempo y un conjunto de valores correspondientes a este tiempo).
Esta forma de almacenamiento es óptima para aplicaciones tales como sistemas de monitoreo, plataformas comerciales, sistemas para recopilar métricas y estados de sensores. Se proporcionan los medios para integrarse con el proyecto Grafana y Prometheus.
La característica clave de TimescaleDB es su soporte para el particionamiento automático de la matriz de datos, asi como el flujo de datos de entrada se distribuye automáticamente entre las tablas particionadas y que las secciones se crean según el tiempo (cada sección almacena datos durante un cierto período de tiempo) o en relación con una clave arbitraria.
Principales novedades en TimescaleDB 2.0
En esta nueva versión se propone una nueva implementación de funciones ejecutadas continuamente que permiten agregar datos entrantes continuamente en tiempo real (se asemejan a vistas PostgreSQL materializadas, pero se diferencian en que proporcionan un cálculo automático de los resultados de la consulta en segundo plano a medida que los datos llegan o cambian).
La nueva implementación se destaca por un cambio en la API, que ahora separa explícitamente funciones y reglas de agregación, lo que le permite implementar características tales como actualizar manualmente un rango específico en una vista agregada (por ejemplo, puede materializar automáticamente datos nuevos, pero dejar datos históricos antiguos para actualización manual). Los cambios también permitirán en el futuro implementar soporte para operaciones distribuidas cuando se trabaja con múltiples nodos.
Otro cambio importante es el soporte para acciones definidas por el usuario (UDA, Acción definida por el usuario) para ejecutar en un horario funciones y procedimientos escritos en lenguajes arbitrarios. La nueva función es adecuada para realizar tareas periódicas que no se incluyen en las políticas de conexión del controlador existentes (limpieza de datos obsoletos, compresión y agregación continua).
Se agregó soporte para hipertexto distribuido, lo que permite distribuir el almacenamiento en múltiples nodos con TimescaleDB. La configuración de clúster basada en TimescaleDB incluye un nodo de acceso y varios nodos de almacenamiento. Todas las solicitudes al hipertexto distribuido se dirigen al nodo de acceso y luego se distribuyen entre los nodos de almacenamiento.
Se agregó soporte para nuevas vistas informativas, lo que le permite obtener información sobre hipertexto, nodos de clúster, cadenas, políticas y programa de inicio de trabajo.
¿Cómo instalar TimescaleDB en Linux?
Para quienes estén interesados en poder instalar TimescaleDB en su sistema, podrán hacerlo siguiendo las instrucciones que compartimos a continuación.
En el caso de los que son usuarios de Ubuntu:
sudo echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -c -s)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add – sudo add-apt-repository ppa:timescale/timescaledb-ppa sudo apt-get update sudo apt install timescaledb-postgresql-11
En el caso de Debian:
sudo sh -c "echo 'deb https://packagecloud.io/timescale/timescaledb/debian/ `lsb_release -c -s` main' > /etc/apt/sources.list.d/timescaledb.list" wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo apt-key add - sudo apt-get update sudo apt-get install timescaledb-postgresql-11
RHEL/CentOS:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL [timescale_timescaledb] name=timescale_timescaledb baseurl=https://packagecloud.io/timescale/timescaledb/el/7/\$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 EOL
sudo yum update -y sudo yum install -y timescaledb-postgresql-11
Ahora vamos a configurar la base de datos con:
sudo timescaledb-tune
Aquí se pueden realizar diversas configuraciones, de las cuales pueden consultar en el siguiente enlace.
Al finalizar basta con reiniciar el servicio:
sudo service postgresql restart