码迷,mamicode.com
首页 > 其他好文 > 详细

分库分表之后的搜索策略

时间:2017-08-23 23:07:08      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:主键   通过   如何   实时   实现   异步   arc   一点   分表   

所谓分库,就是把原来在一个库中的数据放到多个库中存储;

分表就是把原来在一个表中的数据放到多个表中存储。

这里不讨论分库分表的策略和具体实现,主要想记录的一点,就是分库分表后的搜索如何实现?

工作中遇到的是通过将库、表中的数据抽取出来,可用的工具有Solr、ElasticSearch等,

对你想要查询的字段建立索引,形成搜索库,这个搜索库和原来对表的搜索差不多,不同的是,搜索这个库并不是为了获取记录的完整数据。

完整的记录数据是通过查询条件在搜索库中找到满足条件的记录的id,然后通过获取的id再在对分库分表的数据检索数据,这样的话,通过主键对库进行查找还是很快的。

主要思想其实就是要避免通过非主键的查询条件对分库分表的数据进行全文检索!

 

另外,往库中插入数据可以通过消息队列的异步事件,将数据同步到搜索库中。

 

这里写的比较粗糙,还有很多具体的实现没有涉及。

比如,搜索库的实时索引怎么建立?

分库分表之后的搜索策略

标签:主键   通过   如何   实时   实现   异步   arc   一点   分表   

原文地址:http://www.cnblogs.com/tuhooo/p/7420469.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!