最近比较忙,好久没写博客了,项目发布了总算是有点闲,总结下这个项目的一些心得吧。
项目持久化使用的是mongodb(吐槽一下,业务系统最好不要使用nosql 数据库,关联关系,事物都不支持的)。因为权限非常复杂(负责的,共享的,参与的),查询效率不行,于是决定在新的项目在使用分治的实现进行查询,
通过对查询条件分开,将原来的or条件改为单独查询(结果要有序),在应用层面通过合并排序实现查询,其中需要对同一个查询的进行记录以输出数据(下一次取数据的位置)。其中查询需要使用多线程并发查询。
通过分治查询,可以带来一些优势1、可以使用搜索引擎。2、减小查询语句的复杂度。同时带来一些欠缺,1、代码复杂度提升,2、数据服务器压力,需要应对并发访问还是一个未知的饮食。
总之,就是一次分治思想的实践。效果未知(数据还没有上去)