😀

ゼロ戦なみの時系列データベースの要求仕様書

2023/04/27に公開

参考 ゼロ戦なみの製品をつくるために

用途

エラー探求のために行われる時刻によるビッグデータの全件走査において、他の時系列データベースより、どのカラム選択の組み合わせにおいても、高速であること。データ・フォーマットは、今後十分にCSVの代替になる。特徴は、10万カラム対応、すべてのカラムにインデックスがつくことがデフォルト、そのファイルサイズはZIPで圧縮された同等のCSVファイルと同等とする。

対応項目

全件走査の帯域効率は8割以上

時刻の全件走査(実際は、期間ごとのデータ取得)において、他の時系列データベースより高速であることの当然の帰結として、帯域効率は、時刻については、8割以上が必要となる。

複数回の全件走査は、可能な限り高速化する。

レイテンシがある、もしくは、遅い記憶媒体から、レイテンシが少なく、速い記憶媒体にデータを移動し、複数回の全件走査の処理時間全体を可能な限り少なくする。

全件捜査のためのデータアクセスによる遅延(レイテンシ)の累積は、ほぼ2回以内

非同期を最大限活用可能なデータフォーマットであること

データは、ローカルだけでなく、web上やネットワーク上に配置可能で十分に実用的

全件捜査の帯域効率は8割以上で、遅延(レイテンシ)の累積は、ほぼ2回以内のために、当然の帰結としてhttp プロトコルでも十分に実用的であること

ディスクキャッシュで複数回の全件捜査の場合、更に高速化可能

ディスク(SSD)キャッシュが容量的に現実的な場合には、単純で再利用が高速なキャシュが可能。

インデクスは再構築不要で複数ファイルを横断して適用可能

インデクスは、通常、ファイル横断での適用には、インデックスの再構築が必要になる。データフォーマットはインデックスの再構築不要でインデックスが複数ファイルを横断できる。

エンジンのコア部分のフットプリントは、20MB程度で、言語別移植が容易

データ・タイプを単純化するデータフォーマットを採用し、エンジンのコア部分を単純化する

エンジンのコア部分は、低性能のCPU対応かつ低消費電力にチューニング可能

単純なエンジン構造を持ち、低消費電力が実現可能

さらなる高速化に機械語対応が容易

バイナリーデータを直接扱う仕組みなので、CPU別の機械語対応が容易で一層の高速化が期待できる。

低消費電力のためFPGA 対応可能

フォーマットをFPGA用対応することにより、エンジンのFPGA化が可能

キャッシュ有効活用可能

データフォーマットは、本質的にキャッシュ有効活用に最適化されおり、エンジンは単純な機能だけでキャッシュ活用が可能

ジョイン、リサンプリングによるデータマージなどが圧倒的高速

キャッシュ有効活用するために超高速。さらに遅延(レイテンシ)が累積する他のシステムに対して圧倒的に高速であること

準リアルタイム可能

データの受信単位を少なくとり、インデックス付与時間を短くすることが可能になる。さらにファイルが分割されていても、インデックス再構築不要なので、準リアルタイム可能。

可変長など複雑なデータ構造に対応可能

時系列ビッグデータの高速検索に適しているデータ・フォーマットであるが、データ間の関連性を適切に付与することで、可変長をはじめとする複雑な構造も実装可能

スパースなデータ構造にも対応可能

複雑なデータ構造に対応可能の応用としてスパースなデータ構造にも、対応可能

1Kbpsのように狭い帯域にも応用可能

複雑な構造のデータにも柔軟に対応可能なので、帯域が、1kbps と非常に狭い帯域でも、受信側に大容量のデータを事前におくことにより、複雑な指示の代替となるより少ないデータ量での送信が可能

低コストで導入可能

NASのように低性能でも十分に実用的のため、ストレージコストが高価なクラウドと比較して極めて低価格で導入可能。エラー探求にはコストをかけたくないのが通常のため、低価格は非常に魅力的になる。(例) 8TB として低速なS3で、ハード初期費用は3ヶ月でクラウドに比較して償却可能

Discussion