It has been more than two months since the last "Cloud Database" series. It is not that I don't want to write, but I have no inspiration and can't find what I want to write.
Recently, an old friend happened to be doing a development project and asked me which database to choose.
In order to live up to the trust of my old friends, I decided to write an article on database selection.
Let me talk about the background of this issue. Twenty years ago, choosing a database didn't seem to be a problem, because there were too few options. The basic principle is to use ORACLE/DB2 for the rich and willful, Mysql for the pocket-strapped ones, and SqlServer/Sybase for the rest.
But today, 20 years later, choosing a suitable database is not so easy, because what? Too many options. Excluding foreign database products, there are hundreds of domestic databases alone. How can it not become a fascinating sight.
The following is the latest database ranking in May 2021. Don't pay attention to scores and rankings. It is a bit dazzling to see if the number of databases participating in the ranking is a bit dazzling.
Domestic database rankings in May 2021
https://www.modb.pro/dbRank
International database rankings in May 2021
https://db-engines.com/en/ranking
How to make the right choice among so many databases? I think it can be evaluated from the following aspects.
◆Budget investment
●一次投入(必须投入)
Including the purchase cost of database software/license, the purchase cost of hardware (server, computer room, network, etc.) when the database is configured locally.
●持续投入(必须投入)
Including database software after-sales technical support costs, the company's operation and maintenance personnel costs, virtual machine / service costs when the database is configured on the cloud.
●迁移投入(非必须投入)
Data center migration cost, database type migration cost.
◆Database location
●是否和应用服务器放在一起
●是否有灾备架构
●是否采用公有云
◆Difficulty of migration
●从正在使用中的数据库类型,位置迁移到其他数据库类型,位置的难度。
◆Business Type
●业务处理(OLTP)
●数据仓库(OLAP)
●HTAP混合型数据库
◆Data scale
●初期规模
The amount of data when the database was initially imported.
●增长速度
The method of data accumulation, the growth rate, and the extent to which the data grows, consider sub-database/sub-table/partition.
◆Data type
◆Safety requirements
●网络级别安全控制(Route,OS 层ACL 等)
●数据库级别访问权限控制(DB User 权限 等)
●高级权限控制(Audit,加密 等)
◆Operation and maintenance difficulty
●定例运维(Backup/Recovery 等)
●故障处理(技术文档是否全面公开,社区论坛是否完善,既存客户数量,既存技术者数量等)
●扩展能力( Share Everything、Share Storage、Share Nothing 等)
The above is just a simple list of several points that need to be considered when selecting a database. In fact, the points need to be expanded into areas in actual operation, which requires a lot of effort.
2021/05/14 @ Dalian
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。