現在、MapReduceを使用してSQL Serverで増分ビュービルドを維持する可能性を検討しています。MapReduceをデータソースとしてSQL Serverを使用
基本的に、MapReduceを使用してマテリアライズド・ビューを作成します。
私は少し気がついています。私のmap
出力をどのように分割するか考えています。さて、BigDataの状況は実際にはありません。最大で約50 GBですが、複雑さが増し、パフォーマンスに問題があります。私は、このMapReduce/NoSQLのアプローチがうまくいくかどうかを見たいと思います。
MapReduceについて私は現在、私の問題をパーティション化しています。私はSQL Serverをデータソースとして使用しているため、データのローカリティは実際に私の問題ではないため、データをすべて送信する必要はなく、各作業者がデータのパーティションを取得できる必要がありますmap
定義のベース。
私はLINQとEntity Frameworkのようなものを使ってデータを完全にマップする予定ですが、使い慣れたインターフェイスを提供するだけですが、これはややポイントですが、私が検討している現在のルートです。
今、データを分割するにはどうすればよいですか?私はプライマリキーを持っていますが、表現木(AST、あなたがLINQに精通していない場合)に関して、map
とreduce
という定義があります。
まず、どのように私は私が入力全体を分割し、最初の問題(私は、このような
ROW_NUMBER
やTILE
としてSQL Serverでのウィンドウの集合体を活用することができるはずと思っています)を分割するための方法を考案します。第二に、もっと重要なのは、私がこれを徐々に行うことをどうやって確認するのですか?つまり、元の問題を追加するか、または元の問題に変更を加えると、実行する必要がある再計算の量を最小限に抑えるための効果的な方法をどのように効果的に確保できますか?
私はインスピレーションのためのCouchDBを見てきたし、彼らがこれを行う方法を持っているように見えるが、どのように私は、SQL Serverを使用して、その良さの一部を活用していますか?
このCouchDBはどのように関係していますか?マップリダクションのため? –
はい、あなたはそれについてここで読むことができます:http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#Basics –