2

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


Scott
39 声望41 粉丝

ORACLE数据库专家,现就职甲骨文SSC部门。