我有一个包含2.5亿个网站URL的文件,每个URL都有IP地址,页面标题,国家名称,服务器横幅(例如"Apache"),响应时间(以毫秒为单位),图像数量等等.目前,这些记录是25GB的平面文件.
我有兴趣从这个文件生成各种统计数据,例如:
每个国家/地区代表的IP地址数
每个国家的平均响应时间
图像数量v响应时间
等等
我的问题是,你将如何实现这种类型和规模的处理,以及你使用的平台和工具(在合理的时间内)?
我对所有建议都持开放态度,从Windows上的MS SQL到Solaris上的Ruby,所有建议:-) DRY的奖励积分(不要重复自己),我不希望每次不同的切割时都不写新程序需要.
任何关于什么有效以及应该避免什么的评论都将非常感激.
步骤1:将数据导入可处理数据量的DBMS.指数恰当.
第2步:使用SQL查询来确定感兴趣的值.
您仍然需要为要回答的每个单独问题编写新查询.但是,我认为这是不可避免的.它可以节省你复制其余的工作.
编辑:
请注意,虽然您可以简单地上传到单个表中,但如果在将数据加载到单个表后对数据进行规范化,则可能会从查询中获得更好的性能.这不是完全无关紧要的,但可能会减少数据量.确保您有一个良好的过程(可能不是存储过程)来规范化数据将有所帮助.