存储需求
当前业务系统的定位是数据密集型应用(相对应的还有计算密集型应用),具有很大的存储需求。
数据库的选型和设计直接关系到服务质量,包括可用性、稳定性,以及服务所提供的价值。
数据场景
选型前,需要根据自己的具体业务,充分调研数据场景。包括:
1. 要存储什么样的数据?
2. 估算数据量:包括总行数,占用空间大小,是否会有单条数据超过128k的情况等。
3. 是否有频繁的读写操作?
4. 是否对精确查询、模糊搜索、多样化的检索场景有较高的需求和性能要求?
5. 对事务是否有很强的依赖?
6. 是否需要结构化数据存储,且数据结构可能会变化?例如新增一列column。
7. 存储成本预算。
8. 团队熟悉度。
存储选型
常见的存储有 MySQL,PostgreSQL,MongoDB,ES 等,进行横向比较:
类型 | 存储 | 特点 | 成本(参考某商业化公有云) |
---|---|---|---|
关系型数据库 | MySQL |
|