Inglés | 中文
IoTDB (Base de datos de Internet de las cosas) es un sistema de gestión de datos para series de tiempo, que proporciona a los usuarios servicios específicos, incluida la recopilación, el almacenamiento y el análisis de datos. Debido a su estructura liviana, alto rendimiento y características utilizables, junto con su perfecta integración con el ecosistema Hadoop y Spark, IoTDB cumple con los requisitos de almacenamiento masivo de conjuntos de datos, entrada de datos de alto rendimiento y análisis de datos complejos en el campo industrial de IoT.
Haga clic para obtener más información
IoTDB depende de TsFile, que es un formato de archivo de almacenamiento en columnas diseñado para datos de series temporales. La rama iotdb
del proyecto TsFile se utiliza para implementar la versión SNAPSHOT para el proyecto IoTDB.
Las principales características de IoTDB son las siguientes:
Para obtener la información más reciente sobre IoTDB, visite el sitio web oficial de IoTDB. Si encuentra algún problema o identifica algún error al usar IoTDB, informe un problema en Jira.
Esta breve guía lo guiará a través del proceso básico de uso de IoTDB. Para obtener una introducción más detallada, visite la Guía del usuario de nuestro sitio web.
Para utilizar IoTDB, debe tener:
# Linux
> sudo sysctl -w net.core.somaxconn=65535
# FreeBSD or Darwin
> sudo sysctl -w kern.ipc.somaxconn=65535
(Esta guía se basa en una instalación de Ubuntu 22.04).
Asegúrese de que Git
esté instalado; si falta, simplemente instálelo a través de:
sudo apt install git
Asegúrese de que Java
esté instalado; si falta, simplemente instálelo a través de:
sudo apt install default-jdk
sudo apt install flex
sudo apt install bison
sudo apt install libboost-all-dev
Normalmente OpenSSL ya está instalado, sin embargo, faltan los archivos de encabezado que necesitamos compilar. Así que asegúrese de que estén instalados:
sudo apt install libssl-dev
Primero asegúrese de que git
funcione.
Por lo general, en una Mac nueva, tan pronto como simplemente escribe git
en una ventana Terminal
, aparecerá una ventana emergente que le preguntará si desea terminar de instalar las herramientas de desarrollo de Mac. Sólo di que sí. Tan pronto como esto termine, podrás usar git
.
Luego instale Homebrew
: si aún no se ha instalado, instalaremos todo usando Homebrew
.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Tan pronto como haya terminado, instale Java
, si aún no se ha instalado:
brew install java
Dependiendo de su versión de Homebrew, le indicará que realice una de las siguientes acciones (según el tipo de procesador de su dispositivo).
Principalmente en los modelos basados en Intel:
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
Principalmente en los modelos basados en ARM:
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
Building Thrift
requiere que agreguemos dos dependencias más a la imagen.
Sin embargo, esto sólo es necesario cuando se habilita el perfil with-cpp
:
brew install boost
brew install bison
brew install openssl
Luego instale Chocolatey
: si aún no se ha instalado, instalaremos todo usando Chocolatey
.
https://chocolatey.org/install
choco install git.install
choco install openjdk
choco install visualstudio2022community
choco install visualstudio2022buildtools
choco install visualstudio2022-workload-nativedesktop
choco install winflexbison
choco install boost-msvc-14.2
choco install openssl
IoTDB proporciona tres métodos de instalación. Puede consultar las siguientes sugerencias y elegir el que mejor se adapte a sus necesidades:
Aquí, en el Inicio rápido, brindamos una breve introducción sobre el uso del código fuente para instalar IoTDB. Para obtener más información, consulte la Guía del usuario.
Omita este capítulo si está utilizando Windows.
Como usamos Thrift para nuestro módulo RPC (definición de protocolo y comunicación), involucramos a Thrift durante la compilación, por lo que se requiere el compilador Thrift 0.13.0 (o superior) para generar el código Java de Thrift. Thrift proporciona oficialmente un compilador binario para Windows, pero desafortunadamente, no lo proporciona para los sistemas operativos Unix.
Si tiene permiso para instalar software nuevo, utilice apt install
o yum install
o brew install
para instalar el compilador Thrift. (Si ya ha instalado el compilador de segunda mano, omita este paso). Luego, puede agregar el siguiente parámetro al ejecutar Maven: -Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>
.
De lo contrario, debe compilar el compilador de segunda mano y primero debe instalar una biblioteca boost. Por lo tanto, nosotros mismos compilamos un compilador de Unix y lo colocamos en GitHub y, con la ayuda de un complemento de Maven, se descargará automáticamente durante la compilación. Este compilador funciona bien con gcc8 o posterior, Ubuntu MacOS y CentOS, pero no se garantizan versiones anteriores ni otros sistemas operativos.
Si no puede descargar el compilador de segunda mano automáticamente debido a un problema de red, puede descargarlo usted mismo y luego: cambiar el nombre de su archivo de segunda mano a {project_root}thrifttargettoolsthrift_0.12.0_0.13.0_linux.exe
; o agregue comandos de Maven: -Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>
.
Puedes descargar el código fuente desde:
git clone https://github.com/apache/iotdb.git
La rama de desarrollo predeterminada es la rama maestra, si desea utilizar una versión publicada xxx:
git checkout vx.x.x
O realice el pago en la rama de una versión grande, por ejemplo, la rama de 1.0 es rel/1.0.
git checkout rel/x.x
En la ruta raíz de iotdb:
> mvn clean package -pl distribution -am -DskipTests
Después de compilarse, la distribución de IoTDB se ubica en la carpeta: "distribución/destino".
En la ruta iotdb/iotdb-client:
> mvn clean package -pl cli -am -DskipTests
Una vez creado, el cli de IoTDB se encuentra en la carpeta "cli/target".
Utilice -P with-cpp
para compilar el cliente cpp. (Para obtener más detalles, lea el archivo Léame de client-cpp).
NOTA: Directorios " thrift/target/generated-sources/thrift
", " thrift-sync/target/generated-sources/thrift
", " thrift-cluster/target/generated-sources/thrift
", " thrift-influxdb/target/generated-sources/thrift
" y " antlr/target/generated-sources/antlr4
" deben ser agregado a las raíces de las fuentes para evitar errores de compilación en el IDE.
En IDEA, solo necesita hacer clic derecho en el nombre del proyecto raíz y elegir " Maven->Reload Project
" después de ejecutar mvn package
con éxito.
Los archivos de configuración se encuentran en la carpeta "conf".
datanode-env.bat
, datanode-env.sh
),iotdb-datanode.properties
)logback.xml
).Para obtener más información, consulte el Manual de configuración.
Puede seguir los siguientes pasos para probar la instalación. Si no se devuelve ningún error después de la ejecución, la instalación se completa.
Los usuarios pueden iniciar 1C1D IoTDB mediante el script de inicio independiente en la carpeta sbin.
# Unix/OS X
> sbin/start-standalone.sh
# Windows
> sbinstart-standalone.bat
IoTDB ofrece diferentes formas de interactuar con el servidor. Aquí presentamos los pasos básicos del uso de la herramienta CLI para insertar y consultar datos.
Después de instalar IoTDB, hay un usuario predeterminado "root", su contraseña predeterminada también es "root". Los usuarios pueden utilizar este usuario predeterminado para iniciar sesión en Cli y utilizar IoTDB. El script de inicio de Cli es el script start-cli en la carpeta sbin. Al ejecutar el script, el usuario debe asignar IP, PUERTO, NOMBRE DE USUARIO y CONTRASEÑA. Los parámetros predeterminados son "-h 127.0.0.1 -p 6667 -u root -pw -root".
Aquí está el comando para iniciar Cli:
# Unix/OS X
> sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root
# Windows
> sbinstart-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root
La línea de comando cli es interactiva, por lo que debería ver el logotipo de bienvenida y las declaraciones si todo está listo:
_____ _________ ______ ______
|_ _| | _ _ ||_ _ `.|_ _
| | .--.|_/ | | _| | | `. | |_) |
| | / .'` | | | | | | | __'.
_| |_| __. | _| |_ _| |_.' /_| |__) |
|_____|'.__.' |_____| |______.'|_______/ version x.x.x
IoTDB> login successfully
IoTDB>
Ahora, introduzcamos la forma de crear series temporales, insertar datos y consultar datos.
Los datos en IoTDB están organizados como series temporales. Cada serie temporal incluye múltiples pares de datos y tiempo y pertenece a una base de datos. Antes de definir una serie temporal, primero debemos definir una base de datos usando CREATE DATABASE, y aquí hay un ejemplo:
IoTDB> CREATE DATABASE root.ln
También podemos usar MOSTRAR BASES DE DATOS para verificar la base de datos que se está creando:
IoTDB> SHOW DATABASES
+-------------+
| Database|
+-------------+
| root.ln|
+-------------+
Total line number = 1
Una vez configurada la base de datos, podemos usar CREATE TIMESERIES para crear una nueva serie temporal. Al crear una serie temporal, debemos definir su tipo de datos y el esquema de codificación. Aquí creamos dos series temporales:
IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN
IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE
Para consultar la serie temporal específica, podemos usar SHOW TIMESERIES. representan la ubicación de la serie temporal. El valor predeterminado es "nulo", que consulta todas las series temporales del sistema (lo mismo que usar "MOSTRAR raíz de SERIE TIEMPO"). A continuación se muestran algunos ejemplos:
IoTDB> SHOW TIMESERIES
+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
| Timeseries|Alias|Database|DataType|Encoding|Compression|Tags|Attributes|
+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
|root.ln.wf01.wt01.temperature| null| root.ln| FLOAT| RLE| SNAPPY|null| null|
| root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null|
+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+
Total line number = 2
IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
+------------------------+-----+-------------+--------+--------+-----------+----+----------+
| timeseries|alias|database|dataType|encoding|compression|tags|attributes|
+------------------------+-----+-------------+--------+--------+-----------+----+----------+
|root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null|
+------------------------+-----+-------------+--------+--------+-----------+----+----------+
Total line number = 1
Insertar datos de series temporales es una operación básica de IoTDB; puede usar el comando 'INSERT' para finalizar esto. Antes de la inserción, debe asignar la marca de tiempo y el nombre de la ruta del sufijo:
IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status) values(100,true);
IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values(200,false,20.71)
Los datos que acaba de insertar se mostrarán de la siguiente manera:
IoTDB> SELECT status FROM root.ln.wf01.wt01
+------------------------+------------------------+
| Time|root.ln.wf01.wt01.status|
+------------------------+------------------------+
|1970-01-01T00:00:00.100Z| true|
|1970-01-01T00:00:00.200Z| false|
+------------------------+------------------------+
Total line number = 2
También puede consultar varios datos de series temporales utilizando una declaración SQL:
IoTDB> SELECT * FROM root.ln.wf01.wt01
+------------------------+-----------------------------+------------------------+
| Time|root.ln.wf01.wt01.temperature|root.ln.wf01.wt01.status|
+------------------------+-----------------------------+------------------------+
|1970-01-01T00:00:00.100Z| null| true|
|1970-01-01T00:00:00.200Z| 20.71| false|
+------------------------+-----------------------------+------------------------+
Total line number = 2
Para cambiar la zona horaria en CLI, puede utilizar el siguiente SQL:
IoTDB> SET time_zone=+08:00
Time zone has set to +08:00
IoTDB> SHOW time_zone
Current time zone: Asia/Shanghai
Agregue y el resultado de la consulta se mostrará usando la nueva zona horaria.
IoTDB> SELECT * FROM root.ln.wf01.wt01
+-----------------------------+-----------------------------+------------------------+
| Time|root.ln.wf01.wt01.temperature|root.ln.wf01.wt01.status|
+-----------------------------+-----------------------------+------------------------+
|1970-01-01T08:00:00.100+08:00| null| true|
|1970-01-01T08:00:00.200+08:00| 20.71| false|
+-----------------------------+-----------------------------+------------------------+
Total line number = 2
Los comandos para salir del Cli son:
IoTDB> quit
or
IoTDB> exit
Para obtener más información sobre los comandos admitidos por IoTDB SQL, consulte la Guía del usuario.
El servidor se puede detener con "ctrl-C" o el siguiente script:
# Unix/OS X
> sbin/stop-standalone.sh
# Windows
> sbinstop-standalone.bat
consulte El uso de la herramienta de importación y exportación CSV
ver Preguntas frecuentes al compilar el código fuente
tietouqiao
o liutaohua001
y luego te invitaremos al grupo.¡Consulta Únete a la comunidad para obtener más información!