1、首先提高硬件配置。如果有条件上集群,比如两台服务器,组合基本的集群,比如CPU32核心,内存128GB,或者258GB的物理内存
2、制作BI报表,FR报表,大屏的数据源要单独有一个数据仓库,而不是直接业务的数据库,这样肯定慢。因为业务的原始数据可能好多脏数据,或者好多不需要的数据,你不管如何优化,都不会快!!而且系统不一样,用的数据库可能不一样,有了数据仓库,你每天把所有业务系统的数据抽取到一个统一的数据仓库中,比如DB2,比如oracel,比如sql server,比如PostgreSQL
3、整体数仓与指标的建设需要有一个统一的规范,数仓中比如统一的维度表要规范好,有扩展性,还有数据要分多层进行一些汇总。
4、数据仓库优化,也要创建:索引(Indexing)是提高查询效率的常用方法,通过为常用的查询字段建立索引,可以大幅减少查询的时间。分区(Partitioning)是将大表按照某些规则划分为多个小表,可以提高查询的并行处理能力。物化视图(Materialized View)是将复杂的查询结果预先计算并存储,可以加速查询响应时间。缓存(Caching)是将常用的数据存储在内存中,提高数据访问速度。性能优化需要结合具体的业务场景和查询特点,进行综合考虑和调整。
DB2的列式存储在查询报表那速度真是体验超级的好,单表6亿多行的表,计数简直是秒出(5秒以内),但是其它数据库去计数,我还没有查询出来过。或者可能等的时间不够吧。不过5分钟过去了都没有出来
--------------------------------------
之前一家电商公司,用一台单机自己配置服务,硬件配置64核心,内存512GB,DB2数据仓库。。
报表5000+以上,大屏50张左右,有一张报表每天访问在10W+以上,那台服务器的整体内存使用率从来没有超过60%,而且速度很快!