Bahasa Inggris | tidak
IoTDB (Internet of Things Database) adalah sistem manajemen data untuk data deret waktu, yang menyediakan layanan khusus kepada pengguna, termasuk pengumpulan, penyimpanan, dan analisis data. Karena strukturnya yang ringan, kinerja tinggi, dan fitur-fitur yang dapat digunakan, serta integrasinya yang mulus dengan ekosistem Hadoop dan Spark, IoTDB memenuhi persyaratan penyimpanan kumpulan data yang besar, input data throughput yang tinggi, dan analisis data yang kompleks di bidang IoT industri.
Klik untuk Informasi Lebih Lanjut
IoTDB bergantung pada TsFile yang merupakan format file penyimpanan berbentuk kolom yang dirancang untuk data deret waktu. Cabang iotdb
dari proyek TsFile digunakan untuk menyebarkan versi SNAPSHOT untuk proyek IoTDB.
Fitur utama IoTDB adalah sebagai berikut:
Untuk informasi terbaru tentang IoTDB, silakan kunjungi situs resmi IoTDB. Jika Anda mengalami masalah atau mengidentifikasi bug apa pun saat menggunakan IoTDB, harap laporkan masalah di Jira.
Panduan singkat ini akan memandu Anda melalui proses dasar penggunaan IoTDB. Untuk pengenalan lebih rinci, silakan kunjungi Panduan Pengguna situs web kami.
Untuk menggunakan IoTDB, Anda harus memiliki:
# Linux
> sudo sysctl -w net.core.somaxconn=65535
# FreeBSD or Darwin
> sudo sysctl -w kern.ipc.somaxconn=65535
(Panduan ini didasarkan pada instalasi Ubuntu 22.04.)
Pastikan Git
sudah terinstall, jika kurang cukup install melalui :
sudo apt install git
Pastikan Java
sudah terinstall, jika kurang cukup install melalui :
sudo apt install default-jdk
sudo apt install flex
sudo apt install bison
sudo apt install libboost-all-dev
Biasanya OpenSSL sudah terinstal, namun tidak ada file header yang perlu kita kompilasi. Jadi pastikan ini diinstal:
sudo apt install libssl-dev
Pertama pastikan git
berfungsi.
Biasanya pada Mac baru, segera setelah Anda mengetik git
di jendela Terminal
, sebuah popup akan muncul dan menanyakan apakah Anda ingin menyelesaikan instalasi alat pengembang Mac. Katakan saja ya. Setelah ini selesai, Anda bebas menggunakan git
.
Kemudian instal Homebrew
- Jika ini belum diinstal, karena kami akan menginstal semuanya menggunakan Homebrew
.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Segera setelah selesai, instal Java
, jika ini belum diinstal:
brew install java
Tergantung pada versi Homebrew Anda, ia akan meminta Anda untuk melakukan salah satu hal berikut (tergantung pada jenis prosesor di perangkat Anda).
Terutama pada model berbasis Intel:
sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
Terutama pada model berbasis ARM:
sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
Building Thrift
mengharuskan kita menambahkan dua dependensi lagi pada gambar.
Namun ini hanya diperlukan ketika mengaktifkan profil with-cpp
:
brew install boost
brew install bison
brew install openssl
Kemudian instal Chocolatey
- Jika ini belum diinstal, karena kami akan menginstal semuanya menggunakan 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 menyediakan tiga metode instalasi, Anda dapat merujuk pada saran berikut, pilih salah satu yang paling sesuai untuk Anda:
Di sini, di Mulai Cepat, kami memberikan pengenalan singkat tentang penggunaan kode sumber untuk menginstal IoTDB. Untuk informasi lebih lanjut, silakan lihat Panduan Pengguna.
Lewati bab ini jika Anda menggunakan Windows.
Saat kami menggunakan Thrift untuk modul RPC kami (definisi komunikasi dan protokol), kami melibatkan Thrift selama kompilasi, sehingga kompiler Thrift 0.13.0 (atau lebih tinggi) diperlukan untuk menghasilkan kode Java Thrift. Thrift secara resmi menyediakan kompiler biner untuk Windows, namun sayangnya, mereka tidak menyediakannya untuk OS Unix.
Jika Anda memiliki izin untuk menginstal perangkat lunak baru, gunakan apt install
atau yum install
atau brew install
untuk menginstal kompiler Thrift. (Jika Anda sudah menginstal thrift compiler, lewati langkah ini.) Kemudian, Anda dapat menambahkan parameter berikut saat menjalankan Maven: -Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>
.
Jika tidak, maka Anda harus mengkompilasi kompiler thrift, dan Anda harus menginstal perpustakaan boost terlebih dahulu. Oleh karena itu, kami mengkompilasi sendiri kompiler Unix dan memasukkannya ke GitHub, dan dengan bantuan plugin maven, kompiler tersebut akan diunduh secara otomatis selama kompilasi. Kompiler ini berfungsi baik dengan gcc8 atau lebih baru, Ubuntu MacOS, dan CentOS, tetapi versi sebelumnya dan OS lain tidak dijamin.
Jika Anda tidak dapat mengunduh thrift compiler secara otomatis karena masalah jaringan, Anda dapat mengunduhnya sendiri, lalu: ganti nama file thrift Anda menjadi {project_root}thrifttargettoolsthrift_0.12.0_0.13.0_linux.exe
; atau, tambahkan perintah Maven: -Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>
.
Anda dapat mengunduh kode sumber dari:
git clone https://github.com/apache/iotdb.git
Cabang dev default adalah cabang master, jika Anda ingin menggunakan versi rilis xxx:
git checkout vx.x.x
Atau checkout ke cabang versi besar, misal cabang 1.0 adalah rel/1.0.
git checkout rel/x.x
Di bawah jalur root iotdb:
> mvn clean package -pl distribution -am -DskipTests
Setelah dibangun, distribusi IoTDB terletak di folder: "distribusi/target".
Di bawah jalur klien iotdb/iotdb:
> mvn clean package -pl cli -am -DskipTests
Setelah dibangun, cli IoTDB terletak di folder "cli/target".
Gunakan -P with-cpp
untuk mengkompilasi klien cpp. (Untuk lebih jelasnya, baca file Readme client-cpp.)
CATATAN: Direktori " thrift/target/generated-sources/thrift
", " thrift-sync/target/generated-sources/thrift
", " thrift-cluster/target/generated-sources/thrift
", " thrift-influxdb/target/generated-sources/thrift
" dan " antlr/target/generated-sources/antlr4
" perlu ditambahkan ke akar sumber untuk menghindari kesalahan kompilasi di IDEnya.
Di IDEA, Anda hanya perlu mengklik kanan pada nama proyek root dan memilih " Maven->Reload Project
" setelah Anda berhasil menjalankan mvn package
.
File konfigurasi berada di bawah folder "conf".
datanode-env.bat
, datanode-env.sh
),iotdb-datanode.properties
)logback.xml
).Untuk informasi lebih lanjut, silakan lihat Manual Konfigurasi.
Anda dapat melalui langkah-langkah berikut untuk menguji instalasi. Jika tidak ada kesalahan yang muncul setelah eksekusi, instalasi selesai.
Pengguna dapat memulai 1C1D IoTDB dengan skrip start-standalone di bawah folder sbin.
# Unix/OS X
> sbin/start-standalone.sh
# Windows
> sbinstart-standalone.bat
IoTDB menawarkan berbagai cara untuk berinteraksi dengan server, di sini kami memperkenalkan langkah-langkah dasar menggunakan alat Cli untuk menyisipkan dan mengkueri data.
Setelah menginstal IoTDB, ada pengguna default 'root', kata sandi defaultnya juga 'root'. Pengguna dapat menggunakan pengguna default ini untuk masuk ke Cli untuk menggunakan IoTDB. Skrip start-up Cli adalah skrip start-cli yang ada di folder sbin. Saat menjalankan skrip, pengguna harus menetapkan IP, PORT, USER_NAME dan PASSWORD. Parameter defaultnya adalah "-h 127.0.0.1 -p 6667 -u root -pw -root".
Berikut adalah perintah untuk memulai 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
CLI baris perintah bersifat interaktif, jadi Anda akan melihat logo selamat datang dan pernyataan jika semuanya sudah siap:
_____ _________ ______ ______
|_ _| | _ _ ||_ _ `.|_ _
| | .--.|_/ | | _| | | `. | |_) |
| | / .'` | | | | | | | __'.
_| |_| __. | _| |_ _| |_.' /_| |__) |
|_____|'.__.' |_____| |______.'|_______/ version x.x.x
IoTDB> login successfully
IoTDB>
Sekarang, mari kita perkenalkan cara membuat deret waktu, memasukkan data, dan menanyakan data.
Data di IoTDB disusun sebagai rangkaian waktu. Setiap rangkaian waktu mencakup beberapa pasangan data-waktu, dan dimiliki oleh database. Sebelum mendefinisikan deret waktu, sebaiknya kita mendefinisikan database menggunakan CREATE DATABASE terlebih dahulu, dan berikut contohnya:
IoTDB> CREATE DATABASE root.ln
Kita juga dapat menggunakan SHOW DATABASES untuk memeriksa database yang sedang dibuat:
IoTDB> SHOW DATABASES
+-------------+
| Database|
+-------------+
| root.ln|
+-------------+
Total line number = 1
Setelah database diatur, kita dapat menggunakan CREATE TIMESERIES untuk membuat deret waktu baru. Saat membuat deret waktu, kita harus menentukan tipe datanya dan skema pengkodeannya. Di sini kami membuat dua rangkaian waktu:
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
Untuk menanyakan deret waktu tertentu, kita dapat menggunakan SHOW TIMESERIES . mewakili lokasi deret waktu. Nilai defaultnya adalah "null", yang menanyakan semua rangkaian waktu di sistem (sama seperti menggunakan "SHOW TIMESERIES root"). Berikut beberapa contohnya:
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
Memasukkan data deret waktu adalah operasi dasar IoTDB, Anda dapat menggunakan perintah 'INSERT' untuk menyelesaikannya. Sebelum menyisipkan, Anda harus menetapkan stempel waktu dan nama jalur akhiran:
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)
Data yang baru saja Anda masukkan akan ditampilkan sebagai berikut:
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
Anda juga dapat menanyakan beberapa data deret waktu menggunakan satu pernyataan 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
Untuk mengubah zona waktu di Cli, Anda dapat menggunakan SQL berikut:
IoTDB> SET time_zone=+08:00
Time zone has set to +08:00
IoTDB> SHOW time_zone
Current time zone: Asia/Shanghai
Tambahkan maka hasil query akan ditampilkan menggunakan zona waktu baru.
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
Perintah untuk keluar dari Cli adalah:
IoTDB> quit
or
IoTDB> exit
Untuk informasi lebih lanjut tentang perintah yang didukung oleh IoTDB SQL, silakan lihat Panduan Pengguna.
Server dapat dihentikan dengan "ctrl-C" atau skrip berikut:
# Unix/OS X
> sbin/stop-standalone.sh
# Windows
> sbinstop-standalone.bat
lihat Penggunaan Alat Impor dan Ekspor CSV
lihat Pertanyaan yang Sering Diajukan saat Menyusun Kode Sumber
tietouqiao
atau liutaohua001
, lalu kami akan mengundang Anda ke grup.lihat Bergabunglah dengan komunitas untuk informasi lebih lanjut!