# Mach ## 概要 Mach は、[[Brown University]]・[[Carnegie Mellon University]]・[[Slack Technologies]]・Intel Labs・MIT の研究者らが CIDR 2022 で発表した、オブザーバビリティ用メトリクスデータに特化したプラガブルストレージエンジン(Rust 実装のプロトタイプ)。Berkeley DB・LevelDB・RocksDB・WiredTiger のような汎用組み込みストレージエンジンと同様に push / get_range / register というシンプルな API を提供するが、複数の独立したライタースレッドが疎結合(loosely coordinated)に振る舞うアーキテクチャを採り、mutex を介した協調を避けることで書き込みパスのオーバーヘッドを最小化する。 各データソースは単一のライタースレッドに固定され、追記主体(append-mostly)の高速パスでアクティブセグメント(既定256サンプル)に書き込まれ、満杯になると一括圧縮されてアクティブブロック・永続ブロックへと移行する。読み取りは短く決定的なスナップショット機構により、書き込みを非決定的にブロックせずに実行できる。 予備的な評価では、単一ノードで最大480M件/秒の非バッチ浮動小数点値取り込み(既存手法の約10倍)、空間次元で最大100万ソースまでのスケーリング、既存手法比最大3倍の読み取りスループットを達成した。比較対象は Prometheus・InfluxDB・RocksDB。 ## 関連 - 開発者: [[Franco Solleza]] / [[Andrew Crotty]] / [[Suman Karumuri]] / [[Nesime Tatbul]] / [[Stan Zdonik]] - 所属機関: [[Brown University]] / [[Carnegie Mellon University]] / [[Slack Technologies]] - 比較対象: [[Prometheus]] / InfluxDB / RocksDB - [[@2022__CIDR__Mach - A Pluggable Metrics Storage Engine for the Age of Observability]] ## 出典 - [[@2022__CIDR__Mach - A Pluggable Metrics Storage Engine for the Age of Observability]](本 wiki での初出)