TEngine es una base de datos de series temporales (Time Series Database) de fuente abierta y nativa de la nube de Taos Data, que lanzó una versión comercial formal en agosto de 2018. TEngine no depende de ningún software de código abierto o de terceros, tiene derechos de propiedad intelectual completamente independientes y tiene características técnicas como alto rendimiento, alta confiabilidad, escalabilidad, gestión cero y fácil aprendizaje. [1] Proporcione almacenamiento en caché, suscripción de datos, transmisión informática y otras funciones para minimizar la complejidad de la I+D y la operación y el mantenimiento.
Documento oficial de TEngine
1. Instalación de TEngin
1. Tire de la imagen de TEngine
docker pull tdengine/tdengine:latest
2. El uso de Docker para instalar tdengine necesita asignar puertos y carpetas de red, lo que lleva mucho tiempo.
sudo docker run -d --name tdengine -h tdengine -p 6041:6041 -p 6030-6035:6030-6035 -p 6030-6035:6030-6035/udp tdengine/tdengine:latest
3. A través del comando docker exec, ingrese al contenedor docker e ingrese al cliente TEngine
docker exec -it tdengine /bin/bash
4. Ejemplo de aplicación: use taosBenchmark en la máquina host para escribir datos en el servidor TEngine en el contenedor Docker
Ejecutar en el contenedor tdengine
taosBenchmark
Después de presionar Entrar, el comando creará automáticamente una supertabla de medidores bajo la prueba de la base de datos. Hay 10.000 tablas bajo la supertabla, y los nombres de las tablas son "d0" a "d9999". Cada tabla tiene 10.000 registros. Cada registro tiene cuatro campos (ts, corriente, voltaje, fase), y la marca de tiempo varía de "2017-07-14 10:40:00 000" a "2017-07-14 10:40:09 999", cada tabla con etiquetas ubicación y groupId, groupId se establece en 1 a 10, la ubicación se establece en "California.SanFrancisco" o "California.SanDieo".
Al final, se insertaron un total de 100 millones de registros.
Entrar en el programa cliente
taos
ver base de datos
show databases;
ver súper mesa
use test;
Tabla de consulta, limite la salida a diez
select * from test.d0 limit 10;
2. Tabla de construcción de TEngine
1. Crea una biblioteca
CREATE DATABASE sin KEEP 365 DAYS 10 BLOCKS 6 UPDATE 1;
La declaración anterior creará una biblioteca llamada sin, los datos en esta biblioteca se mantendrán durante 365 días (más de 365 días se eliminarán automáticamente), un archivo de datos cada 10 días, la cantidad de bloques de memoria es 6 y los datos son permitido ser actualizado.
Después de crear la biblioteca, debe usar el comando SQL USE para cambiar la biblioteca actual
USE sin;
2. Crea una súper mesa
Un sistema de Internet de las cosas a menudo tiene múltiples tipos de equipos, como medidores inteligentes, transformadores, barras colectoras, interruptores, etc. para la red eléctrica. Para facilitar la agregación entre múltiples tablas, utilizando TEngine, es necesario crear una supertabla para cada tipo de punto de recolección de datos.
CREATE STABLE gl07 (ts timestamp,value int) TAGS (groupId int);
3. Crear tabla
TEngine necesita construir una tabla de forma independiente para cada punto de recopilación de datos. Como una base de datos relacional estándar, una tabla tiene un nombre de tabla, Esquema, pero además, también puede tener una o más etiquetas. Al crear, debe usar la supertabla como plantilla y especificar el valor específico de la etiqueta.
CREATE TABLE d1008 USING gl07 TAGS (1008);
4. Creación automática de tablas
En algunos escenarios especiales, el usuario no está seguro de si la tabla de un determinado punto de recopilación de datos existe al escribir datos. En este momento, la sintaxis de creación automática de tablas se puede usar para crear una tabla inexistente al escribir datos. Si la tabla ya existe No se creará una nueva tabla y las sentencias USING subsiguientes se ignorarán.
INSERT INTO d1009 USING gl07 TAGS (1009) VALUES (now, 9);
Verificar si crear
select * from d1009;
TEngine SQL escribe datos
1. Escriba un dato, si la subtabla no existe, se creará automáticamente
INSERT INTO d1009 USING gl07 TAGS (1009) VALUES (now, 10);
2. Escribe un dato
INSERT INTO d1001 VALUES (now, 34);
3. Escriba múltiples piezas de datos
INSERT INTO d1001 VALUES (now,14) (now,16);