2011-08-05 12 views
1

SharePoint 2010のビジネス接続サービス(BCS)に関する興味深い問題があります。私はBCSを初めて使用しているので、正しい方法でこの問題について考えるのではなく、ヒント。Business Connectivity Servicesを使用した大規模なデータセット

Google BCSを使用するたびに、データセットにMAYBE 10レコードが含まれる可能性のあるデータをインポートする例が表示されます。これはすべて簡単に実行できます。インポートするデータセットは400,000レコードです。それを外部の島に変えることは、システムを窒息させることです。私はスロットルの限界を突き上げたので、本当にそれは永遠にリストにロードするつもりです。

基本的に私は、グラフのWebパーツを持っていて、それに外部データをロードしたいと思っています。標準のSQLクエリを記述することはできないため、フィルタリングする必要があります。だから私はBCSフィルタを使用してクエリの代わりにそのデータをフィルタリングすることを考えました。しかしそれでも、400kレコード(または150kレコード)間のフィルタリングは、それをタイミングアウトしています。

私は間違った方法で問題について考えていますか?ありがとう!

答えて

1

私の経験からそうではありませんBCSは、大規模なデータセットを扱う場合、実際には驚くほど遅いです。

まず、モデルのフィールド/タイプ記述子の量を減らそうとします。すべてのデータ型が異なる50以上のフィールドがある場合、これはショーストッパーになります。

BCSは、要求したときにすべてのデータを外部リストにロードします。一度だけでなくキャッシュしているため、キャッシュ時間を長くすることもできます。別の考え方は、BCSサービスでサーバー側のページングを実装することです。

私は実際にはBCSにかなり失望しています。あなたは速く限界にぶつかったとき、私は本当にそれが本当の世界かどうかわかりません。

+0

この特定のデータセットでは、8つのフィールドしかありません。だからそれを殺してはならない。 インポートしたデータセットに対して「照会する」実際の方法はないようです。それは私にはあまり満足していない "フィルタリング"だけです。 :-) だから、私はストアドプロシージャを使用するルートを行くつもりだと思います。 – sshirley

関連する問題