阿里云数字新基建系列:云数据库架构
- ISBN:9787121421198
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:352
- 出版时间:2021-09-01
- 条形码:9787121421198 ; 978-7-121-42119-8
本书特色
遨游海域的座头鲸、成群结队的角马、群聚飞翔的火烈鸟……构成了一幅幅壮美的生存画面,迁徙是自然界令人叹为观止的景观。 数智时代的“上云”与自然界的“迁徙”何其相似啊! 2021年伊始,我们博文视点的编辑团队联合阿里云技术团队,为广大IT技术人员奉上“阿里云数字新基建系列”。这个系列包括5本书,题材涉及Kubernetes、混合云架构、云数据库、CDN原理与流媒体技术、云服务器运维(Windows),囊括了领先的云技术知识与阿里云技术团队独到的实践经验,是国内IT技术图书中又一套重磅作品! 关于本书《云数据库架构》: (1)阿里云数据库产品事业部总裁、达摩院数据库与存储实验室负责人李飞飞力荐,全彩印刷,厚352页。 (2)详解云数据库领域各种引擎的特点与原理,助你理解数据库架构的选型要点!阿里云数据库专家朱明 李森 许文科 江厚顺 王超 郭宁 余从佳 王海忠聚力撰写!
内容简介
“阿里云数字新基建系列”包括5本书,涉及Kubernetes、混合云架构、云数据库、CDN原理与流媒体技术、云服务器运维(Windows),囊括了领先的云技术知识与阿里云技术团队独到的实践经验,是国内IT技术图书又一重磅作品。 数据库技术,被称为“计算机三驾马车”之一,几十年来,持续支持着全球亿万数字业务的运行,而云计算的出现,赋予了数据库新的能力。云数据库按引擎能力,可以分为关系型数据库、非关系型数据库、数据仓库和分布式新型数据库。本书从技术原理入手,讲解各种数据库的特点,分析不同场景的架构选型和数据库优化,继而展开到云数据库的迁移、云数据库的运维工作,期望能帮助读者了解和掌握云数据库相关知识与技能。
目录
第1章 关系型云数据库技术特点
1.1 RDS for MySQL
1.1.1 SQL语句在MySQL服务层的执行过程
1.1.2 优化器与优化器追踪(Optimizer Trace)
1.1.3 slowlog 与 binlog
1.1.4 InnoDB的MVCC
1.1.5 InnoDB redo日志
1.1.6 InnoDB Mini-Transaction
1.1.7 InnoDB undo日志
1.1.8 内部XA二阶段提交
1.1.9 半同步复制
1.1.10 线程池
1.1.11 X-Engine
1.1.12 RDS三节点企业版
1.2 RDS for SQL Server
1.2.1 SQL Server的架构
1.2.2 SQLOS
1.2.3 SQL Server的并发
1.2.4 SQL Server的优化器
1.2.5 RDS for SQL Server高可用实现
1.3 RDS for PostgreSQL
1.3.1 PGSQL的优化器
1.3.2 PGSQL MVCC与锁
1.3.3 PGSQL 复制与高可用
第2章 非关系型及新型云数据库技术特点
2.1 非关系型数据库
2.1.1 Redis & Memcached 缓存型数据库
2.1.2 MongoDB
2.2 数据仓库
2.2.1 AnalyticDB for MySQL
2.2.2 HBase & Lindorm
2.3 分布式和其他新型数据库
2.3.1 以PolarDB-X为代表的Share Nothing分布式集群
2.3.2 以PolarDB-M为代表的Share Everything集群
第3章 云数据库技术选型与场景实践
3.1 扩容的技术实践
3.1.1 业务请求量膨胀
3.1.2 数据容量膨胀
3.2 换代的技术实践
3.2.1 同系列升级
3.2.2 跨系列升级
3.3 热点访问的技术优化
3.4 场景实践
3.4.1 在线教育数据库选择
3.4.2 线上游戏数据库选择
3.4.3 工业/ IoT数据库选择
3.4.4 金融数据库选择
3.4.5 交通物流配送
第4章 数据库迁移的实现和方案
4.1 数据库迁移的类型和方式
4.2 逻辑数据迁移的实现
4.2.1 逻辑数据迁移的步骤与风险
4.3 云上的数据库迁移的工具
4.3.1 数据传输服务DTS
4.3.2 数据库和应用迁移服务ADAM
4.3.3 数据集成
4.3.4 BDS
4.3.5 其他迁移工具
4.4 不同场景下的数据迁移方案
4.4.1 场景1:一对一迁移
4.4.2 场景2:一对多高耦合业务迁移
4.4.3 场景3:多对一异构迁移
第5章 云上数据库运维指南与*佳实践
5.1 快速入门使用云数据库
5.1.1 创建RDS实例
5.1.2 设置白名单
5.1.3 设置连接地址
5.1.4 创建数据库和账号
5.1.5 常见运维管理
5.2 主备切换(HA)
5.2.1 HA健康检测机制
5.2.2 临时关闭主备自动切换
5.3 主动运维
5.3.1 消息接收管理
5.3.2 设置可维护时间段
5.3.3 待处理事件
5.4 使用Open API
5.4.1 API通信协议
5.4.2 API签名机制
5.4.3 OpenAPI Explorer
5.4.4 API问题诊断
第6章 安全管理DMS
6.1 产品介绍
6.1.1 什么是数据管理DMS
6.1.2 基础架构
6.1.3 DMS优势
6.2 使用指南
6.2.1 系统管理
6.2.2 实例管理
6.3 DMS*佳实践
6.3.1 权限管理
6.3.2 基于ADB和DMS企业版周期生成报表数据
6.3.3 自定义审批流程
6.3.4 不锁表变更-回收碎片空间
第7章 数据库自治服务DAS
7.1 初识数据库自治服务DAS
7.1.1 数据库运维与管理的挑战
7.1.2 解决方案自治服务DAS
7.2 从实战案例认识自治服务DAS
7.2.1 使用DAS分析优化慢SQL
7.2.2 使用DAS分析RDS实例CPU打满/打高现象
7.2.3 RDS实例活跃Session监控
7.2.4 10秒SQL分析
7.2.5 SQL自动限流
7.2.6 DAS如何分析RDS实例不同时段业务差异
7.2.7 异常检测
7.2.8 RDS实例情况整体分析
第8章 运维备份服务DBS
8.1 产品介绍
8.1.1 什么是DBS
8.1.2 产品优势
8.1.3 备份方式
8.2 使用指南
8.2.1 DBS与RDS备份的区别
8.3 DBS*佳实践
8.3.1 备份集自动下载到本地
8.3.2 快速恢复
8.3.3 数据库异地备份
第9章 监控利器之云监控
9.1 什么是云监控
9.1.1 产品构架
9.1.2 功能特性
9.2 产品优势
9.3 应用场景
9.4 使用指南和*佳实践
9.4.1 报警模板*佳实践
9.4.2 使用报警模板的操作步骤
9.4.3 通过钉钉群接收报警通知 P331
9.4.4 内网监控*佳实践 P333
节选
4.4 不同场景下的数据迁移方案 前面讲述了数据迁移的步骤、不同的数据库类型的迁移方式以及各种迁移工具,本节会以一个电商平台的系统架构发展的角度,列举自建数据库上云过程中的几个典型场景,通过前面讲述的内容对这些场景的迁移方案进行讨论和分析。 4.4.1 场景1:一对一迁移 A公司是一家小型电商创业公司,其电商平台涵盖了店铺、商品、订单、搜索、会员管理等模块,前期出于客户体量较低以及成本考虑,公司的技术团队使用图4-16所示的系统架构。 从这个框架中可以看到,该公司使用一台应用服务器进行业务请求的处理,业务系统的各个模块全部运行在该服务器上,并且使用了主备模式的数据库进行数据的存储和查询。该系统架构在业务发展初期已经完全可以满足需求。 假设该阶段公司技术团队为了更加灵活地对资源进行控制,应对突发流量对业务系统的压力,降低IT成本,决定对这套业务系统进行上云操作。 该系统上云分为两部分:应用与数据库。针对应用系统上云,技术团队选择在云上购买一台ECS服务器部署应用程序。重点讨论数据库上云,为了数据库系统的稳定和快速恢复,技术团队选择购买高可用版本的RDS MySQL数据库,由于本地的数据库是主备模式,而云上RDS for MySQL的高可用版本虽然也是主备模式,但是高可用的备节点主要做容灾,无法对外提供服务,所以要满足真正的主备模式,还需要在RDS高可用实例中添加一个只读节点来充当本地数据库架构中的备节点。产品选型之后的数据库架构如图4-17所示。 图4-16 系统架构 图4-17 一对一复制 产品选型完成后,开始对数据库进行迁移。在进行正式迁移之前,技术团队考虑了如下几点要素。 l 迁移工具:由于DTS对MySQL→MySQL的迁移支持非常好,而且支持增量迁移,方便业务切换,迁移工具决定使用DTS。 l 连接方式:考虑到数据安全和传输速率的影响,DTS连接本地数据库的方式使用专线连接。 l 业务影响:由于DTS迁移会对表的数据进行全表扫描,业务高峰期迁移会严重影响业务响应,故把迁移时间安排在了夜间零点之后。而且为了进一步降低对本地数据库主节点的影响,决定开启本地备节点数据库的Binlog,DTS连接本地备节点数据库进行数据迁移。 l 停机时间:由于云上有完整的一套业务系统,业务切换时只需将业务流量切换到云上系统即可,停机时间基本可以忽略。 l 迁移时间规划:本地数据库业务表数量500个,数据大概300GB,借助DTS,结构+全量数据理想情况下可以在3~4个小时内完成,后进行增量数据的持续迁移。 l 迁移策略:为了充分评估云上系统的性能,决定分批次切换现有用户流量到新的系统,并且持续保持本地数据库系统到云上数据库系统的数据同步,直到业务完全切换到云上且稳定运行后断开。如果在理想时间内因未知问题导致没有完成结构+全量的数据迁移,则取消迁移,评估解决实际问题后重新规划时间。 一对一迁移的迁移流程和*终架构如图4-18所示。 图4-18 一对一迁移 这是一对一迁移的典型场景,也是*简单的上云场景,由于业务模块全部在一个服务器中,不需要考虑业务模块上云的先后和调用问题。但是如果遇到多个业务模块耦合性较强的迁移场景,由于无法保证多个业务系统同一时间全部上云,直接这样一刀切就无法实现,这种多业务模块的场景迁移方案我们会在下一节讨论。 4.4.2 场景2:一对多高耦合业务迁移 随着A公司业务的发展以及人员的增多,之前的系统架构显现出了严重的问题,首先是所有的业务模块代码都放在一台主机上运行,且代码之间依赖性强,导致运维开发效率非常低,业务代码放到一台主机上运行,单台应用主机性能有限。其次是所有的请求全部与关系型数据库交互,热点数据容易给数据库造成非常大的压力,读写成为瓶颈。考虑到这两个主要因素,公司技术团队对其系统架构进行了调整。首先把业务进行拆分,独立到各个服务器中进行部署,各个系统之间如果有依赖则远程调用,其次,增加缓存数据库,降低热点请求对数据库压力的影响,如图4-19所示。 图4-19 原始多服务业务 假设在该阶段,为了实现资源的灵活可扩展,现公司的技术团队讨论决定让这套业务系统上云。 该系统上云分为三个部分。 应用系统:本地业务子系统有多套,各子系统之间存在请求调用。出于某些原因,无法同一时间让这些系统全部上云,决定先让订单子系统以及会员子系统上云。针对应用系统上云,只需在云上购买两台ECS服务器部署订单子系统和会员子系统。上云后由于订单和会员子系统与商品、库存、店铺等子系统存在调用关系,可以通过专线实现调用。 数据库MySQL:为了突破单体数据库的容量瓶颈,技术人员决定将数据库内的对象按照业务子系统进行拆分,将不同子系统的数据库对象迁移到云上的不同RDS实例中,且维持主备模式。针对数据库MySQL上云,购买多台RDS数据库主实例以及对应的只读实例。 数据库Redis:对于本地Redis,云上也有对应的Redis产品,购买云上Redis主从版,云Redis主从版与RDS高可用版架构相同,都是主备架构,备节点不提供服务。 与一对一迁移评估的要素相比,技术团队增加了如下几点要素。 迁移工具:考虑到操作的简便性,Redis→Redis的迁移同样选择用DTS进行。 迁移场景:由于要把本地数据库对象拆分到多个RDS中,迁移拓扑为1∶n迁移,需要使用多个DTS任务分别迁移本地数据库的各个子系统对象到云上的多台RDS数据库中。 一对多迁移的迁移流程和*终的架构如图4-20所示。 高耦合业务数据迁移场景一般发生在源端业务系统有多个,业务之间互相依赖性很强,而且依赖的数据库是同一个的情况。比如源端业务系统有多个,业务系统之间相互调用,如果迁移时做不到多个系统同一时间上云,首先需要考虑云上系统与云下系统的交互问题,其次需要考虑云上系统与云下系统的请求一致性问题,比如订单子系统一致性要求较高时,可以考虑订单子系统的写入和查询请求都通过专线访问本地数据库,然后由数据同步程序同步至云上数据库,如果会员子系统的一致性要求较弱,则可以直接读写云上数据库。 图4-20 一对多迁移 4.4.3 场景3:多对一异构迁移 随着A公司业务的继续高速增长,之前的系统架构再次面临了业务侧的挑战:单体数据库的容量与性能成为瓶颈,不能满足以后的业务需求。为了解决这个问题,公司技术团队决定对数据库进行垂直拆分与水平拆分,首先将单体数据库按业务维度拆分成多个独立的数据库,再对拆分后的数据库按照业务逻辑实体(假设为Y)维度水平拆分为多个独立的数据库,业务系统与拆分的数据库通过分布式数据中间件进行交互,各个独立数据库维持主备模式,如图4-21所示。 图4-21 多业务原始模型 更换到这个架构之后,当前系统可以满足业务相当长一段时间的发展。但是这个架构在进行实时报表分析时,无法满足分析要求,技术团队决定将这些数据迁移到云上OLAP数据库进行实时报表分析。在产品选型方面,由于本地数据库是MySQL数据库,技术团队考虑使用云上的云原生数据仓库MySQL版(简称ADB MySQL)进行实时报表分析。 在迁移评估要素方面,技术团队比之前增加了如下几点。 迁移工具:由于DTS对MySQL→ADB MySQL的迁移支持较完善,且支持增量迁移方便实时数据的同步以及库表映射,所以迁移工具决定使用DTS。 停机时间:报表分析业务是一套允许停机时间的独立业务系统,停机时间可以不作为重点考量的对象。 数据库对象映射:由于ADB MySQL数据库语法、数据库对象、数据类型等并非100%兼容MySQL,迁移时需要涉及一些类型的映射,比如 varchar类型,ADB中的varchar对应MySQL中的char、varchar、text、mediumtext或者longtext。其次,ADB MySQL不支持存储过程、函数等数据库对象,在迁移时也需要避免。*后还需要名称的映射,本地数据库的数据库表做了分库分表,迁移到云上ADB MySQL进行分析后,需要将这些分表的数据整合到ADB MySQL的一个表中。 迁移场景:由于本地数据库是分布式数据库,迁移到云上的一台ADB MySQL属于n∶1迁移,同样需要使用多个[1]DTS任务分别迁移本地分布式数据库的各个分库对象到云上ADB MySQL中进行数据合并(对象映射)。
作者简介
朱 明 微软原工程师,现担任阿里云数据库高级技术专家,擅长关系型、非关系型、分布式等多种数据库技术。从事数据库工作9年,有丰富的从业经验,擅长各类疑难杂症的排查和架构设计。 李 森 现担任阿里云售后技术专家,从事数据库相关工作8年,主要负责阿里云数据库产品线技术支持工作,擅长关系型、分布式等多种数据库技术,擅长设计与实施复杂数据库系统的搬迁方案。 许文科 阿里云技术专家,从事数据库相关工作12年,为多家上市公司、政企提供数据库顾问咨询、培训和方案设计、技术支持服务。目前就职于阿里巴巴,专注于阿里云数据库售后技术支持工作。 江厚顺 长期从事数据库方面的工作,对数据库原理有深入的理解,技术支持经验丰富。曾在IBM从事DB2数据库售后技术支持多年,2019年加入阿里云,担任数据库售后技术专家。 王 超 网易原工程师,现担任阿里云高级技术经理,长期从事互联网行业相关数据库项目支持工作,负责游戏、泛娱乐等行业客户的技术项目方案设计、架构优化、业务保障以及技术支持工作。 郭 宁 阿里云技术专家,深耕于互联网行业并从事数据库相关工作近11年,擅长关系型数据库和分布式数据库的性能诊断优化、架构设计及数据库运维生态开发。 余从佳 现担任阿里云数据库交付与架构工程师,擅长关系型、分布式、非关系型等多种数据库技术,先后多次参与游戏、金融、能源等行业头部客户数据库技术支持、国产化架构方案设计与迁云交付。 王海忠 搜狐集团原DBA,现担任阿里云数据库高级技术专家,拥有多年的互联网行业数据库工作经验,参与阿里巴巴集团多年“双十一”保障工作,有丰富的数据库优化、保障经验。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
零信任网络:在不可信网络中构建安全系统
¥37.2¥59.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
情感计算
¥66.8¥89.0 -
大模型RAG实战 RAG原理、应用与系统构建
¥69.3¥99.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥51.8¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥67.4¥89.8 -
LINUX实战——从入门到精通
¥51.8¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)
¥56.9¥79.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥81.8¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
做好课题申报:AI辅助申请书写作
¥48.9¥69.8 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0