私はキュービズムのユーザーエクスペリエンスが好きで、私たちが持っているバックエンドの上でこれを使いたいと思います。cubism.jsの他のデータソースの使用
私はAPIのドキュメントといくつかのコードを読んでいますが、そのほとんどは抽出されているようです。他のデータソースを正確に使用するにはどうすればいいですか?
私は約5万分の精度で約6kの個別のマシンのデータストアを約100程度の統計に持っています。
私はそのマシンの特定の識別子でいくつかのWebアプリケーションを照会し、特定のmongoデータストアを照会することによってキュービズムに似たダッシュボードをレンダリングしたいと思います。
mongoにWebアプリケーションまたはクエリを書き込むことは問題ではありません。
キュービズムでは、個々のデータポイントごとに使用するデータストアを問合せる必要があるように見えます(高価な)。
このツールを使用して、以下のコードに類似した方法でロードされたデータを見る方法がありますか?
var data = [];
d3.json("/initial", function(json) { data.concat(json); });
d3.json("/update", function(json) { data.push(json); });
これは新しいメトリックごとに作成されています。したがって、これに接続された各クライアントは、xメトリックのデータベースに対してxクエリを実行します。簡単な方法はありません。キュービズムを使ってこれを減らしますか?たとえば、チャートを呼び出してアクセサー機能を使用していますか? –
もちろん、バッチで複数のメトリックをフェッチする代替メトリック実装を作成することもできますが、通常はそれが価値がありません。私たちのダッシュボードは、多くの場合、Graphite(ブラウザによって部分的にシリアル化されます。これは、ホストごとに4〜8回以上の同時リクエストは発生しません)、パフォーマンス上の問題はありません。同時リクエストをマージするには、複数のリクエストをキューに入れ、タイムアウトを使用して結合リクエストを作成します。 – mbostock
この分野で経験を積んだ誰かがそれを実行するには、これが価値があると思うかどうか教えてください。私はn台のマシンについて約500GBのデータを持っています。 dbは、タイムスタンプ、マシンID、およびその2つの組み合わせによって索引付けされます。 1つのクエリ(これはMongoDB)を実行するために、1台のマシンに対して1440の結果のソートされたリストを得るのに約12秒かかります。したがって、x * 12秒=ロード時間。ここで、xはメトリックの数です。 –