把握数据库发展趋势 DBA应如何避免“踩坑”?

在DTCC 2019大会上,阿里云智能数据库产品事业部高级产品专家萧少聪做了题为《如何构建云时代DBA的知识体系》的演讲,进行云时代以后,IT行业各工种的职责都在发生变化,云数据库使得日常DBA管理实现更多的自动化,大大提高日常管理效率,同时也对于企业整体投资产出可以更快获得成效。面对云数据库的发展趋势,DBA应如何避免“踩坑”呢?本文就为大家揭晓答案。

专家简介:萧少聪(花名:铁庵),阿里云智能数据库产品事业部高级产品专家,PostgreSQL中国社区常委。

直播回放

链接:https://yq.aliyun.com/live/1046

议题PPT下载,戳这里!

https://yq.aliyun.com/download/3562

本文将主要围绕以下四个方面进行分享:

  1. 管理模式的变化
  2. 云数据库VS.自建数据库
  3. 云DBA知识体系构成
  4. 如何成为优秀的云DBA

一、管理模式的变化

对于数据库技术而言,“云”已经成为大家无法忽视的技术趋势。在Gartner 2018年的数据库魔力四象限里面,云计算数据库厂商已经占LEADERS及VISIONARIES领域的绝对比例,这也代表了业界对于云的认可。

那么,云和传统架构有什么不同呢?对于传统数据库系统而言,需要搭建很多的硬件,连接很多的网线,在自己搭建的私有云里面可能会有一些虚拟化或者容器化的架构,再往上对于DBA而言其实需要的就是一个数据库,需要能够连接进去进行操作。当然了,在传统架构下,DBA能够对数据库有更多的操作和配置,但是在云上可能只会提供一部分数据库配置文件的修改权限,并不会允许修改全部配置,这是因为云为DBA提供的是SLA,也就是说云数据库提供的是服务。针对于服务而言,不太可能允许DBA去对操作系统进行改变,因为这样可能会破坏HA,因此会有一些限制,但是对于数据库操作而言,依旧是通过一个端口就连接进去的。

除了数据库架构设计之外,传统架构和云架构在做安装配置的时候也会有所不同。在传统架构下,DBA需要去规划数据库所有的一切,包括操作系统、硬件以及各种安装准备以及验收、切换等一系列演练。在云架构之下,整体的配置、安装以及部署是不需要DBA敲各种命令或者安装各种业务系统的,操作系统、参数优化以及整体的HA只需要在云控制台上点击几下就可以配置完成,无论使用阿里的公共云还是私有云都是这样的状态。这些就是在管理模式方面或者在系统创建过程中已经能够看到的变化。

二、云数据库VS.自建数据库

有很多人存在这样一个疑问。那就是“云数据库和自建数据库有哪些区别?”。这里首先澄清一个概念,在阿里巴巴看来,真正云托管的数据库才是云数据库,而如果只是使用ECS云服务器来自行搭建的数据库并不算是真正的云数据库。

实际上,云数据库最终提供的是一个服务,其包括了系统的可靠性、可用性、安全、备份等一系列的东西,当建立完云数据库这些都是配置完成的,无需DBA进行二次配置。当然,如果DBA有自己配置的需求,阿里云所提供的云数据库服务也会提供API接口进行调配,或者也可以通过阿里云的管理平台进行操作,而不像传统情况下需要非常高的数据库初始建设费用。

成本模式的变迁

对于成本而言,传统情况下自己建设数据中心需要规划好未来3到5年到底需要多少资源,所以成本是一次性提供的。此外,对于DBA而言,一般将其分为业务DBA和运维DBA,前者为数据库业务解决问题,发挥功用,后者纯粹地负责运维工作,比如安装、部署、定期进行各种类型的巡检。未来,运维DBA会因为云架构的体现慢慢地减少,而业务DBA却不会消亡,因此DBA应该更加关注于企业在做什么业务,数据架构应该如何优化,帮助企业改变本身的运营状态。

以往成本的开支,一下子就是一台服务器,但是如今在云上或者互联网上有很多的创业公司,所谓的“独角兽”就是从很小规模开始起步,突然之间变成很大。当这些创业公司小的时候或许并不需要购买一台服务器,通过云架构,就可以从很小开始,逐渐弹性上去,这样的弹性能力使得IT实现资源的释放。如果今天还在使用传统的数据库服务器购买方式,而竞争对手或许就能够将节省下来的资金用于技术人员或者业务上去,因为没有了固定资产初期的开销,对于创业公司而言,其运行的资金链也会更加健康,发展的速度也会更快。

三、云DBA知识体系构成

随着数据库技术的发展,企业对于DBA的需求也不断提高。从对于OLTP这样的SQL数据库和NoSQL数据的掌握,进一步演进,为了解决性能问题可能需要Key-Value缓存数据库,之后建立OLAP数据仓库,再之后实现大数据离线分析。

而对于初创公司而言,就会发现在最开始可能三两台机器就搞定了,只需要一个兼职的DBA。

进一步当开始使用Key-Value缓存数据库之后,业务越来越重,单台服务器无法搞定,需要实现HA。此时就比较困难了,因此需要一个比较神奇的DBA,需要DBA什么都懂。

当企业进一步发展到更大的时候,可能不仅仅需要解决一套系统的问题,可能需要解决多套系统的问题。此时可能需要一个DBA团队,分工会变得更为细致,不仅有专业的DBA,还应该有顶尖的架构级别DBA来解决整体问题。

更进一步,可能需要做数据仓库和大数据,那么整个DBA团队的分工就会更加明细。

在企业的实际运行过程中,DBA需要做大量的工作,有的时候甚至是操作系统的各种细节都需要了解清楚才能将数据库调优好。

云数据库的理论基础

而当进入云数据库时代,需要看到的是另外一种景象。这里有一些云计算的新名词,比如Region地域、AZ可用区、VPC以及VSwith等,这些都是云DBA需要了解和掌握的。从数据库的角度来看,云数据库的确出现了很多新名词,但是数据库基础理论依然是不变的,依然会有实例、高可用、分布式、SQL、ACID和CAP等理论。

运维简化:自动化部署

以往都会说需要部署一个主备集群,而今天如果想要部署主备集群也会在一个IDC中心进行部署。如果想要部署跨IDC的主备集群,在传统架构下往往需要购买光纤、光缆,并且需要确定光纤、光缆的延迟情况,判断其所造成的延迟是否能够接受。而在云数据库架构之下,这些信息都不需要进行管理,所需要管理的就是在购买云数据库时进行选择,比如选择跨中心的主备就可以直接建立起来,因此这种复杂架构的构建并不需要自己来规划,可以节省DBA去做传统底层业务处理的时间。

运维简化:跨地域部署及切换

除了对于传统架构比较容易的同一个城市跨AZ之外,其实如果想要实现跨省就会变得非常复杂了。然而,在云上就会变得非常容易,如果想要实现跨Region的搭建就可以利用阿里云上的DTS工具将数据拉过去,需要进行数据复制的时候才会收费,平时不用的时候甚至可以直接将其关闭掉。

当搭建了跨Region的数据中心之后,后面就会有更多的事情。比如到底敢不敢进行主备切换,以往做主备切换的时候都需要配置一大堆的DNS,自己写很多脚本做确认,而在云架构底下,只需要通过一个按钮就可以实现。因此,大家一定要清楚,作为云DBA应该去学习哪些东西,同时需要放弃哪些东西的学习。因此当有云架构之后,DBA可以将重心放到学习如何优化SQL以及各种不同的数据库特性以及它们之间的组合架构如何解决业务上的问题,而底层的业务架构可以交给云去做。

运维简化:定期全/增量备份

在云上面,如果需要做定期增量备份也仅仅需要点击几个按钮进行构建即可。

运维简化:恢复到时间点

无论针对于哪个数据库,阿里云的服务都可以做到任意时间点的秒级恢复。这一功能并不只是为了帮助用户找回数据,很多用户的DBA和开发的互动越来越频繁,如果开发收到某个时间段系统运行较慢的反馈,就可以直接克隆一个那个时间段的新实例出来,并且只需要按需购买即可,克隆出来实例调试完程序之后直接将其关闭掉即可,一切的成本都在DBA的掌握之中。

运维简化:按需横向扩展

DBA对于数据库的横向扩展也会做很多动作,传统的方式通过只读实例可以做相应的扩展,同时还有像阿里云的DRDS分布式数据库分片的运行方案,也能够比较容易地搭建出来,进一步地还可以走向PolarDB,通过分布式的一写多读来简化业务规则。未来,DBA需要重点关注的点在于什么时候使用什么样的架构。举例而言,如果需要解决某个大促时间段大量的读请求问题,应该通过只读实例来实现。而如果老旧业务完全可以基于互联网改写,就可以选择直接通过DRDS做整个系统的分库分表操作。如果需要非常强的与关系型数据库一致性的业务,并且与此同时数据量非常大,可能需要选择PolarDB的架构,因此DBA需要对于不同的数据库架构以及其背后原理有自己的理解。

运维简化:自动读写分离
阿里云数据库帮助用户实现了读写分离,DBA不需要再进行应用程序上的业务改写,比如对于读写分离的设置都可以实现自动化。通过对于请求的分析来判断应该分发到读实例还是写实例。

以上这些都是云数据库能够提供的能力,大家会发现以往的管理模型已经都覆盖到了。未来运维方面的DBA工作可能减轻,因此DBA应该跳到业务方向上进行发展。

四、如何成为优秀的云DBA

在云数据库的背景下,DBA是否还需要学习每一部分的数据库管理知识呢?因为人的时间是有限的,未来除非真的要做类似于阿里云的整体管控系统时需要深入底层进行分析,而如果不是,那么这些数据库管理就可以交给云管控平台来实现。但是数据库优化却需要DBA知道和掌握,这里并不是指修改哪些参数能够优化成什么样子,因为这些在云平台上就已经配置好了,但是DBA需要知道的是针对于某个数据库,什么样的索引对它更加有效,表与表之间的关系应该如何建立才能使得数据库性能更好。

云数据库提供了很多的集群架构,也并不一定需要全部学习。无论是单节点、双节点还是三节点,通过阿里云都可以实现一键式部署。因此作为DBA更加需要了解不同的数据库实例之间应该如何进行互动,从而产生对业务有效的架构方案和规划方案,这正是DBA需要深入思考的,而不是每天都在备份服务器,部署数据库,检修各种硬件。

云服务支持边界

基于云的运行环境,云数据库服务和DBA的边界会发生改变。资源调度、基础优化、平台能力以及准确输出都是由云来提供的,而企业的DBA需要做这样几件事情:对于表结构需要花费更多的时间来规划,定义自己企业的SQL标准来规范开发模型,对于SQL以及结构进行优化来提升业务性能。此外,DBA不仅应该关注于数据库,实际上也应该做企业成本的控制,通过不同的数据模型组合来解决不同的业务问题,也需要了解云数据库日志的不同,并通过故障检测自查或者发起服务需求。

性能问题甄别

对于云DBA而言,如果出现了数据库性能问题应该怎么做呢?其实任何的云厂商都会有自己成熟的一整套监控以及性能分析方案,比如阿里云的方案就源自于阿里巴巴内部的经验,能够帮助DBA发现故障并提供解决方案,使用起来非常方便。

云服务支持边界

此外,阿里云也提供了一种能力,就是阿里云后端的DBA会帮助用户解决数据库相关的问题。以往情况下,如果数据库出现了问题,需要打电话给服务商来约时间解决,存在一定的延迟。而今天在阿里云上面,DBA随时可以进入。并且阿里云还提供了安全保障,具有完善的授权机制,只有用户授权阿里云的DBA访问用户数据库或者进行服务的时候,阿里云的DBA才有权限为用户提供服务,而如果没有得到授权,阿里云的DBA是不能够进入的。

高危SQL预防

阿里巴巴具有自己的一整套数据库开发规范,而用户的DBA也可以自己定义一套数据库开发规范,比如可以定义某一个字段是否可以以某种方式编写,这样就从系统设计和规范的层面避免烂SQL进入系统,进而造成系统故障。

跨云管理

今天,阿里云本身在运营云,而其实阿里云也会提供跨云的管理工具。无论用户使用的是哪里的云,只要管理的是MySQL、MongoDB、Redis数据库都会提供HDM工具来协助用户管理跨云数据库。


总结一下,云数据库带来了标准化部署、自动化运维、按需扩容以及工具化调优等优势。对于企业而言,不要再让DBA为部署和备份等琐碎的运维工作所缠绕了,他们应该将精力投入到优化架构、写好SQL以及做好数据库的整体构造上,进而为企业输出核心技术生产力。


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DevOps 转型时如何安全融入?对企业产出有何影响?2019年 DevOps 最新现状研究报告解读 | 原力计划...

作者 | liumiaocn责编 | 徐威龙封图| CSDN 下载于视觉中国2019年DORA发布了DevOps的研究报告,迄今为止这已经是DORA的第八次报告的发布。相较于往年的报告,2019年的报告全篇只聚焦于一个要素:安全。在2018年DORA提供了一个包含五个步骤的模型…

开源性能可视化工具——FlameScope模式识别

FlameScope是一个新的开源性能可视化工具,它使用次秒级偏移热图和火焰图来分析周期活动、方差、扰动。我们在Netflix TechBlog上面,发表了技术文章Netflix FlameScope,以及工具的源代码。火焰图很好理解,次秒级偏移热图理解起来要…

在腾讯云开通短信验证服务设置正确格式的签名和正文模板并完成群发消息测试

链接👉 https://blog.csdn.net/weixin_45001200/article/details/118878336?spm1001.2014.3001.5501 经历了一晚上的审核,终于在第二天近10点发来了测试验证码......

独家揭秘:阿里小程序的一云多端!看这篇就够了!

专家介绍 视频回放 https://yq.aliyun.com/live/1097 阿里小程序的一云多端 相信绝大部分同学知道阿里一云多端的项目,最早始于19年三月份在北京云栖大会上,阿里云的CEO在云栖大会上对外发布了一云多端的项目。 一云多端是什么? 大家今天常见都是微…

Docker 概念很难理解?一文搞定 Docker 端口绑定

作者 | Dieter Jordens译者 | 苏本如,责编 | 夕颜出品 | CSDN(ID:CSDNnews)以下为译文:作为初级开发人员的你,是不是参加过这样的面试,在面试中面试官希望你准确地回答Docker的工作原理?现今的面…

阿里云高级技术专家张毅萍:我眼中的边缘计算

边缘计算是目前公认的大方向,越来越多的边缘计算应用将随着5G建设的步伐而兴起。阿里云边缘计算团队的目标是在行业爆发来临之前,完成基础计算资源平台的构建,为产业提供基于体验的计算调度能力,进而助推整个产业快速应用发展。那…

docker 安装 mysql和Navicat Premium 远程连接

文章目录1. 安装mysql2. Navicat Premium 远程连接1. 安装mysql # 通过搜索镜像 docker search mysql# 拉取mysql镜像 docker pull mysql# 查看拉取的mysql镜像 docker images#创建MySQL容器 docker run -di --name mymysql -p 3306:3306 -e MYSQL_ROOT_PASSWORDroot mysql# 查…

牛客网SQL篇刷题篇(1-2)

https://www.nowcoder.com/ta/sql

阿里PB级Kubernetes日志平台建设实践

阿里PB级Kubernetes日志平台建设实践 QCon是由InfoQ主办的综合性技术盛会,每年在伦敦、北京、纽约、圣保罗、上海、旧金山召开。有幸参加这次QCon10周年大会,作为分享嘉宾在刘宇老师的运维专场发表了《阿里PB级Kubernetes日志平台建设实践》&#xff0c…

果断拿下4000万美元D轮融资,Rancher发力中国本土化与国产化!

2020年3月17日,业界应用广泛的Kubernetes管理平台创建者Rancher Labs(以下简称Rancher)宣布完成新一轮4000万美元D轮融资。 本轮融资由Telstra Ventures领投,既有投资者Mayfield、Nexus Venture Partners、国富绿景创投&#xff0…

MySQL 8.0 技术详解

MySQL 8.0 简介 MySQL 5.7 到 8.0,Oracle 官方跳跃了 Major Version 版本号,随之而来的就是在 MySQL 8.0 上做了许多重大更新,在往企业级数据库的路上大步前行,全新 Data Dictionary 设计,支持 Atomic DDL&#xff0c…

解决:Error response from daemon: manifest for xxx:latest not found: manifest unknown...

在使用docker 拉去最新的镜像时,会提示如下错误: 这里错误的意思是docker需要我们指定下载镜像的版本号。 但是我们想下载最新的版本号,该如何得知最新的版本号呢? 我们可以登录docker hub:https://hub.docker.com/…

牛客网SQL篇刷题篇(3-10)

https://www.nowcoder.com/ta/sql 1.inner join 和left join (1)在表中存在至少一个匹配时,INNER JOIN 关键字返回行。 SELECT *** FROM A INNER JOIN B ON 条件 注释:INNER JOIN 与 JOIN 是相同的。 (2&#…

技术三板斧:关于技术规划、管理、架构的思考

阿里妹导读:实践需要理论的指导,理论从实践中来。作为技术工程师,要不断地从事件中反思经验、总结规律,才能避免踏入同一个坑,才能更高效地完成 KPI ,甚至是晋升。今天的文章来自阿里巴巴高级技术专家毕啸&…

让服务器突破性能极限 阿里云神龙论文入选计算机顶会ASPLOS

疫情肆虐,全球多个科技领域盛会宣布改为线上举办,计算机领域顶会 ASPLOS也不例外。 日前,ASPLOS 2020公布了计算机界最新科技成果,其中包括阿里云提交的名为《High-density Multi-tenant Bare-metal Cloud》的论文,该…

自动化日志收集及分析在支付宝 App 内的演进

背景 结合《蚂蚁金服面对亿级并发场景的组件体系设计》,我们能够通盘了解支付宝移动端基础组件体系的构建之路和背后的思考,本文基于服务端组建体系的大背景下,着重探讨“自动化日志手机与分析”在支付宝 App 内的演进之路。 支付宝移动端技…

牛客网SQL篇刷题篇(16-23)

https://www.nowcoder.com/ta/sql 1.SQL嵌套查询 https://www.cnblogs.com/glassysky/p/11559082.html (1)什么是嵌套查询 .   嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中&…

突破性能极限——阿里云神龙最新ASPLOS论文解读

作者 | 阿里云神龙团队责编 | 徐威龙封图| CSDN 下载于视觉中国日前,ASPLOS 2020公布了计算机界最新科技成果,其中包括阿里云提交的名为《High-density Multi-tenant Bare-metal Cloud》的论文,该论文阐述了阿里云自研的神龙服务器架构如何解…

1分钟 搭建xxl-job任务调度中心

文章目录一、前提环境1. 安装java环境2. 安装maven打包环境3. docker安装mysql二、搭建xxl-job 服务端(源码)三、搭建xxl-job 服务端(docker)四、常见异常解决方案4.1. docker中mysql容器的ip怎样获取?4.2. xxl-job 连…

Schedulerx2.0分布式计算原理最佳实践

1. 前言 Schedulerx2.0的客户端提供分布式执行、多种任务类型、统一日志等框架,用户只要依赖schedulerx-worker这个jar包,通过schedulerx2.0提供的编程模型,简单几行代码就能实现一套高可靠可运维的分布式执行引擎。 这篇文章重点是介绍基于…