本篇内容介绍了“MySQL Taurus技术有什么优点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!传统的数据库体系结构已有 30 多年的历史,专为本地部署,本地存储和单机数据库实例而设计和优化,此后很长一段时间内,该体系结构未针对公有云环境进行优化。在公有云环境下,计算和存储通过网络分离以支持多租户数据库实例并 scale out 向两端扩展;并不要求单个节点的高可靠性。举例来说,假设一个本地数据库的每个数据库实例都有本地存储,为了支持高可用性,通常部署一个备实例并使用数据库内部复制机制将数据库日志(MySQL binlog)发送到备实例重建数据库副本。目前,大多数云厂商都采用类似机制来支持云数据库高可用性。但是,这种内部复制机制并没有利用云存储已经通过存储层复制提供的可靠性,这导致大量存储和带宽浪费。实际上,备数据库实例可以通过云存储与主实例共享数据,不仅可以节省磁盘空间和带宽,还可以为云数据库服务提供快速 RTO。很明显,在将传统数据库迁移上云时,需要重新设计和优化数据库系统。过去几年,主要云供应商,比如 AWS 和阿里云,已经做了部分工作。预计未来几年,更多云和数据库供应商将遵循这一趋势,构建某种形式的云原生数据库技术。此外,Gartner 预测,到 2019 年,90%的云数据库架构将支持计算和存储分离。值得注意的是,除了基于云环境的数据库架构重新设计之外,这一领域还存在两大趋势:在云原生数据库中利用新硬件:如新硬件和RDMA。这些都是活跃的研究领域,然而除了充当缓存和计算机与存储之间的快速链接之外,到目前为止,我们还没有看到任何其他的突破性。基于即时和历史收集的数据,使用ML(机器学习)和统计技术来帮助管理和自我调整云数据库,包括但不限于数据库实例自动伸缩和参数设置和自动调整,异常检测等。当前,对于 RDS for MySQL,各大云厂商基本都采用主备高可用模式、主备间使用 Binlog 复制,该架构下每添加一个从库都需要全栈式资源,这导致了一些问题:备库往往不承担流量;复制线程会消耗主库 / 从库计算资源,造成计算资源浪费;EVS 的 3 副本冗余机制下,N 个备库最大需要 3*(N+1) 个副本,造成存储资源浪费以及多种数据需要走存储网络进行刷盘,造成网络资源浪费等。添加只读时需要拷贝数据,重放 binlog,对于大数据量情况下速度很慢,尤其是采用本地盘方案。主从复制延迟问题会让主备倒换受影响,难以保证 RTO。此外,采用物理备份、逻辑备份时备份恢复速度很慢, 1T 以上数据量都以小时计,使得数据库扩展性受限。
华为云 Taurus 与 Amazon Aurora 数据库进化的方向是一致的,然而进化路径各有不同,这是由各自的数据库云服务实现方式不同所决定的。华为云 RDS MySQL 有如下几个版本,这些产品形态满足不同的用户业务场景,具有不同的特点,可以进行优势互补。MySQL 单机版采用数据库计算节点和存储节点分离的方式,利用云盘数据本身的可靠性和多副本的特性,同时也利用 ECS 云服务器虚拟化来提升标准化部署、版本和运维管理效率,能够满足低端用户不太注重高可用服务的业务场景。MySQL 高可用版则是针对企业级用户提供的高可用数据库版本,提供 99.95% 的 SLA 保障。采用 Active-Standby 高可用架构,主节点和备节点之间通过 MySQL Binlog 进行数据 Replication。当主节点发生故障,备节点接管服务。同时还支持最多 5 个只读节点,支持负载均衡的数据读写分离的访问方式。MySQL 金融版是针对金融行业等高端用户设计的高可用、高可靠云服务产品。一主两备三节点架构,可跨 AZ 部署,任意一台服务器宕机不影响业务可用性;基于 Paxos 协议,实现了分布式下数据的强一致性,拥有更加优异的故障恢复时间,满足数据容灾备份等业务场景的需求。
Taurus 采用计算与存储解耦的技术架构,同时可以最多支持 15 个只读节点。主节点和只读节点之间是 Active-Active 的 Failover 方式,计算节点资源得到充分利用,由于使用共享存储,进一步降低了用户使用成本。将部分计算能力卸载到存储节点软硬件深度优化,充分利用 RDMA 网络、NVME SSD 等硬件优势日志即数据,与传统 RDS for MySQL 相比,不再需要刷 page,所有更新操作都记录日志,不再需要 double
write,减少了网络通信。另外在 DB Server 设计上,完全拥抱开源生态,完全兼容 MySQL 8.0。华为云 Taurus 和 Amazon Aurora 的一个共同设计哲学就是,先推出一写多读的版本,根据市场需求,适时推出多写版本,满足绝大多数 OLTP 应用场景和性能要求。采用华为下一代云存储(DFV)作为快速,可扩展,可靠和共享数据库存储。不复制存储层中的已有功能,例如,数据复制,跨 AZ 可靠性,数据清理。单个数据库集群应该只需要一份足够可靠的数据库副本集。所有只读副本共享存储在云存储中,甚至跨
AZ,数据库层中没有逻辑复制。一写多读,没有独立的备用实例。主节点发生故障转移时,只读副本可以切换到接管主服务器。记录为数据库。仅顺序写入以最小化 SSD 磨损(避免写入放大)只有数据库日志通过网络从数据库计算机节点写入 DFV 存储层。没有页面检查点和刷新跨网络,没有双重写入。基于 DFV
存储层内的数据库日志重建数据面,以避免繁重的网络流量。基于跨 DFV 存储节点的切片策略对数据库进行分区,以支持大型数据库卷。单个 DFV
存储节点管理来自不同数据库集群实例的多个分片,实现存储容量和处理能力的无限扩展。如图所示,Taurus 是一个分布式集群架构设计,采用计算与存储分离的设计理念,满足公有云计算环境下用户业务弹性扩展的刚性需求。数据库计算节点和存储节点之间采用高速网络互联,并通过 RDMA 协议进行数据传输,使得 I/O 性能不再成为瓶颈。数据库节点采用和 MySQL 完全兼容的设计。主节点和只读节点之间开发云主机域名采用 Active-Active 的 Failover 方式,提供 DB 的高可用服务。同时 ,DB Server 之间仅需同步 Redo log 相关的元数据信息。SQL Nodes管理客户端连接、解析 SQL 请求,、分析执行计划并执行和管理事务隔离级别一主多读主库和只读松耦合主库和只读通信少快速 Failover引入内核中的一些特性
Query result cache
Query plan cache
Online DDL只读节点在本地 buffer pool 中维护数据页的多个版本减少从存储的远端读取数据页主库交互MVCC: 同步主库当前活跃事务列表页失效: 接收主库页失效列表部署 RoCE RDMA 以减少网络延迟并增加带宽。在单个 AZ 中,Taurus 可以利用高速网络(RDMA)来获得更新和读取的低延迟存储 I/O,这对于低客户端连接方案非常有用。存储抽象层 (SAL) 是逻辑层,将数据存储和 SQL 前端、事务、查询执行等进行隔离。由一组容量和处理能力按需扩展的分片节点组成,SAL 将所有 SQL 节点需要的数据页按分片管理和横向扩展。随着数据库规模的增长,可用资源(存储、内存)随着分片创建按比例增长。数据处理本地化,数据密集型操作是在存储节点上按分片服务执行。Taurus 存储基于华为云存储 DFV 持久层。DFV 持久层集群包括多个存储节点。每个存储节点包含多个 SSD 设备和适应 SSD 介质的 append 存储服务进程。 DFV 持久层为 SQL 节点提供存储接口。Taurus 采用日志化方式处理 SQL 节点数据,即通常表述的“日志即数据”。数据组织采用面向 SSD 重新设计的 Append 模式,显著减少系统写放大,减少存储时延。同时,在 Append 模式下,数据回滚和回档变得非常快速。与传统 RDS for MySQL 相比,只有一份存储。添加只读节点时,只需添加计算节点,无需额外购买存储。只读节点越多,节省的存储成本越多。横向扩展更快。Taurus 采用共享存储,只需添加计算节点,无论多大数据量,只需 5 分钟左右,并且支持 15 个只读.纵向扩展更快。容器化部署,规格变更更快。主从倒换时间更快。 消除了复制延迟,RTO 有保证。数据库 Crash 恢复更快。性能更强软硬结合,基于硬件:Hi1822 卸载,NVMe SSD,RDMA,同时内核进行优化:去掉 double write,Query Cache/Plan Cache 优化,Innodb Lock Management 优化,Audit Plugin 效率优化,性能达到原生 MySQL 的 7 倍。专为 Taurus 引擎定制的分布式存储系统,极大提升数据备份、恢复性能强大的数据快照处理能力。AppendOnly vs. WriteInPlace,数据天然按多时间点多副本存储,快照秒级生成,支持海量快照。任意时间点快速回滚。基于底层存储系统的多时间点特性,不需增量日志回放,可直接实现按时间点回滚。并行高速备份、恢复。备份及恢复逻辑下沉到各存储节点,本地访问数据并直接与第三方存储系统交互,高并发高性能。快速实例恢复。通过异步数据拷贝 + 按需实时数据加载机制, Taurus 实例可在数分钟内达到完整功能可用。“MySQL Taurus技术有什么优点”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注开发云网站,小编将为大家输出更多高质量的实用文章!
相关推荐: CentOS 8 二进制 高可用 安装 k8s 1.16.x
基本组件安装 配置Docker yum源[root@k8s-master01 k8s-ha-install]# curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。