云服务器内容精选

  • 只读节点visible lsn的推进 根据延迟的计算方式,产生延迟的关键点在于只读节点visible lsn推进速度的快慢。 只读节点推进visible lsn的工作流程如下: 只读节点通过与主节点通信,获取最新redo的lsn和其描述信息。 从log store中读取redo日志到内存中。 redo 日志解析处理,失效内存中相关元数据信息、更新内存中的视图信息等。 推进visible lsn。 在大多数情况下,主节点和只读节点时延很小,但是在一些特殊场景下如主节点做大量DDL时候,可能会产生较大的只读延迟。
  • 主节点与只读节点的通信 虽然主节点与只读节点共享底层存储数据,但是主节点和只读节点之间仍需要进行信息通信。 主节点发送到只读节点内容:redo的描述信息,比如redo日志的最新lsn和内部读取日志的接口信息。 只读节点发送到主节点内容: 只读节点当前的视图,视图中保存了当前的事务列表,主节点根据各个节点的视图信息,才能对undo日志进行purge清理。 只读节点的recycle_lsn,recycle_lsn表示只读节点读取数据页的最小lsn。对于只读节点来说,读取的数据页的lsn不会小于recycle lsn,主节点收集各个只读节点的recycle_lsn,来评估清理底层redo日志的位点。 各个只读节点的基本信息如节点ID, 最新消息更新时间戳等,用来主节点对只读节点的管理。 进行通信后,只读节点才能读取redo日志,进行数据可见性的更新,即从存储侧读取redo日志并推进全局数据可见的lsn(visible lsn)。
  • 只读延迟的计算 只读延迟是指在主节点更新数据后,在多少时间后能在只读节点得到这个最新数据。 只读节点读取redo日志进行缓存数据更新,对应的redo日志的lsn,称为visible lsn,表示只读节点能读取数据页的最大lsn。对于主节点来说,每更新或者插入一条数据产生的最新redo日志的lsn为flush_to_disk_lsn,表示主节点能访问的数据页的最大lsn。只读延迟其实就是只读节点visible lsn相比于主节点flush_to_disk_lsn的延迟,举个例子,比如t1时刻:主节点flush_to_disk_lsn=100, 只读节点visible lsn=80, 经过一段时间只读节点回放redo日志后,t2时刻:主节点 flush_to_disk_lsn=130,只读节点visible lsn=100。那么此时我们可以计算出只读延迟为:t2-t1,因为经过t2-t1的时间后只读节点才能读取主节点t1时刻的数据。
  • 实例操作限制 表5 功能使用限制 限制项 限制 说明 MySQL存储引擎 TaurusDB只支持InnoDB存储引擎。 - 访问TaurusDB 如果TaurusDB实例没开通公网访问,则该实例必须与弹性云服务器在同一个虚拟私有云内才能访问。 弹性云服务器必须处于目标TaurusDB实例所属安全组允许访问的范围内。 如果TaurusDB实例与弹性云服务器处于不同的安全组,系统默认不能访问。需要在TaurusDB实例的安全组添加一条“入”的访问规则。“入”规则开放TCP协议,使用实例的默认端口。 TaurusDB实例的端口: 默认端口为3306,需用户手动修改端口号后,E CS 或外网才能访问其他端口。具体操作请参见修改数据库端口。 - 数据迁移 使用DRS或mysqldump迁移到TaurusDB数据。 更多信息请参见数据迁移。 重启TaurusDB实例 无法通过命令行重启,必须通过TaurusDB的管理控制台重启实例。 更多信息请参见重启实例。 查看TaurusDB备份 TaurusDB数据库实例在 对象存储服务 上的备份文件,对用户不可见。 - 开启Binlog TaurusDB不支持只读节点开启Binlog。 更多信息请参见TaurusDB如何开启并查看Binlog文件?。 分区表 TaurusDB现有产品能力和社区8.0.22版本是兼容的,对于分区表,如果是list分区,目前每个分区的values最多只支持256个,超出会报错。(规避措施:将values个数过多的分区拆成更小的分区,确保每个分区的values个数都不超过256个。) - 小规格实例 对于2U8GB的TaurusDB实例,单个实例中总的表数量不能超过30万个,单个数据库中的表数量不能超过5000个。 -
  • 命名限制 表3 命名限制 限制项 限制 说明 实例名称 长度在4个到64个字符之间,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他特殊字符。 更多信息请参见修改实例名称。 数据库名称 长度在1~64个字符之间,由字母、数字、下划线、中划线组成,中划线累计出现的次数不能超过10次,且不能包含其他特殊字符。 不能使用保留关键字,防止报错。具体请参见保留关键字。 更多信息请参见创建数据库。 账号名称 长度在1~32个字符之间,由字母、数字、下划线组成,不能包含其他特殊字符。 不能使用保留关键字,防止报错。具体请参见保留关键字。 更多信息请参见创建数据库账号。 参数模板名称 长度在1~64个字符之间,区分大小写,可包含字母、数字、中划线、下划线或句点,不能包含其他特殊字符。 更多信息请参见创建参数模板。 备份名称 长度在4个到64个字符之间,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他特殊字符。 更多信息请参见创建手动备份。 表名/函数名/存储过程名/视图名 不能使用保留关键字,防止报错。具体请参见保留关键字。 更多信息请参见库表设计规范。
  • 安全限制 表4 安全限制 限制项 限制 说明 数据库的root权限 创建实例页面只提供管理员root账户。 - 账号密码 长度为8~32个字符。 至少包含以下字符中三种:大写字母、小写字母、特殊字符~!@#$%^*-_=+?,()&|.和数字。 不能与用户名或倒序的用户名相同。 需要符合validate_password相关参数的设定值。 您可以单击实例名称,在左侧导航栏选择“参数修改”,在页面右上方搜索“validate_password”,查看密码相关参数值。 更多信息请参见重置管理员密码。 端口 默认为3306,允许手动修改。 数据库端口设置范围为1025~65534,其中5342、5343、5344、5345、12017、20000、20201、20202、33060、33062和33071被系统占用不可设置。 更多信息请参见修改数据库端口。 虚拟私有云 VPC 目前TaurusDB实例创建完成后不支持切换虚拟私有云。 - 安全组 默认情况下,一个用户可以创建100个安全组。 默认情况下,一个安全组最多只允许拥有50条安全组规则。 目前一个TaurusDB实例允许绑定多个安全组,一个安全组可以关联多个TaurusDB实例。 创建实例时,可以选择多个安全组(为了更好的网络性能,建议不超过5个)。 - 系统账号 创建TaurusDB实例时,系统会自动为实例创建如下系统账户(用户不可使用),用于给数据库实例提供完善的后台运维管理服务。 rdsAdmin:管理账户,拥有最高权限,用于查询和修改实例信息、故障排查、迁移、恢复等操作。 rdsRepl:复制账户,用于备实例或只读实例在主实例上同步数据。 rdsBackup:备份账户,用于后台的备份。 rdsMetric:指标监控账户,用于watchdog采集数据库状态数据。 rdsProxy:数据库代理账户,该账户在 开通读写分离 时才会自动创建,用于通过数据库代理地址连接数据库时鉴权使用。 - 实例参数 大部分参数可以通过控制台或API进行修改,同时为了保证实例安全稳定运行,部分参数不支持修改。 更多信息请参见修改TaurusDB实例参数。
  • 规格与性能限制 表1 规格与性能限制 资源类型 限制 说明 存储空间大小 按需实例:最大128000GB。 包年/包月实例:40GB~128000GB。 Serverless实例:最大128000GB。 标准版HTAP实例:BE节点50GB~32000GB,FE节点50GB~1000GB。 - 临时盘空间大小 最大500GB。 更多关于临时盘的使用请参见TaurusDB的临时盘使用说明。 连接数 TaurusDB服务对此未做限制,取决于数据库引擎参数的默认值和取值范围。 更多关于最大连接数的内容请参见TaurusDB数据库实例支持的最大连接数是多少。
  • 配额限制 表2 配额限制 配额 限制 说明 TaurusDB实例 TaurusDB实例数量限制为50个。 如需更多配额,请参见申请扩大配额。 只读节点 单个“包年/包月”实例:可创建0~15个只读节点。 单个“按需计费”实例:可创建0~15个只读节点。 单个“Serverless”实例:可创建0~7个只读节点。 更多信息,请参见TaurusDB只读节点简介。 标签 每个实例最多支持20个标签配额。 更多信息,请参见TaurusDB标签管理。 免费备份空间 免费赠送部分存储空间,其总容量约为购买的存储容量的100%。 更多信息,请参见TaurusDB的备份是如何收费的。 自动备份保留天数 同区域备份:默认为7天,可选择范围为1~732天。可联系客服申请开通至最大3660天。 跨区域备份:1~1825天。 更多信息,请参见设置同区域备份策略和设置跨区域备份策略。 日志保留天数 错误日志明细:30天 慢日志明细:30天 慢日志明文显示:30天 更多信息,请参见日志管理。
  • TaurusDB引擎和版本 TaurusDB目前支持的数据库引擎和版本如表1所示。 表1 数据库引擎和版本 数据库引擎 兼容的数据库版本 支持的内核小版本 TaurusDB MySQL 8.0 2.0.57.240900 2.0.54.240600 2.0.51.240300 2.0.48.231200 2.0.45.230900 2.0.42.230600 2.0.39.230300 2.0.28.18 2.0.28.17 2.0.28.16 2.0.28.15 2.0.28.12 2.0.28.10 2.0.28.9 2.0.28.7 2.0.28.4 2.0.28.1 关于各个内核小版本的更新说明请参见内核版本发布说明。 父主题: 实例说明
  • 产品优势 性能强悍 采用计算与存储分离,日志即数据架构,性能提升至开源MySQL的7倍。 通过RDMA协议进行数据库传输,使IO性能不再成为瓶颈。 引入内核特性,例如Query result cache、Query plan cache、Online DDL等,提升用户体验。 弹性扩展 横向扩展:1写15只读节点,快速添加只读节点,满足高并发场景性能需求。 纵向扩展:分钟级规格升降级,轻松应对业务高峰。 高可靠性 支持跨可用区部署,跨区域备份,提升实例容灾能力。 存储三副本,数据更安全。 共享分布式存储,主节点故障时,只读节点自动升级成主节点,RPO为0。 主从节点时延支持ms级,保证业务高可用。 安全防护 采用共享分布式存储,故障秒级恢复,数据“0”丢失。 采用VPC、安全组、SSL连接和 数据加密 等严格控制安全访问。 已通过ISO 27001、CSA、可信云、等保三级等国内外15+安全认证,国内首家获得NIST CSF最高认证。 高兼容性: 完全兼容MySQL,应用无需改造即可轻松迁移上云。 高效备份 全量备份采用快照机制,秒级完成创建快照,具有更高的备份效率。 基于底层存储系统的多时间点特性,不需增量日志回放,可直接实现按时间点回滚。 海量存储 华为自研DFV分布式存储,容量高达128TB。 根据数据量自动伸缩,无须提前规划,节约成本。 算子下推 将过滤条件、列投影、聚合运算从计算节点下推到存储节点,跨存储节点并行处理,减少网络流量和计算节点的压力,提升查询执行效率。同时与并行查询功能进行融合,达成全流程并行执行。
  • 区域和可用区 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。
  • TaurusDB与RDS for MySQL的区别 TaurusDB拥有较好的性能、扩展性和易用性,详情请参见表1。 表1 TaurusDB与RDS for MySQL的差异 类别 RDS for MySQL TaurusDB 架构 传统主备架构,主备通过binlog同步数据。 存算分离架构,计算节点共享一份数据,无需通过binlog同步数据。 性能 十万级QPS,高并发场景下性能提升3倍。 支持百万级QPS;对于某些业务负载,吞吐量最高可提升至开源MySQL7倍;复杂查询场景,支持将提取列、条件过滤、聚合运算等操作向下推给存储层处理,性能相比传统架构提升数十倍。 扩展性 最多添加5个只读节点,添加只读所需时间与数据量大小相关,并且需要增加一份存储。 存储自动扩容,最大支持4TB。 最多添加15只读,由于共享存储,添加只读节点所需时间与数据量大小无关,且无需增加一份存储。 存储自动扩容,最大支持128TB。 可用性 故障自动倒换,RTO通常小于30秒。 主节点和只读节点无需通过binlog进行数据同步,延时更低,故障自动切换,RTO通常小于10秒。 备份恢复 通过全量备份+binlog回放实现任意时间点回滚。 通过全量备份(快照)+redo回放实现任意时间点回滚,备份恢复速度更快。 数据库版本 MySQL 5.6、5.7和8.0。 MySQL 8.0。
  • 审计 云审计 服务(Cloud Trace Service, CTS ),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 通过云审计服务,您可以记录与TaurusDB实例相关的操作事件,便于日后的查询、审计和回溯。 数据库安全服务(Database Security Service,DBSS) DBSS是一个智能的数据库安全服务,基于机器学习机制和大数据分析技术,提供数据库审计,SQL注入攻击检测,风险操作识别等功能,保障云上数据库的安全。 建议使用DBSS来提供扩展的数据安全能力,详情请参考数据库安全服务。 优势: 助力企业满足等保合规要求。 满足等保测评数据库审计需求。 满足国内外安全法案合规需求,提供满足数据安全标准(例如Sarbanes-Oxley)的合规报告。 支持备份和恢复数据库审计日志,满足审计数据保存期限要求。 支持风险分布、会话统计、会话分布、SQL分布的实时监控能力。 提供风险行为和攻击行为实时告警能力,及时响应数据库攻击。 帮助您对内部违规和不正当操作进行定位追责,保障数据资产安全。 数据库安全审计采用数据库旁路部署方式,在不影响用户业务的前提下,可以对数据库进行灵活的审计。 基于数据库风险操作,监视数据库登录、操作类型(数据定义、数据操作和数据控制)和操作对象,有效对数据库进行审计。 从风险、会话、SQL注入等多个维度进行分析,帮助您及时了解数据库状况。 提供审计报表模板库,可以生成日报、周报或月报审计报表(可设置报表生成频率)。同时,支持发送报表生成的实时告警通知,帮助您及时获取审计报表。
  • 日志 出于分析或审计等目的,用户可以开启实例的日志记录功能。当用户开启日志记录功能后,TaurusDB可以通过管理控制台查看。 错误日志 TaurusDB支持查看数据库级别的日志,包括数据库运行的错误信息,以及运行较慢的SQL查询语句,有助于您分析系统中存在的问题。 慢日志 慢日志用来记录执行时间超过当前慢日志阈值“long_query_time”(默认是10秒)的语句,您可以通过查询慢日志的日志明细、统计分析情况,查找出执行效率低的语句,进行优化。 全量SQL 当您开启全量SQL功能,系统会将所有的SQL文本内容进行存储,以便进行分析。 TaurusDB默认关闭全量SQL功能。 全量SQL打开后,可以通过数据库管理服务(Data Admin Service ,DAS)查看SQL语句耗时信息,例如平均执行耗时、总耗时、 平均锁等待耗时、平均扫描行数等。
  • TaurusDB产品架构 云数据库TaurusDB整体架构自下向上分为三层。 存储层: 基于华为DFV存储,提供分布式、强一致和高性能的存储能力,此层来保障数据的可靠性以及横向扩展能力,保证数据的可靠性不低于99.999999999%。DFV(Data Function Virtualization)是一个与数据库垂直整合的高性能,高可靠的分布式存储系统。存储集群采取池化部署,可以有效提升存储使用效率,构建以数据为中心的全栈数据服务架构的解决方案。 存储抽象层 (Storage Abstraction Layer):将原始数据库基于表文件的操作抽象为对应分布式存储,向下对接DFV,向上提供高效调度的数据库存储语义,是数据库高性能的核心。 SQL解析层:与MySQL 8.0开源版100%兼容,客户业务从MySQL生态可以平滑迁移, 从其他数据库迁移也能使用MySQL生态的语法、工具,降低开发、学习成本。基于原生MySQL,在100%兼容的前提下进行大量内核优化以及开源加固。 图1 架构图