Open3
ゼロ戦なみの時系列データベースの実装
実装の基本
- 参考 ゼロ戦なみの時系列データベースの要求仕様書
- 理論的にもっとも処理速語が速いソフトウエアは機械語で最適化された場合のはず
- 機械語の実装に高級言語のプログラムをできるだけ近くする。
ソート済み固定長
速い記憶媒体に最高の帯域効率で移動(ブロック転送)
演算処理はできるだけ速い記憶媒体(レジスタが理想)
ソート済み固定長
データ構造
- ヘッダー 本体 フッター
- フッターは証明書格納
- ヘッダー、本体は証明書の対象
- ヘッダーにはフッターの開始位置のみ記載
- 本体は、複数のデータを格納する
- データ間の関連もデータ(複数あり)で表現 めちゃくちゃ難しい
- CSV から読み込みがとりあえず、現実的
- CSV もバイナリーとして読み込むが速いと予想
テーブル前提
- テーブルでない構造のデータを無理やりテーブルにするのはかなり困難
論理的等価変換
- 変換可能ができるといいかも、物理的変換可能は難しい
速い記憶媒体に最高の帯域効率で移動(ブロック転送)
- ディスク上の論理的記憶番地をメモリ上の物理的記憶番地(ページ内)に転送、展開できるか?
- mmap は、無駄なオーバーヘッドを省略できるか?