阅读本文章你将会收获以下几个知识点:
- 什么是运维工程师?
- 为什么不自己搭建数据库服务器
- 为什么不买一台(云)服务器搭建对应的数据库
- 跟其他平台有什么优势?
大多数情况下,一款互联网应用会需要做数据持久化。一般都会选择数据库Database去存储相关数据。(举例:Mysql、SQLServer,还有redis(缓存),MongoDB等)。
在学生时代,大家会在自己的电脑上安装MySQL或者SQLServer,然后连接自己的电脑(127.0.0.1),有些云服务器厂商会针对学生会推出低价或者免费的云服务器。这个时候,有些同学会尝试在云服务器上安装数据库。
如,在CentOS上
yum install mysql
虽然本质上跟自己电脑没什么区别,但至少已经开始连接类云数据库了。
首先,我们来玩一个技术新人创业游戏,并着重关注数据库演化部分,如果有用到数据库种类,以MySQL举例。
- 你风风火火开始创业了,做了一个电商系统,这个时候,你自己买了一台电脑做服务器,并在上面安装了Mysql服务。然后你们的产品就发布上架了。开张赚钱。(Good game)
- 成年人的字典里就没有轻松二字,很快,你们遇到了第一个问题,随着你们的程序越来越大,这台电脑上跑的服务越来越多,性能受到了制约,你想到了把服务和数据分成2个业务。于是你又买了一台电脑做数据库服务器。(目前你有2台电脑)
- 有一天,你发现数据库服务器出现了一些故障,影响了你的业务。于是你又买了一台电脑做“备用”数据库,并让这2台数据库实时同步数据。(主从数据库架构,目前你有3台电脑)
- 天有不测风云,有一天,你们这个地区遭遇了百年不遇的地震,你公司的人都没事,但是当地的网络设施受到了影响,从而影响了你的业务。于是你又想到了在多地准备备用数据库(异地备份,至少4台服务器)
- 还有一些诸如遇到有恶意员工删库跑路,如果在第一时间恢复?
至此为止,你发现你在做的工作就是一部分运维工程师在做的事。一些基础信息建设。一个有以上丰富经验的工程师的薪水和相关的设备费用(包括电费)也是非常贵的。所以越来越多的公司会直接选择一家云数据库提供商。如Azure Database。
业务产品如图
选择其中一个,如Azure Database for MySQL,付费购买,以上故事里可能发生的种种不快都与你无关了。
Azure还提供了Azure CL和各个平台不同语言的SDK供调用。还可以快速生成数据库的访问API接口,方便对外开放数据。(告别了开数据库权限,开对外视图等麻烦的事)