DUICUO

Tフロントライン | 中国初のトップレベルの大学プロジェクトがApacheプログラムに加わる - Apache IoTDB

近年、人工知能(AI)とモノのインターネット(IoT)の台頭により、ビッグデータは重要な生産手段となり、時系列データは避けられないホットトピックとなっています。時系列データの利用率をどのように向上させるか?複雑なシナリオに対応する信頼性の高いデータベースをどのように提供するか?これらは、業界が解決しなければならない課題です。清華大学が主導する国際的なオープンソースプロジェクトであるApache IoTDBは、IoT時系列データの統合的な収集、保存、クエリ、分析をサポートするデータ管理エンジンです。中国ソフトウェアテストセンターと中国人民大学が実施したパフォーマンスベンチマークテストによると、IoTDBのパフォーマンス指標は、現在利用可能な最高の国際的な時系列データベースシステムを大幅に上回っています。IoTDBは統合された「エッジクラウド」展開をサポートし、ハイエンド機器管理、工場設備、高速接続デバイスなど、さまざまなデータ管理シナリオに適しています。現在、エネルギー・電力、鉄道輸送、車両ネットワークなど、多くの業界で広く利用されています。 IoTDB は、業界が解決する必要のあるすべての課題に直接取り組んでいます。

51CTOは、清華大学ソフトウェア学院のアシスタントリサーチャーであり、Apache IoTDB PMCメンバー、そして最多の累計貢献を誇るチーフコミッターでもある喬佳林博士をお招きできることを光栄に思います。喬氏は、オープンソースデータベースプロジェクトの成長、オープンソースコミュニティのガバナンス、そしてエンタープライズエンパワーメントの加速について、ご自身の見解と洞察を共有していただきます。

Apacheのトップレベルプロジェクトリストに含まれる最初の中国の大学プロジェクト

Q: IoTDBは、中国の大学発のプロジェクトとして初めてApache Foundationに加盟しました。IoTDBがこれほど成功を収めた要因について教えていただけますか?

A: プロジェクトをApacheに組み込むには、主に2つの段階があります。最初の段階は、Apacheインキュベータへの参加を申請することです。

この段階で最も重要なのは、プロジェクトの価値と意義であり、これらはプロジェクト申請提案書で説明する必要があります。Apacheメンバーは、提案書に基づいてプロジェクトの価値を判断します。

プロジェクトの価値を判断する主な基準は、その問題が広範なペインポイント(問題点)であるかどうか、そして社会的価値があるかどうかです。メンバーはプロジェクトの価値を評価するだけでなく、新しいプロジェクトが既存のプロジェクトと重複するかどうかも評価します。Apache Foundationは通常、各分野から1つのプロジェクトをインキュベーション対象として選定します。重複が大きい​​プロジェクトは却下される場合があります。

IoTDBは、主に産業用IoT(IIoT)プロジェクトの管理で発生する問題に対処します。私たちの研究室が初めてIIoTプロジェクトに関わったのは2011年頃で、建設機械から生成されるデータの管理を企業に支援していました。このデータの中で最も量が多かったのは時系列データでした。当時、プロジェクトの実装にはオープンソースシステムをいくつか選択しましたが、これらのシステムはIoTシナリオ向けに設計されていなかったため、読み書き速度や圧縮率などのパフォーマンスのボトルネックが発生しました。最終的に、これらの問題を解決するためにゼロから始めることにしました。そのため、IoTDBのバックグラウンドは非常に実用的であり、解決する問題は現実世界の課題であるため、容易に受け入れられました。

第 2 段階では、プロジェクトを標準化し、インキュベーター内でコミュニティを構築して、トップレベルのプロジェクトとして卒業します。

インキュベーター内のすべてのプロジェクトは「インキュベーター」から始まります。インキュベーションとコミュニティ構築の段階では、プロジェクトのコンプライアンスとコミュニティの発展に重点が置かれます。プロジェクトのコンプライアンスには、コードにApacheライセンス宣言が含まれているかどうか、依存するオープンソースコンポーネントがApacheライセンスと互換性があるかどうか、バージョンリリースがApache仕様に準拠しているかどうかが含まれます。コミュニティの発展には、コミュニティの活動、メーリングリストでの議論の数、外部コミッターとPMCの存在が含まれます。

この点において、IoTDBは常にオープンソースコミュニティの構築を目指してきました。コミュニティ構築のためのKPIは設定しておらず、コミュニティの成長と発展を誰もが自発的に願っています。コミュニティは外部からの貢献者を歓迎しており、IoTDBは毎年新入生を迎える大学の研究室からスタートしたため、既存の貢献者と新規参加者をつなぐコミュニティメンターシッププログラムを導入しています。さらに、コミュニティ構築と開発プロセスには、新規参加者が開始して学習するのに役立つ詳細なドキュメントの作成が含まれます。

Q: 大学主導のオープンソースプロジェクトは、他の組織や個人が主導するプロジェクトとどのように異なりますか? 大学主導のオープンソースプロジェクトは、高い活動レベルと安定したコミュニティ参加を維持するために、どのような点に重点を置くべきでしょうか?

A: 大学が立ち上げたオープンソースプロジェクトには、専任のコミュニティ運営スタッフがいないのが一般的です。コミュニティは主に開発者や学生によって運営されています。開発者はユーザーと直接交流し、製品の品質をより直接的に理解しています。大学はスタッフの頻繁な離職という問題にも直面しています。大学院生は通常2年間の活動で卒業しますが、学生のコミュニティへの参加は、授業、課題、試験、インターンシップなど、時間とエネルギーを必要とする他の活動があるため、パートタイムであることが多いのです。

しかし、これはある程度、オープンソースコミュニティの活動スタイルと合致しています。オープンソースコミュニティでは、誰もが余暇に参加し、ドキュメントやメールを通じたコミュニケーションがさらに重要になります。こうした特徴を踏まえ、オープンソースプロジェクトを開発する大学は、コミュニティとの交流とアイデアや設計コンセプトの同期に細心の注意を払う必要があります。同時に、コミュニティ内でのプロジェクトのプロモーションを重視することも不可欠です。学生は熱心に作業することを好む傾向があり、優れたプロジェクトを数多く生み出すかもしれませんが、プロモーションが不十分だと、社会への認知度が限られてしまう可能性があります。

トッププロジェクト化後のプロジェクト運営の反省

Q: IoTDB が世界トップクラスのオープンソース プロジェクトに成長する前と後で、プロジェクトの貢献者やコミュニティ ユーザーにどのような良い変化がありましたか? プロジェクトの運用モデルに何か変化はありましたか?

A: オープンソースコミュニティの発展と変化は一夜にして起こるものではなく、むしろ日々変化しています。プロジェクトの運営形態の変化は、主にApache Foundationに参加してから始まりました。以前は、数人のクラスメートと議論してから作業を開始するのが一般的でした。

Apacheに参加してからは、すべての議論が文書化され、コミュニティに投稿されます。全員が納得すれば、修正が行われます。以前はプロモーションに力を入れておらず、プロジェクトの存在はラボのメンバーにしか知られていませんでした。Apacheに参加してからは、ミートアップを開催し、プロジェクト専用のWeChat公式アカウントを運用し、WeChatグループ、QQグループ、Slackを作成しました。B2Bプロジェクトであるため、ユーザーはトップクラスのプロジェクトかどうか、受賞歴があるかどうかで私たちを選ぶことはありません。むしろ、実際の環境でテストを行い、ソフトウェアがニーズを満たしていることを確認するため、選定プロセスははるかに合理的になっています

貢献者にも同様のことが当てはまります。多くの貢献者自身もユーザーであり、Apacheのトップレベルプロジェクトが彼らに試してみようという動機を与えるかもしれません。評価後、多くのユーザーや企業が研究開発リソースを投入し、コミュニティにフルタイムで参加するようになります。コミュニティのワーキングモデルも、組織主導からコミュニティによる共同構築へと変化し、コミュニティは大規模な組織へと変化しました。

実用性が最も重要であり、安定性が最優先です。

Q: データベースプロジェクトにおいて、パフォーマンス、安定性、保守性のどれがより重要だとお考えですか? 時系列データベースにおいて特に注目すべき点は何でしょうか?

A:安定性が最も重要な要素であり、次に保守性、そしてパフォーマンスが続きます

産業現場ではシステムの安定性に対する要求が極めて高いです。安定性とは、初期テストと検証を経て、本番稼働後のパフォーマンスが以前のテスト結果と一貫していることを意味します。これにより、誰もが納得し、大きな問題が発生することはありません。

保守性も安定性の保証となります。システム設計の過程で、運用・保守に配慮した多くの機能を追加しました。

次にパフォーマンスです。平均的なパフォーマンスでも構いませんし、最悪の場合でも、計画時にハードウェアを追加することも可能です。しかし、パフォーマンスは予測可能でなければなりません。予測可能でなければ、継続することはできません。

時系列データベースは通常、工場や設備などの機器で運用されますが、インターネットベースの環境ほど堅牢なハードウェアやネットワーク環境ではありません。さらに、データ負荷ははるかに重く複雑であり、ネットワークの変動やデータ品質の問題といった要因を慎重に考慮する必要があります。

Q: InfluxDB、OpenTSDB、TDEngineなど、人気のオープンソース時系列データベースは数多くあります。IoTDBのメリットは何だとお考えですか?

A: IoTDB の利点は主に 2 つの側面に反映されます。

まず、私たちには技術的な優位性があります。IoT分野への参入は比較的早く、プロジェクトの実施中に課題を発見しました。そのため、私たちの設計はIoTシナリオのニーズにより適しており、対象シナリオもより幅広く、システムに様々な制限を加えることなく実現しています。さらに、このプロジェクトは清華大学発祥であり、同大学は今後も科学研究とイノベーションを推進していく予定です。

第二に、コミュニティの強みがあります。Apache Foundationの指導の下、よりオープンなコミュニティを構築し、インターネット企業の時系列データベース部門の開発者を多く迎え入れています。私たちは定期的に緊密な議論と共有を行い、非常にポジティブなコミュニティの雰囲気を作り出し、より多くの参加を促しています。長期的には、このコミュニティの強みは、基盤ソフトウェア開発の持続的な原動力となるでしょう

モノのインターネットデータモデル

Q: IoTDBは、風力発電、建設機械、気象ビッグデータプラットフォームなど、多くの産業分野で活用されています。発電所を例に挙げると、IoTDBは企業のデータ管理にどのように役立つのでしょうか?

A: 当社では独自の時系列データファイル形式「TsFile」を開発しました。TsFileはIoTデータモデルを採用しており、データの整理とインデックス作成の面で、時系列データにとってより使いやすく効率的な形式となっています。

さらに、データベース エンジンの読み取りおよび書き込みプロセスを最適化し、データを列形式で整理して処理し、クエリに対してさまざまな粒度で事前に集計された情報とキャッシュを設計することで、データ クエリの効率を大幅に向上できます。

発電所の場合、大型発電機ユニットには数万もの計測点が存在します。従来のリレーショナルデータベースでは、これらすべての計測点を単一のテーブルに格納することはできません。テーブルに格納できる計測点は通常1,000点強に過ぎず、手動でテーブルを分割するとさらに複雑になります。しかし、IoTDBのIoTデータモデルは、安定したパフォーマンスを維持しながら、任意の数の計測点をサポートできます。クエリ実行時には、マルチレベルインデックスによってシーケンスとデータの検索が高速化されます。

海外プロジェクトにおけるコンポーネント選定では、どのような点を考慮すべきでしょうか?

Q: IoTDBはドイツや米国でも推進・活用されています。IoTDBのような製品の導入・活用を検討しているこれらの海外企業のニーズや優先事項はそれぞれどのようなものでしょうか?

A:シーメンスやボッシュといった海外のユーザーは、製品選定において非常に厳格なテストを実施する老舗産業企業です。例えば、IoTDBの採用を決定する際には、まず米国のPIシステム、エマーソンのDelta V、ABB、Aspenなど15種類の従来型リアルタイムデータベースの技術・製品状況を調査した上で、IoTDBとこれらのデータベースを徹底的に比較検討します。

さらに、DBエンジン上で20以上の時系列データベースを簡単に比較し、その中からいくつかをテスト対象として選定しました。IoTDBの採用を決定する前に、当社のテスト結果だけでなく、PIやSQL Serverなど他のユーザーのテスト結果も収集し、比較検討しました。

つまり、彼らは製品選定において非常に厳格であり、類似のポジショニングを持つ製品に重点を置きます。試験においては、単に製品に過度の負荷をかけるのではなく、自社の実負荷または類似の実負荷を使用し、さらに負荷を増大させることを好みます。後者のタイプの試験は実際には行われておらず、製品ラインにとってほとんど意味がないためです

さらに、外資系企業はプロジェクトの国際化を非常に重視しています。国際化はコミュニティ全体の健全性に関わる要素だからです。国内コミュニティの評価を人為的に高く評価するような行為は、必ずしも海外ユーザーから高い評価を得ることにはなりません。外資系企業は、コミュニティのメンテナーが同じ組織に属しているかどうか、プロジェクトマネージャーが複数の国から来ているかどうかなど、コミュニティの参加者も重視します。

オープンソースデータベースの将来予測

Q: IoTDB プロジェクトの最新の開発状況を教えてください。

A: Apache IoTDBは比較的速いペースで開発が進められています。製品レベルでは、4月にバージョン0.13をリリースし、単項および多変数シーケンスのサポート、トリガーなどの機能のサポート、継続的クエリとネストされた式のサポート、データ書き込みプロセスの最適化とシステムファイルマージのパフォーマンス向上、外部システムとの互換性の拡張、GrafanaプラグインやREST APIなどの追加を行いました。現在は分散版の最適化に注力しており、8月までに提供開始予定です。

Q: 近年、オープンソースデータベース、特に国産データベースの人気が高まっています。この現象についてどのようにお考えですか?また、今後の発展の方向性についてお聞かせください。

A:オープンソースデータベースは、中国におけるデータベース人材の育成を促進する上で大きな役割を果たしています。大学ではデータベースに関する知識を教えていますが、そのほとんどはSQLの使い方を紹介するだけです。人々はデータベースの構築方法を理解していません

オープンソースプロジェクトへの参加は、誰もがデータベース開発プロセスを実際に体験することを可能にし、中国における基礎ソフトウェア人材の育成に貢献しています。近年登場した時系列データベースやグラフデータベースなど、今後は新しいタイプのデータベースが次々と登場する可能性があります。また、データベースはより専門化され、特定分野に特化していくでしょう。さらに、データベースとAI、アナリティクスシステム、ストリーム処理システムの統合は、新たな発展の方向性を示しています。

Q: 現在オープンソース データベースに取り組んでいる開発者や、IoTDB に参加しようとしている開発者にアドバイスをいただけますか?

A: オープンソースデータベースは近年かなり人気が高まっていますが、データベースは非常に複雑なシステムソフトウェアであり、学習曲線も急峻です。オープンソースデータベース開発への参加は、1~2週間で成果が得られるとは限りません。データベースの基本的な概念と使い方を理解し、システムアーキテクチャと設計原則を把握し、最終的に掘り下げて最適化すべき領域を見つける必要があります。このプロセスは非常に長いため、皆さんが粘り強く取り組んでいただけることを願っています。その過程で、皆さん自身も成長していくでしょう。

ゲスト紹介

喬佳林は清華大学ソフトウェア学院で博士号を取得しており、現在は同大学ポスドク研究員、研究助手、Apache IoTDB PMCメンバー、WeChatパブリックアカウント「鉄頭橋」の作者、Open Atom Foundationのシルバーレベル講師、北京科学技術進歩賞(一等賞)受賞者を務めています。彼の研究は、ファイル構造、インデックス、レプリカ管理など、データベースに焦点を当てています。IoTDBの最初のリリースからApacheのトップレベルプロジェクトになるまでの開発プロセス全体を目の当たりにしてきました。

51CTOの月刊テクニカルニュースレター「CTO Insights」の最新号がついに公開されました!より深い洞察に満ちた技術コンテンツと知識をご覧ください。ダウンロードリンク: https://www..com/journalDetail/5.html?down=3