分布式查询
cuomj 2012-06-18 06:43:25 目前正在做搜索引擎相关的东西,为了应付大数据量处理,采用分布式部署方式 对数据进行分片处理。
如有3个分片结点(s1,s2,s3) ,一个对外结点。
对外结点向3个分片结点进行数据查询,并按照时间先后顺序排序。
比如 要求查询 1~10条记录,则 每个分片结点各返回 1~10条记录,对外服务结点对这30条数据进行合并排序,并取出前面10条。
但是,如果进行翻页,查询11~20条记录,则 每个分片需要返回1~20条记录,然后对外服务结点,需要对这60条数据进行筛选。
可以看出,由于数据可能分布在各个结点上,每次分片查询都需要从第一条开始返回,随着不停地翻页,每个分片返回的记录数越来越多,最终导致系统IO压力过大。
不知道各位是否遇到过类似的问题。