系统架构的设计,网络和硬件层面下了不少功夫,高速磁盘阵列配合 SAN 架构,数据传输快得,基本没啥瓶颈。再加上多机群集和 HA 高可用方案,容错做得比较稳,哪怕一台挂了,也不至于影响整体服务。
高可用集群的配置,像用到Pgpool-II
做读写分离、负载均衡,效果还蛮不错的。参考Pgpool-II 实现高可用与读写分离及负载均衡全流程,整个流程写得挺清楚的,照着做基本不会出错。
数据库引擎这块,要求能同时撑得住OLTP
和OLAP
两种场景,简单讲就是能抗压还能,不然上线没多久就开始卡顿。报表查询也安排上了,能从多个维度查数据,还支持图表统计,前端那边接个报表系统就行,比如FineReport
或者DataFocus
之类的。
元数据管理也挺重要,推荐看看Apache Atlas 元数据管理详解,你会发现,多看着复杂的流程,其实背后都有一套清晰的元数据逻辑在跑。
还有一点容易被忽略,就是系统监控。不光是看服务有没有挂,更要看内存、CPU、IO 等资源的使用情况。建议上个自动预警的方案,一旦指标超了马上通知,预防比事后补救强太多。
提醒一下,数据加载别忽视调度优化。合理安排抽取时间点、避免资源抢占,数据文件和表空间也要分布设计好,不然磁盘一碎片化,性能会掉得厉害。
如果你现在正在做ODS
平台建设,或者报表系统对接,强烈建议你花点时间看看这些资源,尤其是磁盘阵列、高可用和元数据这几块,能省不少坑。