我没处理过大数据,假设一种情况,有10亿条数据,这么大的数据,请问一般有什么样的算法能对这样大的数据进行排序?我希望的是能给出解决方案或者是解决思路。在此先感谢各位。
天蓬老师2017-04-10 16:57:51
纯属探讨,我也没有实践经验。
我觉得大数据的唯一处理就是怎么写入大数据到数据库,至于排序和查询...这件事情根本就不应该发生在大数据上。如你所说的10E条,水平拆分掉就不是大数据了,所以你的问题也就不存在了。
如果现在的情况已经是10E条存在一个库里面了,我觉得应该根据你的需求决定如何拆分才是关键的。
比如商城系统订单数据就很多,但是最明显的一个特征就是用户总是先看到 “最近的订单” 这种东西,在我看来这就是一种明显的拆分。
在我的看来,大数据的主体只有一个索引,就是主键,因为太多的索引会影响高并发的插入速度,那么如果需要搜索大数据怎么办?当然是空间换时间,比如淘宝那么多商品,想搜索特定的商品怎么才能快?从主数据中搜索?那不是疯了,我觉得肯定是从派生表上查询的,比如 日用品商品表, 鱼竿商品表 等等,根据搜索关键字去找符合条件的表,然后从这个表中再读数据,这才能快起来。
以上纯属个人臆测,有错误的地方恭请指正,不胜感激。