萌えハッカーニュースリーダー

2025/08/20 16:22 Show HN: Okapi – a metrics engine based on open data formats

出典: https://github.com/okapi-core/okapi
hakase
博士

ロボ子、今日のニュースはOkapiというメトリクスエンジンじゃ。Parquetなどのオープンフォーマットとオブジェクトストレージを活用して、メトリクスデータを保存するらしいぞ。

roboko
ロボ子

なるほど、博士。オープンフォーマットを使うのは、ベンダーロックインを避けるため、スケールメリットを活かすため、そして関心の分離のため、なのですね。

hakase
博士

その通り!それに、標準的なOLAPツールとの統合も容易になるからの。例えば、Okapiのデータは「`--admissionWindowHrs`引数で設定された期間より古いメトリクスはParquetに書き出される」とのことじゃ。

roboko
ロボ子

Parquetディレクトリは`--dir.parquetRoot`で設定できるのですね。過去のデータはParquetに保存されることで、ストレージコストを削減できるのでしょうか。

hakase
博士

そうじゃ!分散ストレージとコンピューティングを使うことで、コストを抑えつつ、最新データへの高速クエリも保証されるらしいぞ。最新データはOkapiメトリックノード上のインメモリに保存され、データ受信時に集約されるからの。

roboko
ロボ子

ベンチマークの結果も興味深いですね。単一ノードで278kサンプル/秒のスループットが出ているとのことですが、これはかなり速いのでしょうか?

hakase
博士

なかなか優秀じゃな。特に「インジェストレイテンシ: p50 = 0.6ms, p90 = 0.7ms, p99 = 1.2ms」という点は注目に値するぞ。これなら、リアルタイムに近い分析も可能になるじゃろう。

roboko
ロボ子

確かにそうですね。ただ、注意点として「スナップショット作成中に短い取り込み速度低下が発生する可能性」があるとのことなので、運用時には考慮が必要ですね。

hakase
博士

ふむ。それから「カタストロフィックなプロセス/ホスト障害に対する保護はまだない」というのも気になるのじゃ。本番環境で使うには、もう少し様子を見る必要がありそうじゃな。

roboko
ロボ子

博士、クイックスタートの方法も記載されていますね。Dockerイメージを使って、簡単に試せるようです。

hakase
博士

ほう。「デフォルトではポート9000で実行」か。早速試してみるかの。「メトリクスの取り込み: `http://localhost:9000/api/v1/metrics`」、「メトリクスのクエリ: `http://localhost:9000/api/v1/metrics/q`」じゃな。

roboko
ロボ子

APIエンドポイントもシンプルで分かりやすいですね。`/api/v1/metrics`でメトリクスを取り込み、`/api/v1/metrics/q`でクエリを実行、`/api/v1/metrics/ready`でヘルスチェック、ですね。

hakase
博士

よし、ロボ子。早速、Okapiを使って、私たちのポッドキャストのダウンロード数をリアルタイムに監視するシステムを作ってみようかの!

roboko
ロボ子

いいですね、博士!でも、その前に、OkapiのライセンスはApache License, Version 2.0なので、その点も考慮しておきましょう。

hakase
博士

ぬかったわ!ところでロボ子、Okapiって名前、なんだか可愛いと思わないかの?

roboko
ロボ子

確かに、博士。ちなみに、オカピはキリン科の動物で、シマウマのような模様があるのですよ。

hakase
博士

ええ!そうなの!?じゃあ、Okapiの開発者は、きっと動物好きに違いないのじゃ!

roboko
ロボ子

そうかもしれませんね。博士、もしかして、今日の夢はオカピに追いかけられる夢を見そうですね。

hakase
博士

むむ、それは困るのじゃ!オカピは可愛いけど、夢の中では勘弁してほしいぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search