3

私の現在のアプローチ:

  • 私は 1 つのドメイン クラスを持っています -アプリケーション
  • 私のシステムの各アプリケーションは、 APPLICATION_KEYキーの下の「アプリケーション」バケットに保存されています
  • このバケットに保存されているアプリケーション メタデータとは別に、各アプリケーションには「time_metrics/APPLICATION_KEY」という独自のバケットがあり、次の方法で時系列を保存します。

    KEY - タイムスタンプ / VALUE - いくつかの属性

私の懸念は、特定のアプリケーションの特定の時間枠で行われたクエリの効率です。現在、特定の時間枠から時系列を取得し、最終的にいくつかの削減を行うには、「time_metric/APPLICATION_KEY」バケット全体で map/reduce を作成する必要があります。これは、 Riak Map/Reduceの推奨される使用例ではありません。

私の質問: この種のシステムに最適なデータベース構造と、それを効率的にクエリする方法を教えてください。

4

2 に答える 2

4

@macintuxの回答に追加します。

Basho には、時系列メトリクスに riak を使用した顧客が何人かいます。Boundary は、Riak をネットワーク監視ソフトウェアでどのように使用しているかについて、素晴らしいテクニカル トークを行っています。分析のために、データをさまざまな時間のチャンク (1 分、5 分、15 分) にまとめます。また、このシステムの実装中に学んだ教訓に関する一連のブログ投稿もあります。

Kivra には、riak で時系列データを使用する方法についての優れたスライド デッキもあります。

データをある種の任意の時間長にロールアップし、通常の K/V 取得を発行して必要な範囲を読み取り、アプリケーションで全体像を再構築/削減できます。

于 2013-10-15T19:21:29.973 に答える