Omitir navegación

Cree cargas de trabajo de IoT y series temporales con TimescaleDB en Azure Database for PostgreSQL

Publicado el 18 marzo, 2019

Principal Program Manager, Azure SQL Engineering

Estamos encantados de anunciar una asociación con Timescale que incorpora compatibilidad con TimescaleDB a Azure Database for PostgreSQL para aquellos clientes que crean cargas de trabajo de IoT y series temporales. TimescaleDB cuenta con una trayectoria probada de implementación en entornos de producción de una gran variedad de industrias, como las de gas y petróleo, servicios financieros y fabricación. Esta asociación fortalece nuestro compromiso de ayudar a la comunidad de código abierto a proporcionar a nuestros usuarios las tecnologías más innovadoras que PostgreSQL puede ofrecer.

TimescaleDB permite escalar los recursos para una ingesta rápida y consultas complejas al tiempo que ofrece la funcionalidad completa de SQL de forma nativa. Aprovecha PostgreSQL como bloque de creación básico, de modo que los usuarios obtienen la familiaridad y la confiabilidad de PostgreSQL, junto con la escalabilidad y el rendimiento de TimescaleDB. Al habilitar TimescaleDB en un servidor Azure Database for PostgreSQL actual o nuevo, se elimina la necesidad de ejecutar dos bases de datos para recopilar datos relacionales y datos de series temporales.

Cómo empezar

Si aún no tiene un servidor de Azure Database for PostgreSQL, puede crear uno con el comando az postgres up de la CLI de Azure. Después, ejecute el siguiente comando para agregar TimescaleDB a sus bibliotecas de Postgres:

az postgres server configuration set --resource-group mygroup –server-name myserver --name shared_preload_libraries --value timescaledb

Reinicie el servidor para cargar la nueva biblioteca:

az postgres server restart --resource-group mygroup --name myserver​

A continuación, conéctese a la base de datos de Postgres y ejecute:

CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

Ya puede crear una hipertabla de TimescaleDB desde cero o migrar los datos de series temporales que tiene actualmente. Si desea obtener más información sobre TimescaleDB y otras extensiones de Azure Database for PostgreSQL, eche un vistazo al artículo "Extensiones de PostgreSQL en Azure Database for PostgreSQL". 

Postgres con TimescaleDB como base para aplicaciones de IoT

PostgreSQL habilita muchos escenarios de IoT. Para obtener más información, consulte la entrada de blog “Creating IoT applications with Azure Database for PostgreSQL” (Creación de aplicaciones de IoT con Azure Database for PostgreSQL). Con TimescaleDB, esta experiencia es aún mejor. Ahora las organizaciones de IoT pueden aprovechar también las conclusiones ocultas en los datos generados por máquinas para crear nuevas características, automatizar procesos y facilitar la eficiencia.

Desafío Solución
Los dispositivos IoT generan una gran cantidad de datos que es necesario almacenar de manera eficiente. TimescaleDB particiona automáticamente los datos en fragmentos a escala para estos tipos de cargas de trabajo.
Los datos de IoT son complejos. Es necesario conjugar metadatos de dispositivos, datos geoespaciales y datos de series temporales. TimescaleDB combina funcionalidad relacional con funciones específicas de las series temporales y es compatible con otras extensiones de PostgreSQL, como PostGIS.
Los datos de IoT deben estar accesibles para muchos usuarios (usuarios internos para realizar análisis o usuarios externos para exponer los datos en tiempo real). TimescaleDB ofrece toda la funcionalidad de SQL, un lenguaje de consulta conocido en todas las organizaciones.
Los datos de IoT requieren diversas canalizaciones de ingesta personalizables que necesitan una base de datos con un amplio ecosistema. TimescaleDB hereda todo el ecosistema de herramientas y extensiones de PostgreSQL.
Las aplicaciones de IoT se componen básicamente de datos y deben almacenarse en una base de datos confiable. TimescaleDB hereda más de 20 años de confiabilidad y estabilidad de PostgreSQL.

Además de PostgreSQL, TimescaleDB ofrece características de rendimiento muy interesantes. Para los casos de uso de IoT que aprovechan en gran medida datos de series temporales, TimescaleDB implementa el particionamiento automático en fragmentos para permitir una velocidad de inserción elevada. A continuación se muestra una comparación de Azure PostgreSQL con y sin TimescaleDB, con la degradación que se observa en el rendimiento de inserción a lo largo del tiempo. Se puede imaginar que, en los casos de uso de IoT con grandes cantidades de datos de series temporales, el uso de TimescaleDB puede aportar un valor importante para las aplicaciones de IoT que necesitan tanto características relacionales como escalabilidad.

Comparación de Azure PostgreSQL con y sin TimescaleDB con la degradación observada en el rendimiento de inserción a lo largo del tiempo.

Nota: Instancia de uso general con proceso Gen 5, 8 núcleos virtuales, 45 GB de RAM con Premium Storage.

Aunque IoT es un caso de uso obvio para una base de datos de serie temporal, realmente, los datos de series temporales existen en cualquier parte. Básicamente, los datos de series temporales se recopilan a lo largo del tiempo con una marca de tiempo asociada. Con TimescaleDB, los desarrolladores pueden seguir usando PostgreSQL mientras aprovechan TimescaleDB a escala para cargas de trabajo de series temporales.

Pasos siguientes

Como siempre, le animamos a que nos deje sus comentarios a continuación. También puede interactuar con el equipo de Azure Database for PostgreSQL en nuestra página de comentarios y en nuestros foros, si desea hacer alguna pregunta o sugerir características.