(一)从应用方向、数据体量、用户访问量三个方面考虑
应用方向,以事务为主还是以分析为主
数据体量,以分析为主,最大数据数据量多少、中位数多少;以事务为主,每秒插入量多少,一天的数据量多少
用户操作类型,事务提交,需要实时响应,充分考虑并发;分析统计类操作,实时性要求相对低一些。
(二)场景示例
场景1,以事务业务为主,有一定的数据查询场景,每秒插入在3000左右,并发量2000,一天的数据量约2000万,那么建议采用oracle数据库,通过索引来提升性能,如果有较大的表还需要考虑分区来进行管理,并发通过设置数据库并发数和oracle集群节点来保障
场景2,以事务业务为主,有一定的数据查询场景,每秒插入在100左右,并发量20,一天的数据量约2万,那么可以采用mysql数据库,通过索引来提升性能,根据业务需要考虑大数据量的转储,并发通过设置数据库并发数来保障
场景3,以数据分析业务为主,分析的最大数据量在5亿以下,中位数在1000万,用户并发数100,建议采用mpp数据库,比如gaussdb、gbase、postgres,并发通过设置数据库并发数和集群节点来保障
场景4,以数据分析业务为主,分析的最大数据量在100亿左右,用户并发数10000,建议采用分布式数据库,比如spark,通过业务场景设置索引和节点数等来保障性能
如果多种场景,还可以采用混合数据库来实现
好的数据库架构第一能提高技术人员开发使用效率,第二提高最终客户体验,同时能够有效利用资源,促进技术生态良性发展。
数合建模,数据建模及可视化工具,各种数据库应用的实践者,结合其他生态工具平台,推进政企数字化建设