2021-04-11

大型互联网企业需要什么样的数据库系统?

Views: 4409 | Add Comments

我们先看看, 早期小型公司是如何使用数据库系统的. 找来几台运行 Linux 操作系统的虚拟机, 部署几个 MySQL 进程, 配置一下主从同步.

当公司业务发展壮大, 一是业务的深度加深, 也即同样的业务数据量增加, 二是业务的广度增加, 也即做了更多的功能和产品. 为了适应业务发展, 不得不部署更多的 MySQL 进程. 管理这些进程本身就是一项繁杂的工作, 这时, 就需要引入所谓的运维系统了. 运维系统首先是信息系统(MIS), 其次是操作平台(管理后台).

运维系统本身的开发, 就是一个软件工程. 业务发展得越大, 运维系统就会越庞大. 这时, 所谓的公有云平台出场了. 国内比较有名的云平台有阿里云, 腾讯云, 国外有 AWS.

那么, 是不是所有的企业都会使用公有云服务呢? 公有云服务确实越来越流行, 但至少对于大型互联网企业, 甚至是中型的互联网企业, 依然不会选择公有云. 有功能覆盖上的考虑, 有成本的考虑, 更重要的是商业上独立自主的发展权的考虑.

独立自主的发展权是什么呢? Amazon AWS 平台及其背后的公司的商业边界其实比较清晰, 但是, 国内的阿里云, 腾讯云, 背后的公司的商业触角伸得太过长了, 他们不仅有强大的主业, 还四处出击, 与所有人抢食. 不是一家如此, 而且两家均如此, 他们的这种商业逻辑可能有中国特色的原因, 但确实会让许多大中型企业无法接受.

既然企业不得不开发自己的数据库运维系统(私有云数据库服务), 那么企业会遇到什么困难呢? 成本有多大?

首先是技术高门坎. 现在的数据库系统, 无论是商业的还是开源的, 都是非常紧凑和独立的, 即使是所谓的分布式数据库系统, 依然是非常狭小的软件系统, 而不是服务平台. 要为这些数据库系统建立运维系统, 就要面临所谓的二次开发, 这其中的技术门坎非常高. 即使是作为单机数据库的 MySQL, 掌握其源码的人也是屈指可数.

其次是研发人员成本. 数据库系统的高技术门坎, 决定了相关的研发人员工资水平非常高. 运维系统包含的内容也很多, 信息管理(MIS), 操作管理(运维), 都需要开发, 要 Web 前端人员, 应用后端开发人员, 熟悉操作系统运维的研发人员. 因此, 搭一个研发团队至少要十人以上.

私有云数据库系统的研发需要技术实力, 行业经验, 团队管理, 说到底, 成本极高, 而且研发出来还不能出售给其它公司分担成本, 每家公司都自己研发一套.

最后, 再谈私有云数据库大概是什么样子.

传统的单机数据库关注的东西比较狭窄, 云数据库天生是大量的. 管理大量的机器, 内存, 磁盘, 库. 一个库需要配额多少内存? 能否随时修改配额? 成本怎么算? 这些数据传统的单机数据库一般都不能很好的量化, 因为单机数据库一般要求独占.

用户的视角也要改变. 面对云数据库, 用户不应该再问:"这个数据库能支持的QPS是多少?", 而应该问自己需要多少 QPS. 因为云数据库天生是可扩展的, 用户应该关心的是成本, 只要下成本, 能力无上限. 如果什么条件也不说上来问 QPS, 是非常外行的.

有些用户还问, 你的数据库是强一致的还是最终一致的? 这个问题也非常外行. 用户应该问自己想要强一致还是最终一致, 而不是问云数据库能提供什么. 当然, 长距离强一致就等于慢, 这是理所当然, 但很多用户还有幻想, 既想强一致又想快, 这也需要进行用户教育. 用户教育是一项非常重要的内容.

Related posts:

  1. MySQL命令行按Delete键输出”~”的问题
  2. 面试IT业界顶尖企业所应该知道的10道题(1)
  3. MySQL binlog查看和清理
  4. 小数据与大数据
  5. 用SSDB快速开发一个微博(Twitter)demo
Posted by ideawu at 2021-04-11 23:25:53

Leave a Comment