产品介绍 - developer-res-cbc-cn.obs.cn-north-1 ... · 1 产品概述...
Post on 16-Mar-2020
11 Views
Preview:
TRANSCRIPT
分布式数据库中间件
产品介绍
文档版本 10
发布日期 2018-08-13
华为技术有限公司
版权所有 © 华为技术有限公司 2018。 保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传
播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或
特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声
明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文
档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
华为技术有限公司
地址: 深圳市龙岗区坂田华为总部办公楼 邮编:518129
网址: http://www.huawei.com
客户服务邮箱: support@huawei.com
客户服务电话: 4008302118
文档版本 10 (2018-08-13) 华为专有和保密信息
版权所有 © 华为技术有限公司
i
目 录
1 产品概述........................................................................................................................................... 1
2 产品功能........................................................................................................................................... 2
3 产品优势........................................................................................................................................... 4
4 应用场景........................................................................................................................................... 6
5 产品规格........................................................................................................................................... 7
6 使用限制........................................................................................................................................... 9
7 名词解释......................................................................................................................................... 11
8 版本说明......................................................................................................................................... 13
分布式数据库中间件产品介绍 目 录
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
ii
1 产品概述
分布式数据库中间件(Distributed Database Middleware,简称DDM),专注于解决数据库分布式扩展问题,突破了传统数据库的容量和性能瓶颈,实现海量数据高并发访问。
DDM使用华为关系型数据库(RDS)作为存储引擎,具备自动部署、分库分表、弹性伸缩、高可用等全生命周期运维管控能力。
图 1-1 分布式数据库中间件实现原理
说明
出于安全考虑,推荐从华为云内部ECS(弹性云服务器)访问分布式数据库中间件,二者必须在同一VPC(Virtual Private Cloud,虚拟私有云)中。
分布式数据库中间件产品介绍 1 产品概述
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
1
2 产品功能
分布式数据库中间件(简称DDM)具备水平拆分、平滑扩容、分布式事务、数据导入导出、SQL强兼容性、读写分离、全局序列等功能。
l 水平拆分
DDM支持数据库水平拆分。在创建分布式数据库后,只需选择拆分键,DDM就可以按照拆分键生成拆分规则,实现数据水平拆分,详细配置请参见如何选择拆分键和拆分算法。
l 平滑扩容
在数据库出现存储容量瓶颈时,DDM支持通过添加新的RDS实例对存储容量进行扩展,无容量上限,扩容无需应用改造,扩容进度支持可视化跟踪。
l 分布式事务
DDM当前支持单机、最大努力提交、最终一致性、强一致性四种事务模型,详细配置请参见切换事务模型。
l 数据导入导出
支持外部数据导入,帮助用户实现数据库平滑上云。
支持数据和表按照逻辑库/表导出,详细操作请参见DDM数据迁移。
l SQL兼容性
高度兼容MySQL协议和语法,详情请参见SQL兼容性。
l 读写分离
DDM的读写分离功能是对应用透明的。不需要应用任何代码修改,将RDS只读实例添加到DDM中即可。
能够实时提升数据库处理能力,提高访问效率,轻松应对高并发的实时交易场景,详细配置请参见修改RDS读策略。
l 全局序列
DDM提供全局序列服务,实现分布式环境下唯一键、主键等数据的全局唯一性。
DDM支持分布式全局唯一且有序递增的数字序列。满足业务在使用分布式数据库下对主键或者唯一键以及特定场景的需求,详细配置请参见创建逻辑表。
l 在线监控
DDM支持对读写比例以及慢SQL进行监控。帮助用户快速发现资源和性能瓶颈,详情请参见监控管理。
l Console运维管理界面
分布式数据库中间件产品介绍 2 产品功能
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
2
DDM提供Console界面,可在线对DDM实例、逻辑库、逻辑表、拆分规则等进行管理和维护。
分布式数据库中间件产品介绍 2 产品功能
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
3
3 产品优势
分布式数据库中间件(简称DDM)具有无限扩容、性能卓越、简单易用、快速部署、低成本等优势。
l 无限扩容
– 自动水平拆分。
– 支持字符串、数字、日期等多种拆纬度。
– 业务不中断平滑扩容。
l 性能卓越
性能通过水平扩展可线性提升。
l 简单易用
– 兼容MYSQL协议、语法、客户端。
– 轻松数据导入,数据库上云。
– 一键实现数据库扩容。
– 业务零代码改动,实现读写分离。
l 快速部署
可在线快速部署实例,节省采购、部署、配置等自建数据库工作,缩短项目周期,帮助业务快速上线。
l 低成本
稳定的产品,完善的运维和技术支持,相比开源产品总体性价比更高;多种实例规格配置覆盖不同业务规模场景,按需购买。
单机关系型数据库的现状与困境
随着互联网飞速发展,企业数据越来越庞大,应用对性能要求也越来越高。单机关系型数据库对大批量数据的处理存在一定的局限性:
l 单机数据库容易产生容量与性能瓶颈
当前的硬件条件下,主流数据库可以支持单表千万级数据量的存储,但是难以支撑密集的并发读写,存在性能瓶颈。
l 传统的分区分表或分库方案限制太多
采用分区表方案,数据不能跨实例存储,扩展性和维护性较差。
采用分库方案,客户端需要自行管理各库连接,数据库连接管理和升级复杂,扩容迁移困难。
分布式数据库中间件产品介绍 3 产品优势
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
4
l 单机数据库服务器成本高昂
普通X86服务器支撑能力有限,品牌厂商的服务器价格高昂,通过增加硬件规格来提升并发性能的成本太高,且能到达的性能高度有限。
DDM 相对于单机关系型数据库的优势
DDM解决了单机关系型数据库对硬件依赖性强、扩展能力有限、数据量增大后扩容困难、数据库响应变慢等难题,通过分布式集群架构方案实现了“平滑扩容”,扩容过程中保持业务不中断。
l 数据分布式存储
DDM采用水平拆分方式,将数据记录数庞大的单表,按指定的拆分规则,分布式存储到各个分片中。同时DDM提供路由分发功能,应用服务无需考虑数据该写入哪个分片,该从哪个分片读取。
l 读写分离
用户可以根据数据读取压力负载情况,为每个RDS实例配置一个或者多个只读实例,提高查询并发性能。
l 高性能
在实际业务访问中,SQL主要的性能瓶颈集中在物理数据库节点上。
DDM实例关联多个RDS节点,减少单个RDS存储的数据量,同时实现并行计算,支持PB级数据量访问,以及百万级高并发。
l 在线平滑扩容
DDM在不中断业务的情况下,支持新增RDS实例,水平扩容存储空间。一键式扩容,轻松解决单机关系型数据库的容量瓶颈。
分布式数据库中间件产品介绍 3 产品优势
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
5
4 应用场景
分布式数据库中间件(简称DDM)是一个面向OLTP业务的分布式关系型数据访问服务,适用于各行业数据库应用。
特别是大规模的数据存储与高并发访问的行业应用,如大型应用、物联网数据、文件索引、高性价比数据库解决方案等应用场景,主要应用场景包括如下:
l 大型应用
电商、金融、O2O、零售、社交应用等行业,普遍存在用户基数大、营销活动频繁、核心交易系统数据库响应日益变慢的问题,制约业务发展。 DDM 提供线性水平扩展能力,能够实时提升数据库处理能力,提高访问效率,轻松应对高并发的实时交易场景。
l 物联网数据
在工业监控和远程控制、智慧城市的延展、智能家居、车联网等物联网场景下。传感监控设备多,采样频率高,数据规模大,会产生超过单机数据库存储能力极限的数据,造成数据库容量瓶颈。DDM 提供的容量水平扩展能力,可以有效的帮助用户低成本的存储海量数据。
l 文件索引
互联网、社交应用等常存在大量的图片、文档、视频数据,数据量都在亿级~万亿级。通常要将这些文件的索引存入数据库,并在索引层面提供实时的新增、修改、读取、删除操作,对性能要求极高。传统数据库无法支撑如此规模的访问和使用,DDM提供超高性能和分布式扩展能力,有效提高索引的检索效率。
l 高性价比数据库解决方案
政务机构、大型企业、银行等行业为了支持大规模数据存储和高并发数据库访问,传统方案需要强依赖小型机和高端存储等高成本的商业解决方案。DDM利用普通服务器进行集群部署,提供与传统商业解决方案相同甚至更高的处理能力。
分布式数据库中间件产品介绍 4 应用场景
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
6
5 产品规格
分布式数据库中间件(简称DDM)产品规格包含实例规格和租户配额。实例支持多种规格,您可以根据实际情况合理选择相应的实例规格;租户配额指每个实例可创建的DDM资源数量。
实例规格
分布式数据库中间件(简称DDM)支持的实例规格参见表5-1。
表 5-1 DDM 实例规格
实例规格名称 CPU(核) 内存(GB)
ddm.s2.xlarge.2 4 8
ddm.s2.2xlarge.2 8 16
ddm.s2.4xlarge.2 16 32
ddm.s2.8xlarge.2 32 64
ddm.s2.12xlarge.2 48 96
ddm.s2.16xlarge.2 64 128
ddm.c3.20xlarge.2 80 160
ddm.c3.24xlarge.2 96 192
ddm.c3.28xlarge.2 112 224
ddm.c3.32xlarge.2 128 256
ddm.c3.36xlarge.2 144 288
ddm.c3.40xlarge.2 160 320
ddm.c3.44xlarge.2 176 352
ddm.c3.48xlarge.2 192 384
ddm.c3.56xlarge.2 224 448
分布式数据库中间件产品介绍 5 产品规格
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
7
实例规格名称 CPU(核) 内存(GB)
ddm.c3.64xlarge.2 256 512
租户配额
租户有可以创建的DDM资源数量限制。
表5-2列出了租户在每个项目(project)下的资源配额及其默认数量。
表 5-2 DDM 租户配额说明
参数 默认值 备注
实例数 2 租户实例数配额,默认2个。租户可以在管理控制台查看默认服务配额信息,并且申请扩大配额。
CPU核数 256 租户的CPU核数配额,默认256核。租户可以在管理控制台查看默认服务配额信息,并且申请扩大配额。
内存容量(GB)
512 租户的内存大小配额,默认512GB。租户可以在管理控制台查看默认服务配额信息,并且申请扩大配额。
分布式数据库中间件产品介绍 5 产品规格
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
8
6 使用限制
在使用分布式数据库中间件(简称DDM)过程中,网络访问、RDS实例、SQL语句的使用限制。
网络访问使用限制
l DDM实例和RDS实例必须创建在同一个VPC子网内。
l DDM实例所在的ECS对用户不可见,即只允许用户的应用程序通过IP地址和端口访问数据库。
RDS 实例使用限制
l DDM支持的RDS实例数据库引擎为MySQL,暂时不支持RDS实例配置SSL连接。
l DDM在导入RDS实例时:
– 会对如下参数进行统一设置,建议不要手动修改设置。
n lower_case_table_names=1
是否区分大小写。1表示不区分大小写,且以小写的形式保存。
n binlog_format=row
binlog记录方式。row表示将binlog记录成每一行数据被修改的形式,包括修改前和修改后的数据。
– 对于使用缺省参数组的RDS实例,RDS将创建一个与该实例同名的参数组。
– RDS对同一租户下参数组数量有限制。如果报参数设置错误,请检查是否存在多余参数组。
l 对已经被DDM关联的RDS实例进行如下管理操作时,可能导致DDM相关功能异常。
– RDS数据恢复类,如RDS实例数据恢复。
– RDS实例修改类,如修改RDS的数据库密码、增删只读实例、修改参数组等。
– RDS数据删除类,如删除RDS实例、删除数据库/账户/表/记录等。
l 删除RDS实例前,请先在DDM实例删除关联的逻辑库。
l 删除DDM实例或删除逻辑库,会自动删除RDS实例上对应数据库,相关数据会被删除。
分布式数据库中间件产品介绍 6 使用限制
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
9
SQL 语法使用限制
应用与DDM数据库的连接简单易用,类似配置JDBC连接池,客户通过配置文件,设定数据库服务器IP、端口、用户名与密码,即可正常与DDM对接,实现数据操作。
DDM高度兼容MySQL语法。为了保证DDM的快速响应,以及分布式数据库中间件架构自身存在的一些限制,DDM对使用SQL的约束如下:
l MySQL版本:兼容MySQL5.6以上各版本。
l 不支持修改分片字段(拆分键)。
l 不支持跨分片子查询。
l 不支持跨分片JOIN。
l 不支持涉及多表UPDATE语句。
l 对于分片表,LOAD DATA语句必须带上主键列,LOAD DATA不处理全局主键。
l 不支持不带字段的INSERT INTO语句。
l 分片表不支持内层函数是聚合函数的嵌套函数调用,如:SELECTCONCAT(SUM(amount),'yuan') FROM tabletest,执行结果会和预期不一样。
l 分片表不支持GROUP_CONCAT行转列函数,执行结果会和预期不一样。
l 不支持SHOW TRIGGERS语法。
l 不支持SHOW TABLE STATUS语法。
l 不支持全局表最终一致性。
l 不支持类似ORDER BY FIELD(id,1,2,3)这种自定义排序。
l ORDER BY的字段需要包括在前面的SELECT字段里。
l 聚合函数如COUNT(*),如果需要在ORDER BY,HAVING中使用,需要加上别名。
l SQL执行返回的协议包中,Deleted、Skipped、Warnings三项统计不支持,返回结果可能与预期不符。
关于SQL兼容性详细说明,请参见SQL兼容性说明。
注意
由于分布式事务的特性,对于增、删、改等批量SQL操作,或者对全局表的增、删、改操作,都需要设置手动提交事务,以确保数据记录改动的准确无误。
例如客户端在批量操作时,可进行如下设置:
set autocommit=0; {sql operations};commit;
分布式数据库中间件产品介绍 6 使用限制
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
10
7 名词解释
本文主要对分布式数据库中间件(简称DDM)涉及的专有名词及术语进行定义和解析,方便您更好地理解相关概念并使用DDM。
l DDM实例
DDM给用户提供的最小资源单位,实例运行在弹性云服务器上,用户根据业务需要申请相应规格的服务,具体支持的规格请参见表5-1。
l RDSRDS(Relational Database Service)是基于华为公有云的在线关系型数据库服务,有即开即用、稳定可靠、安全运行、弹性伸缩、轻松管理、经济实用等特点,支持单机、主备或集群模式部署。有关RDS服务的详细介绍请参考关系型数据库。
l RDS实例
RDS的最小管理单元是实例,一个实例代表了一个独立运行的关系型数据库。实例可分为:主实例、备实例和只读实例。
DDM主要提供分布式计算服务与管理,需要关联RDS实例进行数据分片存储及读写。
l 平滑扩容
在不中断应用服务的情况下,通过新增RDS实例,扩展数据库存储空间。
扩容除了解决数据存储容量瓶颈,还能通过增加并发计算能力间接提升数据库性能。通过DDM管理控制台操作即可完成扩容,应用无需改造,扩容进度支持可视化跟踪。
l 透明读写分离
DDM将应用服务的读和写请求分别指向不同的RDS实例处理。当系统读压力较大时,通过给RDS实例增加只读实例,把数据读取操作转移到只读实例上,提升数据库并发性能。
DDM的读写分离功能是对应用透明的,不需要应用做代码修改。
l 分片与分片表
DDM实例在RDS实例上创建多个物理库,每一个物理库称为分片,在分片上建立的表,叫分片表(不包括单表和全局表)。数据按照分片规则被分配到不同的分片上,分片上的数据支持分布式并行计算。
l 单表
当表数据量不大,且不需要与分片表进行连接查询时,可以只在DDM的默认分片上建表与存储数据,这类表称为单表。
单表只能通过MySQL客户端或者应用程序连接逻辑库创建。
分布式数据库中间件产品介绍 7 名词解释
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
11
l 全局表
将一些数据量小且更新操作不频繁的数据表,如字典表、配置表等,在所有分片上都存储全量数据,提升JOIN效率,这类表叫全局表。
l 全局序列
在分布式数据库中,数据被存储在各个分片表中,关系型数据库中的主键约束,将无法使用。因此在DDM中引入了全局序列号,保证有唯一约束要求的数据,从各分片表聚合后仍然具有数据唯一性。
l 水平拆分
将数据表按照拆分规则,拆分为多个分片上的分片表。表拆分后,数据将被按照拆分规则存储到分片表中。
水平拆分主要解决单机数据库的单张表容量限制问题,同时提高访问性能。
l 全表扫描
对于分片表,如果SQL语句中没有指定拆分键,DDM将在所有分表上执行,然后归并结果返回,这个过程称为全表扫描。
用户应尽量优化SQL语句,通过指定拆分键,避免全表扫描。
分布式数据库中间件产品介绍 7 名词解释
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
12
8 版本说明
发布日期 说明
2018-08-13 l DDM全局序列新增自动判断。
l DDM支持向CSB提供实例名称标识。
l DDM自定义参数配置增加字符集charset。
l DDM推出更高端实例规格。
2018-07-22 l DDM支持分布式事务。
l 修正前一版本的错误。
2018-07-06 l DDM支持日期函数。
l DDM支持不同AZ不同flavor的售罄。
l DDM支持自定义实例参数。
l DDM支持删除RDS时不删除关联RDS上的数据。
l DDM支持修改RDS读写分离策略。
2018-06-05 l DDM支持RDS实例主备切换。
l DDM支持查询系统库information_schema。
l DDM数据迁移优化。
分布式数据库中间件产品介绍 8 版本说明
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
13
发布日期 说明
2018-05-12 l DDM、ECS、RDS支持同VPC跨子网互通,支持情况如下:
– 2018年5月12日之后创建的DDM实例才支持该功能。
– 2018年5月12日之前创建的DDM实例如需支持该功能,请提交工单申请,由华为技术支持人员为您处理。
l DDM实例支持秒删。
l 新增Range分片。
l DDM支持包周期模式实例退订。
l DDM实例支持重启。
l DDM支持自定义分片数。
l 支持php连接DDM负载均衡。
2018-03-31 l 支持逻辑库平滑扩容。
l DDM实例计费支持包周期模式。
2018-02-28 l DDM正式商用。
l 支持跨可用分区部署。
l 实例由单机升级集群部署。
2017-12-12 华南-广州上线。
2017-09-22 Console 3.0风格切换。
2017-08-01 公测版本发布。
分布式数据库中间件产品介绍 8 版本说明
文档版本 10 (2018-08-13) 华为专有和保密信息版权所有 © 华为技术有限公司
14
top related