标签:主键 通过 如何 实时 实现 异步 arc 一点 分表
所谓分库,就是把原来在一个库中的数据放到多个库中存储;
分表就是把原来在一个表中的数据放到多个表中存储。
这里不讨论分库分表的策略和具体实现,主要想记录的一点,就是分库分表后的搜索如何实现?
工作中遇到的是通过将库、表中的数据抽取出来,可用的工具有Solr、ElasticSearch等,
对你想要查询的字段建立索引,形成搜索库,这个搜索库和原来对表的搜索差不多,不同的是,搜索这个库并不是为了获取记录的完整数据。
完整的记录数据是通过查询条件在搜索库中找到满足条件的记录的id,然后通过获取的id再在对分库分表的数据检索数据,这样的话,通过主键对库进行查找还是很快的。
主要思想其实就是要避免通过非主键的查询条件对分库分表的数据进行全文检索!
另外,往库中插入数据可以通过消息队列的异步事件,将数据同步到搜索库中。
这里写的比较粗糙,还有很多具体的实现没有涉及。
比如,搜索库的实时索引怎么建立?
标签:主键 通过 如何 实时 实现 异步 arc 一点 分表
原文地址:http://www.cnblogs.com/tuhooo/p/7420469.html