このプロジェクトについて
TDengineは、Internet of Things、コネクテッドカー、産業用IoTのワークロードを対象としたオープンソースの時系列データベース(TSDB)である。標榜する目標は、多数のセンサーやコレクターが生み出す大量データのリアルタイムな取り込み、処理、分析であり、多くの収集ポイントをカバーする高多次元展開をサポートするとリポジトリに記されている。
プロジェクトが挙げる設計の特徴には、シャーディングとパーティショニングを備えた分散型クラウドネイティブアーキテクチャ、コンピューティングとストレージの分離、RAFTベースレプリケーション、Kubernetesデプロイメント対応、およびオブザバビリティ統合が含まれる。キャッシュ、ストリーム処理、サブスクリプションのために別々のコンポーネントを必要とせず、TDengineはそれらの機能をデータベース内にバンドルしている。TDgptという名前のAIコンポーネントが追加されており、予測、異常検出、補間、分類などの時系列タスクに対応し、時系列ファウンデーションモデル、大規模言語モデル、機械学習モデル、従来のアルゴリズムに接続できる。
ユーザー向けドキュメント、システムデザイン、アーキテクチャに関する資料はプロジェクトのドキュメントサイト上にあり、デプロイメントオプションとしてはコンテナ、インストールパッケージ、Kubernetes、またはホスト型クラウドサービスがカバーされている。リポジトリのREADMEは、ソースからTDengineをビルド、テスト、リリース、パッケージ化したい開発者向けに書かれている。
ビルドの前提条件:Linux(Ubuntu 18.04+、CentOS 7+)、macOS 10.15+、および限定的なWindows対応。x86_64またはARM64上にて、推奨環境はRAM約4GB、空きディスク容量2GB。ツールにはC/C++ツールチェーン、CMake 3.21以降、gitが必要。テストフレームワークにPython 3、taosAdapterやtaosKeeperなどのコンポーネントにGo 1.23+がそれぞれ任意で必要。また、taos-genコンポーネントにはccacheとConan 2.xが任意で要求される。
ビルドはCMakeによるアウトオ브ツリーで行う。初回ビルドでは-DBUILD_CONTRIB=ONを有効にして、xxhash、zstd、lz4などの外部依存関係をフェッチし.comexternals/にコンパイルする。2回目以降のビルドはその成果物を再利用する。典型的な手順は、リポジトリをクローンし、debugディレクトリを作成し、cmakeを実行してからmakeを行うものである。CLIツール付きのリリースビルドには-DCMAKE_BUILD_TYPE=Releaseおよび-DBUILD_TOOLS=ONを使用する。
READMEにはデフォルト値を含む広範なオプション表が文書されており、BUILD_TEST、BUILD_TOOLS、BUILD_SANITIZER、BUILD_COVERAGE、BUILD_JEMALLOC、BUILD_WEBSOCKET、BUILD_WITH_UDF、BUILD_GEOS、RUST_BINDINGS、ストレージエンジン選択(LevelDB、RocksDB、SQLite、Berkeley DB)、圧縮オプション(LZ4、LZMA2、TSZ)、クラウドオブジェクトオプション(S3、COS)など、多数が掲載されている。ビルド成果物はdebug/build/bin(taosdサーバーデーモン、taos CLIクライアント、BUILD_TOOLS=ON时有効なtaosBenchmarkベンチマークツールおよびtaosdumpインポート/エクスポートツールなど)およびdebug/build/lib(Linuxにおけるlibtaos.soなど)に配置される。
テストには2つのレイヤーがある。googletestでビルドされctestを通じて実行されるユニットテストと、tests/配下にあるPythonベースの統合テストフレームワークである。テストサーバーは生成された構成で起動され、個々のシステムテストはスクリプトによって実行される。カバレッジレポートはlcovベースのスクリプトを使用してローカルで生成でき、プロジェクトは公開カバレッジダッシュボードへのリンクを提供している。
パッケージングはsource/taos-community/packaging/pack_community_tar.shによって行われ、taosd、taos、taosBenchmark、taosdump、taosudf、libtaos.so、libtaosnative.so、ヘッダー、Cの例、インストールスクリプトを含むコミュニティ版tarボールを組み立てる。taoskeeper、taos-explorer、taosx、コネクター、taosinspectなど、他のリポジトリに存在するか別個のビルドフローを必要とするコンポーネントは明示的に含まれない。このスクリプトはビルドディレクトリ、バージョン番号、互換バージョン、リリース安定性に対するフラグを受け取り、サーバー用とクライアント用の別々のアーカイブとしてsource/taos-community/release/に出力を写出す。
インストールは、公式インストーラtarボールから抽出してinstall.shを実行するか、ローカルソースビルドから直接make installによって行える。ビルドツリー内でローカル実行する場合は、構成ディレクトリを指定してtaosdを起動し、別のシェルでtaos CLIにて接続する。パッケージ化インストール後、サーバーはsystemctlを介して起動され、taosクライアントが接続に使用される。
プロジェクトはビルドチェック用GitHub Actionsワークフローを公開し、貢献者向けにコントリビューションガイドラインを示している。Discord、Stack Overflow、ソーシャルプラットフォーム上のコミュニティチャンネルも提供し、ホスト型クラウドサービスへのリンクを掲載している。TDengineはGNU Affero General Public License 3.0の下でライセンスされており、クラスター機能を含むコアモジュールおよびAIエージェントはオープンソースライセンスの下で利用可能であるとされている。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.