Inglês | 中文
IoTDB (Internet of Things Database) é um sistema de gerenciamento de dados de séries temporais, que fornece aos usuários serviços específicos, incluindo coleta, armazenamento e análise de dados. Devido à sua estrutura leve, alto desempenho e recursos utilizáveis, juntamente com sua integração perfeita com o ecossistema Hadoop e Spark, o IoTDB atende aos requisitos de armazenamento massivo de conjuntos de dados, entrada de dados de alto rendimento e análise de dados complexa no campo IoT industrial.
Clique para mais informações
O IoTDB depende do TsFile, que é um formato de arquivo de armazenamento colunar projetado para dados de série temporal. A ramificação iotdb
do projeto TsFile é usada para implantar a versão SNAPSHOT para o projeto IoTDB.
Os principais recursos do IoTDB são os seguintes:
Para obter as informações mais recentes sobre o IoTDB, visite o site oficial do IoTDB. Se você encontrar algum problema ou identificar algum bug ao usar o IoTDB, relate um problema no Jira.
Este breve guia orientará você no processo básico de uso do IoTDB. Para uma introdução mais detalhada, visite o Guia do usuário do nosso site.
Para usar o IoTDB, você precisa ter:
# Linux
> sudo sysctl -w net.core.somaxconn=65535
# FreeBSD or Darwin
> sudo sysctl -w kern.ipc.somaxconn=65535
(Este guia é baseado em uma instalação do Ubuntu 22.04.)
Certifique-se de que Git
esteja instalado, se estiver faltando, basta instalá-lo via:
sudo apt install git
Certifique-se de que Java
esteja instalado, se estiver faltando, basta instalá-lo via:
sudo apt install default-jdk
sudo apt install flex
sudo apt install bison
sudo apt install libboost-all-dev
Normalmente o OpenSSL já está instalado, porém faltam os arquivos de cabeçalho que precisamos compilar. Portanto, certifique-se de que estes estejam instalados:
sudo apt install libssl-dev
Primeiro, certifique-se de que git
funcione.
Normalmente, em um Mac novo, assim que você simplesmente digita git
em uma janela Terminal
, um pop-up aparecerá perguntando se você deseja concluir a instalação das ferramentas de desenvolvedor do Mac. Apenas diga sim. Assim que terminar, você estará livre para usar git
.
Em seguida, instale Homebrew
- Se ainda não tiver sido instalado, instalaremos tudo usando Homebrew
.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Assim que terminar, instale Java
, se ainda não tiver sido instalado:
brew install java
Dependendo da sua versão do Homebrew, ele solicitará que você siga um destes procedimentos (dependendo do tipo de processador do seu dispositivo).
Principalmente nos modelos baseados em Intel:
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
Principalmente nos modelos baseados em ARM:
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
Construir Thrift
exige que adicionemos mais duas dependências à imagem.
No entanto, isso só é necessário ao ativar o perfil with-cpp
:
brew install boost
brew install bison
brew install openssl
Em seguida, instale Chocolatey
- Se ainda não tiver sido instalado, pois instalaremos tudo 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
O IoTDB fornece três métodos de instalação, você pode consultar as sugestões a seguir e escolher o que melhor se adapta a você:
Aqui no Quick Start, damos uma breve introdução ao uso do código-fonte para instalar o IoTDB. Para obter mais informações, consulte o Guia do usuário.
Pule este capítulo se estiver usando o Windows.
Como usamos Thrift para nosso módulo RPC (comunicação e definição de protocolo), envolvemos Thrift durante a compilação, portanto, o compilador Thrift 0.13.0 (ou superior) é necessário para gerar o código Thrift Java. Thrift fornece oficialmente um compilador binário para Windows, mas infelizmente não fornece isso para sistemas operacionais Unix.
Se você tiver permissão para instalar novo software, use apt install
ou yum install
ou brew install
para instalar o compilador Thrift. (Se você já instalou o compilador thrift, pule esta etapa.) Em seguida, você pode adicionar o seguinte parâmetro ao executar o Maven: -Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>
.
Caso contrário, você terá que compilar o compilador thrift e será necessário instalar primeiro uma biblioteca boost. Portanto, nós mesmos compilamos um compilador Unix e o colocamos no GitHub, e com a ajuda de um plugin maven, ele será baixado automaticamente durante a compilação. Este compilador funciona bem com gcc8 ou posterior, Ubuntu MacOS e CentOS, mas versões anteriores e outros sistemas operacionais não são garantidos.
Se você não conseguir baixar o compilador thrift automaticamente devido a um problema de rede, você pode baixá-lo sozinho e: renomear seu arquivo thrift para {project_root}thrifttargettoolsthrift_0.12.0_0.13.0_linux.exe
; ou adicione comandos Maven: -Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>
.
Você pode baixar o código fonte em:
git clone https://github.com/apache/iotdb.git
O branch dev padrão é o branch master, se você quiser usar uma versão lançada xxx:
git checkout vx.x.x
Ou faça check-out no branch de uma versão grande, por exemplo, o branch do 1.0 é rel/1.0.
git checkout rel/x.x
No caminho raiz do iotdb:
> mvn clean package -pl distribution -am -DskipTests
Após ser construída, a distribuição IoTDB fica localizada na pasta: "distribution/target".
No caminho iotdb/iotdb-client:
> mvn clean package -pl cli -am -DskipTests
Após ser construído, o IoTDB cli fica localizado na pasta "cli/target".
Use -P with-cpp
para compilar o cliente cpp. (Para obter mais detalhes, leia o arquivo Leiame do client-cpp.)
NOTA: Diretórios " thrift/target/generated-sources/thrift
", " thrift-sync/target/generated-sources/thrift
", " thrift-cluster/target/generated-sources/thrift
", " thrift-influxdb/target/generated-sources/thrift
" e " antlr/target/generated-sources/antlr4
" precisam ser adicionados às raízes das fontes para evitar erros de compilação no IDE.
No IDEA, você só precisa clicar com o botão direito no nome do projeto raiz e escolher " Maven->Reload Project
" depois de executar mvn package
com sucesso.
Os arquivos de configuração estão na pasta “conf”.
datanode-env.bat
, datanode-env.sh
),iotdb-datanode.properties
)logback.xml
).Para obter mais informações, consulte o Manual de Configuração.
Você pode seguir as etapas a seguir para testar a instalação. Se nenhum erro for retornado após a execução, a instalação será concluída.
Os usuários podem iniciar o 1C1D IoTDB pelo script start-standalone na pasta sbin.
# Unix/OS X
> sbin/start-standalone.sh
# Windows
> sbinstart-standalone.bat
O IoTDB oferece diferentes maneiras de interagir com o servidor. Aqui apresentamos as etapas básicas de uso da ferramenta Cli para inserir e consultar dados.
Após a instalação do IoTDB, existe um usuário padrão ‘root’, sua senha padrão também é ‘root’. Os usuários podem usar esse usuário padrão para fazer login no Cli para usar o IoTDB. O script de inicialização do Cli é o script start-cli na pasta sbin. Ao executar o script, o usuário deverá atribuir IP, PORTA, NOME_USUÁRIO e SENHA. Os parâmetros padrão são "-h 127.0.0.1 -p 6667 -u root -pw -root".
Aqui está o comando para iniciar o 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
A linha de comando cli é interativa, então você deverá ver o logotipo de boas-vindas e as declarações se tudo estiver pronto:
_____ _________ ______ ______
|_ _| | _ _ ||_ _ `.|_ _
| | .--.|_/ | | _| | | `. | |_) |
| | / .'` | | | | | | | __'.
_| |_| __. | _| |_ _| |_.' /_| |__) |
|_____|'.__.' |_____| |______.'|_______/ version x.x.x
IoTDB> login successfully
IoTDB>
Agora, vamos apresentar a forma de criar séries temporais, inserir dados e consultar dados.
Os dados no IoTDB são organizados como séries temporais. Cada série temporal inclui vários pares dados-tempo e pertence a um banco de dados. Antes de definir uma série temporal, devemos primeiro definir um banco de dados usando CREATE DATABASE, e aqui está um exemplo:
IoTDB> CREATE DATABASE root.ln
Também podemos usar SHOW DATABASES para verificar o banco de dados que está sendo criado:
IoTDB> SHOW DATABASES
+-------------+
| Database|
+-------------+
| root.ln|
+-------------+
Total line number = 1
Após a configuração do banco de dados, podemos usar CREATE TIMESERIES para criar uma nova série temporal. Ao criar uma série temporal, devemos definir seu tipo de dados e o esquema de codificação. Aqui criamos duas séries temporais:
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 a série temporal específica, podemos usar SHOW TIMESERIES . representam a localização da série temporal. O valor padrão é "null", que consulta todas as séries temporais do sistema (o mesmo que usar "SHOW TIMESERIES root"). Aqui estão alguns exemplos:
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
A inserção de dados de série temporal é uma operação básica do IoTDB, você pode usar o comando 'INSERT' para finalizar isso. Antes da inserção, você deve atribuir o carimbo de data/hora e o nome do caminho do sufixo:
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)
Os dados que você acabou de inserir serão exibidos da seguinte forma:
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
Você também pode consultar vários dados de série temporal usando uma instrução 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 alterar o fuso horário no Cli, você pode usar o seguinte SQL:
IoTDB> SET time_zone=+08:00
Time zone has set to +08:00
IoTDB> SHOW time_zone
Current time zone: Asia/Shanghai
Adicione e o resultado da consulta será exibido usando o novo fuso horário.
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
Os comandos para sair do Cli são:
IoTDB> quit
or
IoTDB> exit
Para obter mais informações sobre os comandos suportados pelo IoTDB SQL, consulte o Guia do Usuário.
O servidor pode ser parado com "ctrl-C" ou o seguinte script:
# Unix/OS X
> sbin/stop-standalone.sh
# Windows
> sbinstop-standalone.bat
consulte O uso da ferramenta de importação e exportação CSV
consulte Perguntas frequentes ao compilar o código-fonte
tietouqiao
ou liutaohua001
e então convidaremos você para o grupo.veja Junte-se à comunidade para mais!