二编写优良的程序代码
处理数据离不开优秀的程序代码尤其在进行复杂数据处理时必须使用程序好的程序代码对数据的处理至关重要这不仅仅是数据处理准确度的问题更是数据处理效率的问题良好的程序代码应该包含好的算法包含好的处理流程包含好的效率包含好的异常处理机制等
三对海量数据进行分区操作
对海量数据进行分区操作十分必要例如针对按年份存取的数据我们可以按年进行分区不同的数据库有不同的分区方式不过处理机制大体相同例如SQL Server的数据库分区是将不同的数据存于不同的文件组下而不同的文件组存于不同的磁盘分区下这样将数据分散开减小磁盘I/O减小了系统负荷而且还可以将日志索引等放于不同的分区下
四建立广泛的索引
对海量的数据处理对大表建立索引是必行的建立索引要考虑到具体情况例如针对大表的分组排序等字段都要建立相应索引一般还可以建立复合索引对经常插入的表则建立索引时要小心笔者在处理数据时曾经在一个ETL流程中当插入表时首先删除索引然后插入完毕建立索引并实施聚合操作聚合完成后再次插入前还是删除索引所以索引要用到好的时机索引的填充因子和聚集非聚集索引都要考虑
五建立缓存机制
当数据量增加时一般的处理工具都要考虑到缓存问题缓存大小设置的好差也关系到数据处理的成败例如笔者在处理亿条数据聚合操作时缓存设置为条/Buffer这对于这个级别的数据量是可行的
[] [] [] [] []