問題タブ [nosql-aggregation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nosql - RavenDB : パラメータを渡してインデックスをマップ/削減できますか
私は、事前に計算されたraven db map/reduceインデックスについて多くのことを読んでいます。map/reduce がシャーディング環境でオンザフライで実行されるように、パラメーターを map 関数に渡すことはできますか?
たとえば、http://ayende.com/blog/89089/ravendb-multi-maps-reduce-indexes
インデックスの結果を照会する代わりに、マップ関数にユーザー名パラメーターを渡すことはできますか?
3 台のマシンでシャーディングされた 1,500 万のドキュメントがあります。3 台のマシンで並列に map/reduce クエリを実行しようとしています。mongo の map/reduce は javascript スレッドで実行されるため、mongodb を調べたところ、非常に低速でした。このようなユースケースに実行可能なソリューションはありますか?
ありがとう
mongodb - MongoDB GeoNear 集約
質問は:
次の場所を考えてみましょう: [-72, 42] と、この点の周囲の半径 2 の範囲 (円)。この範囲 (円) と交差するすべての州を検索するクエリを作成します。次に、これらの各州の総人口と都市の数を返す必要があります。都市の数に基づいて州をランク付けします。
私はこれまでこれを書いてきました:
db.zips.find({loc: {$near: [-72, 42], $maxDistance: 2}})
そして、そのサンプル出力は次のとおりです。
SQLでは、単に「州」でグループ化するだけですが、すべての都市と総人口を数えながら、ここでそれを行うにはどうすればよいでしょうか?
nosql - Cassandra の MAX()、DISTINCT、およびグループ化
SQL データベースの Cassandra を改造して、SQL クエリに相当する Cassandra を見つけようとしています。CQL 3 と Cassandra v1.2 を使用しています。cassandra でデータベース設計をモデル化して、order by 句と非正規化テーブルをサポートし、結合操作をサポートできるようにしました。ただし、DISTINCT、SUM()、および GROUPBY に相当するものに関しては、私は海にいます
これは、過去数日間の私の仕事のショーストッパーのようなものです。Cassandra で、これらの種類のクエリをサポートするために db スキーマをモデル化できる方法はありますか? Cassandra での方法は考えられません。このようなクエリは、Cassandra を使用してどのように実装されますか?
Cassandra 上のハイブ レイヤーがこれらのクエリを機能させる可能性があることを読みました。そのようなクエリを Cassandra でサポートできる唯一の方法であるかどうか疑問に思っています..? Plsは他の可能な方法についてアドバイスします..
mongodb - キーでグループ化された上位 2 つのドキュメントを返す pymongo groupby
サンプル コレクション:
ドキュメント 0、1、3、および 4 を返すにはどうすればよいでしょうか。州ごとにグループ化し、上位 2 つの hitCount を返します。
集計グループ機能を使用しようとしています。私は近づいていると思いますが、私のソリューションはまだ多くのクライアント側の作業を使用しています.すべてのドキュメントを取り込んでから、必要なものを取得します. これは間違いなくスケーリングしないため、修正するには何らかの助けが必要です。
私はピモンゴを使用しています。
mongodb - ドキュメント内の配列の $sum を取得するにはどうすればよいですか?
たとえば、次のドキュメントがあります。
ここで、service_id は外部ドキュメントを参照します (私は知っていますが、お勧めしません)。price は作業の価格、count は作業が実行された回数、items はすべての作業で使用される材料の配列です。すべての作品の合計金額を取得する必要があります。次の未完成のコードを試しました:
実際には配列を合計しません。作品とアイテムをアンワインドし、$group を使用してアンワインド アイテムを合計します。しかし、思い出しました - service_id、count、price が等しい 2 つの作品が存在する可能性があり、$unwind と $group の後で、そのうちの 1 つを失い、両方のアイテムをまとめてしまいます。
$unwind なしでドキュメント内の配列 $sum を取得する方法はありますか?
編集: アイテムのない作品のリストを受け取ることを期待していますが、アイテムの合計費用は次のとおりです。
sql-server - SQL Server から NoSQL へのデータの移行
SQL Server には単純な統計データがあります。これは一種の時系列であり、3 つの列しかありません。
しかし問題は、そのシリーズが 10 秒ごとに表示され、毎日のデータ サイズが約 100,000 行になることです。
データは wcf Web サービスによって消費されます。
- 集計として %75 (平均、最小、最大、合計)
- 直接の行ベースの結果セットとしての %25
- 更新と削除が少なすぎます。
Web サービス (コード化された c#) は、データをクライアントに提供するための中間層として機能し、データは SP によって読み取られ、ビューも表示されます。wcf ではアドホック クエリはありません。
そのデータを NoSql プラットフォームに移動して、他の操作のために SQL Server を解決することを計画しています。
どの nosql プラットフォームが最適なオプションでしょうか?
NoSQL;
- .Net 言語用のドライバーが必要です (読み取り用に wcf サービスを変更するため)
- 組み込みの集計があります(少なくとも合計、平均)
私は Cassandra について考えていましたが、データのクエリを実行するときに組み込みの集約がなく、サービス レイヤーでのデータの集約が高速かどうかわかりません。
アイデアをいただければ幸いです.....
cassandra - 列指向データベース関連
皆さん、
私は現在、データベースウェアハウス関連のアプリケーションに取り組んでいるので、NOSQL 関連の DB について読み始めました。
以下の質問があります。私はすでに基本を読みました。
質問 1) 同じ列のデータが一緒に格納されているため、列指向データベースで raw 全体がどのように取得されますか?
次の形式でデータを保存するとします。内部的には、列指向の DB にこのように保存されます。
test|test1 を一緒に、5|10 を一緒に。
キー 1 : { 名前 : テスト、値 : 5 } キー 2 : { 名前 : テスト 1 、値 : 10 }
では、key1 のデータを取得する必要がある場合、どうすればよいのでしょうか? (AとBは私の推測です)
A)各列ストレージから個別にデータを選択する必要がある場合、非常にコストがかかります
B) 指定された生キーのすべての列に対してこのデータを取得するためのインデックス作成メカニズムはありますか?
質問2 )
私はいくつかのドキュメントを読んでいて、I/Oが少なくなるため、列指向のデータベースが単一の列で集計関数を実行するのにより適していることがわかりました。
Cassandra や HBASE などの NOSQL 列指向ストアで、SUM、AVG などの集計関数の適切なサポートが見つかりませんでした。(以下のような微調整/ハッキング/より多くのコード記述がある可能性があります)
Apache Cassandra はどのように集計操作を行いますか? 何百万ものレコードをリアルタイムでクエリ/集約する - Hadoop? hbase? カサンドラ? hbase コプロセッサを使用して groupby を実装するには?
質問 3) 列指向データベースの内部で結合がどのように行われるかを教えてください。