根据业务的划分:判断使用水平或垂直,还是综合的方案。

    体量很大的业务需求,必须使用综合方案,垂直划分所有的业务领域单独出去系统(独立业务域,不影响总体业务使用),对于数据量庞大的子业务领域在使用水平分库分表(Oracle分区表)。

    分库分表的规则,可以参考:区域、服务中心(多中心部署)、系统(集群)、分库、分表等概念进行划分和全量数据的统计。针对独立的系统服务只参考分库分表的概念即可。然后数据全球中心化趋势,需要考虑大数据的区域定位,服务中心定位和系统标识定位,这个数据量太大,使用大数据框架完成分析汇总。

    对于分布式全量数据查询:
    1、体量大的数据:采用缓存上次查询条件和结果,应用程序中逻辑排序,并在所有分区表查询缓存中确定获取的Index,供下次第二次翻页查询。查询条件变化时,缓存信息被重置;
    2、体量小的数据:采用非分页的数据表冗余所有需要查询的数据及其属性,然后再去分区表拎出数据;

    3、针对特殊业务场景【未实践】:使用索引,比如Apache Lucene,可以定位到数据的id,再去分区表查询;