首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有大量数据文件导入的VLDB

具有大量数据文件导入的VLDB
EN

Database Administration用户
提问于 2013-06-06 12:34:28
回答 1查看 1.5K关注 0票数 3

我对这种情况有点不在行,希望这个社区能帮助我走上正确的方向。

最近,我的任务是重新设计和实现一个数据库应用程序,我所在的公司处理大量的文本文件(大小从100 3GB到3GB不等)。我们目前每年处理大约600个这样的文件。这些数据需要在我们的初始处理之后才能访问。

当前实现将通过Application或SSIS将每个文件作为单独的表导入到"temp“数据库。我想保持这一过程到位,因为它为何时需要人工进入处理提供了一个很好的入口点。

我正在尝试创建一个新的MS SQL Server安装和体系结构,并正在寻找与最佳实践(分区、文件组等)类似的建议/文章。我在数据库工作了几年,但不是这个级别。

所以,如果你在这类场景中有任何经验,或者你知道一篇好文章或一本书,我将非常感激。我只需要往正确的方向推一下。提前谢谢你。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2013-06-07 15:16:32

下面是一般建议,您的里程可能会根据您的工作负载运行和IO子系统、服务器硬件配置等而有所不同。

在SSIS级别,您可以查看以下内容,以加快数据读取和数据加载:

  • 快速解析选项及其局限性。
  • 使用Server本机客户端10.xOLE DB提供程序进行内存中的高性能连接
  • 将数据包大小设置为32767
  • 选择OLE DB目标数据访问模式“表或视图快速加载”选项

有关详细信息,请参阅加速SSIS批量插入Server

现在进入Server优化数据加载:

  • 使用跟踪标志610 :将索引插入到具有索引的表中通常是一个最少记录的操作。具有聚集索引的表支持并发插入多个大容量负载流,只要这些流包含不重叠的数据。如果检测到数据重叠,流将阻塞(但不是死锁)。
  • 查找表分区(服务器2005中的分区表和索引),特别是滑动窗口技术。
  • 同时也要寻找-E启动参数

还可以寻找优化网络配置的方法:

  • 使用快速网卡和开关。
  • 有最新的认证司机为你的NIC。
  • 启用全双工。
  • 启用Jumbo框架的支持。使用TCP
  • 烟囱卸货。使用接收侧缩放(RSS)。

此外,您应该监视服务器上的等待统计信息,特别是SOS_SCHEDULER_YIELD,这会导致具有多个CPU运行并发批量加载操作并竞争相同CPU周期的服务器上的调度程序争用。

请参考这个优秀的白皮书数据加载性能指南,它包含了我在图表和示例中提到的所有内容。

另外,为了自动化滑动窗口技术--创建暂存表,加载数据,然后切换分区,您可以使用Server分区管理完全自动化它--它还有命令行选项--可以在CodePlex上使用。

票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/44046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档