从文章跳到文章,我随处可见“批量加载”这个词。
它真正(技术上)意味着什么?
这意味着什么?
欢迎基于用例的解释。
答案 0 :(得分:19)
索引通常针对一次插入一行进行优化。当您一次添加大量数据时,一次插入一行可能效率低下。例如,对于B-Tree,插入单个键的最佳方式是将一堆数据添加到空索引的非常差的方法。
相反,你会采用与B树不同的策略。您预先排序所有数据,并将其分组。然后,您可以通过将块转换为树节点来构建新的B树。虽然两种技术都具有相同的渐近性能O(n log(n)),但是大容量加载操作的因子要小得多。
答案 1 :(得分:7)
批量加载是一种在“大块”中加载数据(通常是数据库)的方法。如果您可以一次一个地将一个客户或采购订单或库存中的项目信息输入您的系统,批量加载会获取相同类型信息的文件,并在短时间内加载数百/数千/百万条记录
如果从一种DBMS转换为另一种DBMS,则希望不要从旧DB中将所有信息输入到新DB中。相反,您可以将信息从旧数据库转储到文件中,该格式可以被新数据库轻松读取,然后将该数据导入新数据库。
这就是批量装载所需要的(无论如何,在35K英尺水平)
答案 2 :(得分:2)
批量加载用于导入/导出大量数据。通常不会记录批量操作,并且事务完整性可能无法按预期工作。批量操作通常绕过触发器和完整性检查(如约束)这极大地提高了大量数据的性能。
答案 3 :(得分:1)
要记住的一件事是批量加载意味着从源到目标的数据内容是相同的,但只有在默认源系统时才会这样。对于任何数据源,尤其是大数据,源数据在读取和数据传输发生后可能会发生变化。传统的在线系统要么必须脱机或暂停更新,如果需要捕获与源匹配的精确点,则需要离线。