TDengine - TDengineは、モノのインターネット(IoT)、コネクテッドカー、産業用IoT、DevOps向けに最適化された、オープンソースの高性能クラウドネイティブ時系列データベースです。

(TDengine is an open source, high-performance, cloud native time-series database optimized for Internet of Things (IoT), Connected Cars, Industrial IoT and DevOps.)

Created at: 2019-07-11 16:33:48
Language: C
License: AGPL-3.0

TDエンジン

ビルドステータス ビルドの状態 カバレッジステータス CIIのベストプラクティス

英語|简体中文|TDエンジンクラウド|TSDBについてさらに詳しく

TDエンジンとは何ですか?

TDengineは、モノのインターネット(IoT)、コネクテッドカー、産業用IoT向けに最適化された、オープンソースの高性能クラウドネイティブ時系列データベースです。これにより、数十億のセンサーやデータコレクタによって生成されたTBおよびPBスケールのデータを1日あたり効率的にリアルタイムで取得、処理、および監視できます。TDengine は、他の時系列データベースとの差別化を図るため、次のような利点があります。

  • 高パフォーマンス: TDengine は、カーディナリティの高い問題を解決し、データの取り込み、クエリ、データ圧縮のために他の時系列データベースを実行しながら、数十億のデータ収集ポイントをサポートする唯一の時系列データベースです。

  • 簡素化されたソリューション: TDengineは、組み込みのキャッシュ、ストリーム処理、およびデータサブスクリプション機能を通じて、時系列データ処理の簡素化されたソリューションを提供します。これにより、システム設計の複雑さと運用コストが大幅に削減されます。

  • クラウドネイティブ:ネイティブ分散設計、シャーディングとパーティショニング、コンピューティングとストレージの分離、RAFT、kubernetesデプロイメントのサポート、完全な可観測性により、TDengineはクラウドネイティブの時系列データベースであり、パブリック、プライベート、またはハイブリッドクラウドにデプロイできます。

  • 使いやすさ: 管理者にとって、TDengine は展開と保守の労力を大幅に削減します。開発者向けには、シンプルなインターフェイス、簡素化されたソリューション、サードパーティツールのシームレスな統合を提供します。データユーザーにとっては、データに簡単にアクセスできます。

  • 簡単なデータ分析: TDengineは、スーパーテーブル、ストレージとコンピューティングの分離、時間間隔によるデータのパーティション分割、事前計算などの手段を通じて、非常に効率的な方法でデータの探索、フォーマット、アクセスを容易にします。

  • オープンソース: TDengineのコアモジュールは、クラスタ機能も含めて、すべてオープンソースライセンスで利用可能です。GitHubで19.9kの星を集めています。活発な開発者コミュニティがあり、世界中で139kを超えるインスタンスが実行されています。

TDengineの競争上の優位性の完全なリストについては、こちらをご覧ください。TDengineを体験する最も簡単な方法は、TDengineクラウドを使用することです。

ドキュメンテーション

ユーザーマニュアル、システム設計、アーキテクチャについては、TDengineのドキュメント(TDengine文档)

建物

現時点では、TDengine サーバは Linux/Windows/macOS システムでの実行をサポートしています。どのアプリケーションでも、taosAdapter によって提供される RESTful インターフェイスを選択して、taosd サービスに接続することもできます。TDengineはX64/ARM64 CPUをサポートしており、将来的にはMIPS64、Alpha64、ARM32、RISC-V、その他のCPUアーキテクチャをサポートする予定です。

ソースコード、コンテナインストールパッケージ、またはKubernetesを使用してインストールすることを選択できます。このクイックガイドは、ソースからのインストールにのみ適用されます。

TDengineは、taosBenchmark(taosdemoという名前でした)やtaosdumpなどの便利なツールをいくつか提供しています。彼らはTDエンジンの一部でした。デフォルトでは、TDengine のコンパイルには taosTools は含まれていません。TDengineでコンパイルすることができます。

cmake .. -DBUILD_TOOLS=true

TDengine をビルドするには、プロジェクト ディレクトリでCMake3.0.2 以降のバージョンを使用します。

ビルドツールのインストール

Ubuntu 18.04以降またはDebianの

sudo apt-get install -y gcc cmake build-essential git libssl-dev

taosTools のビルド依存関係をインストールする

Ubuntu/Debian でtaosToolsをビルドするには、以下のパッケージをインストールする必要があります。

sudo apt install build-essential libjansson-dev libsnappy-dev liblzma-dev libz-dev pkg-config

セントOS 7.9

sudo yum install epel-release
sudo yum update
sudo yum install -y gcc gcc-c++ make cmake3 git openssl-devel
sudo ln -sf /usr/bin/cmake3 /usr/bin/cmake

CentOS 8 & Fedora

sudo dnf install -y gcc gcc-c++ make cmake epel-release git openssl-devel

taosTools のビルド依存関係を CentOS にインストールする

セントOS 7.9

sudo yum install -y zlib-devel xz-devel snappy-devel jansson jansson-devel pkgconfig libatomic libstdc++-static openssl-devel

CentOS 8/Rocky Linux

sudo yum install -y epel-release
sudo yum install -y dnf-plugins-core
sudo yum config-manager --set-enabled powertools
sudo yum install -y zlib-devel xz-devel snappy-devel jansson jansson-devel pkgconfig libatomic libstdc++-static openssl-devel

注意: snappy には pkg-config のサポートがないため (リンクを参照)、libsnappy が見つからないというプロンプトが表示されます。しかし、きびきびとしたものはまだうまく機能します。

PowerTools のインストールに失敗した場合は、次のものを使用してみてください。

sudo yum config-manager --set-enabled powertools

マック

brew install argp-standalone pkgconfig

ゴラン環境のセットアップ

TDengineには、Go言語によって開発されたtaosAdapterのようないくつかのコンポーネントが含まれています。golang環境のセットアップについては golang.org 公式ドキュメントを参照してください。

バージョン1.14+を使用してください。中国のユーザーには、プロキシを使用してパッケージのダウンロードを高速化することをお勧めします。

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

デフォルトでは taosAdapter はビルドされませんが、次のコマンドを使用して taosAdapter を RESTful インターフェイスのサービスとしてビルドできます。

cmake .. -DBUILD_HTTP=false

錆環境のセットアップ

TDengineには、Rust言語によって開発されたいくつかのコンポーネントが含まれています。錆環境のセットアップについては rust-lang.org 公式ドキュメントを参照してください。

ソースコードを入手する

まず、githubからソースコードを複製できます。

git clone https://github.com/taosdata/TDengine.git
cd TDengine

ダウンロード速度を向上させるために、httpsの代わりにsshプロトコルを使用するようにファイル~/.gitconfigを変更できます。最初に ssh 公開鍵を GitHub にアップロードする必要があります。詳細については、GitHub の公式ドキュメントを参照してください。

[url "git@github.com:"]
    insteadOf = https://github.com/

特記事項

JDBC Connector、Go Connector、Python Connector、Node.js Connector、C# Connector、Rust ConnectorGrafana プラグインはスタンドアロンリポジトリに移動されました。

TDエンジンを構築する

Linux プラットフォームの場合

bashスクリプトを実行して、TDエンジンとtaosの両方をビルドできます以下のようにtaosBenchmarkとtaosdumpを含むツール:

build.sh

./build.sh

これは、次のコマンドの実行に相当します。

mkdir debug
cd debug
cmake .. -DBUILD_TOOLS=true
make

glibcの代わりにJemallocをメモリアロケータとして使用できます。

apt install autoconf
cmake .. -DJEMALLOC_ENABLED=true

TDengine ビルドスクリプトは、X86-64、X86、arm64 プラットフォーム上のホストマシンのアーキテクチャを検出できます。 検出結果が正しくない場合は、aarch64のようなCPUTYPEオプションを指定することもできます。

aarch64:

cmake .. -DCPUTYPE=aarch64 && cmake --build .

Windows プラットフォームの場合

Visual Studio 2013 を使用している場合は、"cmd.exe" を実行してコマンド ウィンドウを開いてください。 vcvarsall.batを実行する場合は、64 ビット ウィンドウの場合は "amd64" を指定し、32 ビット ウィンドウの場合は "x86" を指定してください。

mkdir debug && cd debug
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" < amd64 | x86 >
cmake .. -G "NMake Makefiles"
nmake

Visual Studio 2019 または 2017 を使用する場合:

「cmd.exe」を実行してコマンドウィンドウを開いてください。 vcvarsall.batを実行する場合は、64ビットWindowsの場合は「x64」を指定し、32ビットWindowsの場合は「x86」を指定してください。

mkdir debug && cd debug
"c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" < x64 | x86 >
cmake .. -G "NMake Makefiles"
nmake

または、[Windowsのスタート]-[> "Visual Studio < 2019 |をクリックして、コマンド ウィンドウを開くことができます。2017 >" フォルダー -> "x64 ネイティブ ツール VS < 2019 | のコマンドプロンプト2017 >" または "x86 ネイティブ ツールのコマンド プロンプト VS < 2019 |2017 >」は、Windowsのアーキテクチャに依存し、次のようにコマンドを実行します。

mkdir debug && cd debug
cmake .. -G "NMake Makefiles"
nmake

macOS プラットフォームの場合

XCode コマンドラインツールと cmake をインストールしてください。カタリナとビッグサーのXCode 11.4+で検証済み。

mkdir debug && cd debug
cmake .. && cmake --build .

装着

Linux プラットフォームの場合

正常にビルドした後、TDengineは次の方法でインストールできます。

sudo make install

ユーザーは、システムにインストールされているディレクトリの詳細については、「ディレクトリとファイル」セクションを参照してください。

ソース コードからインストールすると、TDengine のサービス管理も構成されます。ユーザーは、そのパッケージからインストールすることもできます。

インストール後にサービスを開始するには、ターミナルで次のコマンドを使用します。

sudo systemctl start taosd

その後、ユーザーは TD エンジン CLI を使用して TD エンジンサーバーに接続できます。ターミナルでは、次を使用します。

taos

TDengine CLI がサーバーに正常に接続すると、ウェルカムメッセージとバージョン情報が出力されます。それ以外の場合は、エラーメッセージが表示されます。

Windows プラットフォームの場合

ビルドが正常に完了したら、次の方法で TDengine をインストールできます。

nmake install

macOS プラットフォームの場合

ビルドが正常に完了したら、次の方法で TDengine をインストールできます。

sudo make install

ユーザーは、システムにインストールされているディレクトリの詳細については、「ディレクトリとファイル」セクションを参照してください。

ソース コードからインストールすると、TDengine のサービス管理も構成されます。ユーザーは、そのパッケージからインストールすることもできます。

インストール後にサービスを開始するには、/applications/TDengine をダブルクリックしてプログラムを起動するか、ターミナルで次のコマンドを使用します。

launchctl start com.tdengine.taosd

その後、ユーザーは TD エンジン CLI を使用して TD エンジンサーバーに接続できます。ターミナルでは、次を使用します。

taos

TDengine CLI がサーバーに正常に接続すると、ウェルカムメッセージとバージョン情報が出力されます。それ以外の場合は、エラーメッセージが表示されます。

クイック実行

If you don't want to run TDengine as a service, you can run it in current shell. For example, to quickly start a TDengine server after building, run the command below in terminal: (We take Linux as an example, command on Windows will be

taosd.exe
)

./build/bin/taosd -c test/cfg

In another terminal, use the TDengine CLI to connect the server:

./build/bin/taos -c test/cfg

option "-c test/cfg" specifies the system configuration file directory.

Try TDengine

It is easy to run SQL commands from TDengine CLI which is the same as other SQL databases.

CREATE DATABASE demo;
USE demo;
CREATE TABLE t (ts TIMESTAMP, speed INT);
INSERT INTO t VALUES('2019-07-15 00:00:00', 10);
INSERT INTO t VALUES('2019-07-15 01:00:00', 20);
SELECT * FROM t;
          ts          |   speed   |
===================================
 19-07-15 00:00:00.000|         10|
 19-07-15 01:00:00.000|         20|
Query OK, 2 row(s) in set (0.001700s)

Developing with TDengine

Official Connectors

TDengineは、ユーザーがTDengine上で開発するための豊富な開発ツールを提供します。以下のリンクに従って、目的のコネクタと関連ドキュメントを見つけてください。

TDエンジンに貢献する

プロジェクトに貢献するには、貢献ガイドラインに従ってください。

TDengine コミュニティに参加する

TDengineの詳細については、ソーシャルメディアでフォローし、Discordサーバーに参加してください。