具有 Business Connectivity Services 的大型数据集
我有一个关于 SharePoint 2010 中的业务连接服务 (BCS) 的有趣问题。我是 BCS 新手,所以也许我只是没有以正确的方式考虑这个问题,并且可以使用一些技巧。
每次我 google BCS 时,我都会看到导入数据的示例,其中数据集可能包含 MAYBE 10 条记录。这一切都很容易完成。我要导入的数据集是 400,000 条记录。将其变成外部主义正在窒息系统。我提高了油门限制,所以实际上加载到列表中需要很长时间。
基本上我想要一个图表 Web 部件并将外部数据加载到其中。看来您无法针对它编写标准 SQL 查询,因此您必须对其进行过滤。所以我想使用 BCS 过滤器来过滤该数据而不是查询。但即便如此,在 400k 记录(甚至 150k 记录)中进行过滤也会超时。
我只是以错误的方式思考问题吗?谢谢!
I have an interesting problem concerning business connectivity services (BCS) in SharePoint 2010. I am new to the BCS so maybe I'm just not thinking about this problem in the right way and could use some tips.
Every time I google BCS, I see examples of importing data where the the dataset might contain MAYBE 10 records. This is all easily done. The dataset that I want to import is 400,000 records. Turning that into an external ist is choking the system. I bumped up the throttle limit, so really it's takking forever to load into a list.
Basically I want have a chart web part and load in external data into it. It seems that you can't write a standard SQL query against it, so you have to filter it. So I thought to use a BCS Filter to filter that data instead of a query. But even then, filtering among 400k records (or even 150k records) is timing it out.
Am I just thinking about the problem in the wrong way? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,你不是,根据我的经验,BCS 在处理大型数据集时实际上慢得惊人。
首先,我会尝试减少模型中字段/类型描述符的数量。如果您有 50 多个包含所有不同数据类型的字段,这可能会令人大吃一惊。
当您请求时,BCS 会将所有数据加载到外部列表中,而不仅仅是一次,并将其缓存在客户端上,因此您可以尝试增加缓存时间。另一个想法是在 BCS 服务中实现服务器端寻呼。
事实上,我对 BCS 非常失望,当你这么快达到极限时,我真的看不到它的“现实世界”用例。
No you aren't, from my experience BCS is actually amazingly slow when it comes to handling large datasets.
First i'd try to reduce the amount of fields/type descriptors in your model. If you have like 50+ fields with all different data types this can be a show-stopper.
BCS is loading all data into the external list when you request it, not only once, and cache's it on the client, so you could try increasing the caching time. Another idea would be implementing server-side paging in your BCS service.
I'm actually pretty disappointed by BCS and i can't really see a "real world" usecase for it when you hit the limits that fast.