写点什么

华为云新型分布式数据库 Taurus 之谜

2019 年 11 月 26 日

华为云新型分布式数据库 Taurus 之谜

3 月 30 日,由中国 MySQL 用户组主办的 ACMUG 全国巡讲深圳站圆满结束,华为云新一代企业级分布式数据库 Taurus 亮相技术峰会,其一系列高精尖特性背后的设计理念和技术原理也在外界的期盼中徐徐展现。


Taurus 是华为云自研的最新一代云原生分布式数据库,完全兼容 MySQL 8.0,采用计算与存储分离、日志即数据的架构设计,支持 1 写 15 读,性能达到原生 MySQL 的 7 倍。此外,Taurus 构建在共享分布式存储上,存储空间最高达 128T,能跨 AZ 部署。


纵观业界,华为云 Taurus 无论是功能还是性能,均走在了数据库领域的最前沿。那么,Taurus 又是如何推陈出新一步步走到今天的呢?


云上 MySQL 架构的不足

当前,对于 RDS for MySQL,各大云厂商基本都采用主备高可用模式、主备间使用 Binlog 复制(有些厂商采用 DRBD),该架构下每添加一个从库都需要全栈式资源。这导致了一些问题:


  1. 资源浪费

  2. 备库往往不承担流量;复制线程会消耗主库/从库计算资源,造成计算资源浪费;EVS 的 3 副本冗余机制下,最大需要 3*(N+1)个副本,造成存储资源浪费;以及多种数据需要走存储网络进行刷盘,造成网络资源浪费等。

  3. 扩展性不佳

  4. 添加只读时需要拷贝数据,重放 binlog,对于大数据量情况下速度很慢,尤其是采用本地盘方案。主从复制延迟问题会让主备倒换受影响,难于保证 RTO。此外,采用物理备份、逻辑备份时备份恢复速度很慢, 1T 以上数据量都以小时计,使得数据库扩展性受限。


数据库作为承载业务和应用的核心所在,提供高扩展、高性能、高可用的分布式服务日渐成为用户刚需。如何兼容 MySQL 生态、对原有 MySQL 应用无需任何改造就能轻松迁移?如何存储互联网业务下的海量数据?如何保障无缝弹性扩容、高可用、高并发性能?而现在,这些问题都找了答案。


华为云 Taurus 分布式架构满足用户数据库高要求

华为云的宗旨一向是想客户之所想,急客户之所需,华为云数据库 Taurus 也正是在这样的背景下诞生。


架构上,Taurus 采用计算与存储分离,日志即数据,将 IO 密集型负载卸载到存储节点完成。Taurus 还充分利用云存储的能力,实现存储层实现独立容错和自愈服务和共享访问(单写多读)。


此外,Taurus 还采用软硬件结合,充分利用 RDMA 网络、NVME SSD 等硬件优势,对内核进行深度优化,使性能有大幅提升。


对于大量对数据库有高要求的行业而言,华为云 Taurus 的推出无异于“雪中送炭”。不但性能强悍,而且数据安全可靠、业务有保障,可广泛应用于下面的应用场景。


强悍性能支撑业务拓展

随着 SaaS 应用在企业级市场的切入,高吞吐和高性价比随之成为大型互联网公司、传统大企业对数据库的要求。一方面,庞大的业务和高吞吐量使得开源库无法解决数据处理问题,另一方面,SQL Server、Oracle 等商用数据库的 license 费用也成为企业高成本的一大忧患。


Taurus 具有 RDMA、V5CPU、Optane 等硬件优势和数据库逻辑下推、释放算力、减少网络开销的架构优势,完全兼容 MySQL 8.0 并提供 7 倍于原生 MySQL 的性能,对用户而言不用改造业务就能充分享受超高性能的数据库服务。且成本只有商用数据库的 1/10。


极致可靠助力金融行业实现数据 0 丢失

故障闪恢复


受监管诉求驱动,可靠性和可用性是金融行业的核心诉求。第一要务是数据不能丢,其次是故障秒级恢复。但传统 MySQL 并不能支持此高要求。


Taurus 的共享存储架构,将数据持久化放入新一代存储中,充分保障数据强一致性和 0 丢失。Taurus 的存储 3 副本容错能力,使得数据库的单点故障 0 中断得以实现,加之对跨 AZ 部署和跨 Region 容灾的支持,让计算节点故障秒级恢复不再是难题。


多维扩展和海量存储

满足游戏行业高速发展需求


轻资产,快速扩容作为游戏行业使用云数据库驱动力,其主要目标在于解决无法预测用户流量以及产生的数据量、业务高峰时用户体验会受到影响甚至要停服扩容的问题。


Taurus 基于云虚拟化,单节点可规格变更,且计算节点支持双向扩展,支持 1 写 15 读,扩展比达 0.9。此外数据存储池化后最大可支持 128TB 容量,且存储按需计费, 扩容不中断业务,计算节点扩容也不会带来存储成本上升。


Taurus 的愿望很简单,希望用户同时享受商业级的技术服务和开源软件的生态红利。


本文转载自 HW 云数据库公众号。


2019 年 11 月 26 日 08:00161

评论

发布
暂无评论
发现更多内容

融云如何更换用户信息

融云 RongCloud

即时通讯

唠一唠融云 VIVO push 无法跳转的解决方案

融云 RongCloud

sdk

融云即时通讯SDK集成 -- 定制UI(一) ——会话界面小改动

融云 RongCloud

即时通讯

融云 IMkit 拦截或监听所有发送消息

融云 RongCloud

sdk

技术实践 | 网易云信 QUIC 加速服务架构与实践

网易云信

架构 音视频

融云即时通讯SDK集成 -- 华为推送的点击跳转处理

融云 RongCloud

即时通讯

融云即时通讯SDK集成 -- 定制UI(三) ——兼容Android Q

融云 RongCloud

即时通讯

阿里大师口述:让你可以在简历上写精通SpringBoot

云流

编程 架构 springboot

项目延期了,怎么办?

石云升

项目管理 28天写作 职场经验 管理经验 3月日更

容器or虚拟机?

xcbeyond

Docker 容器 3月日更 专业术语

融云聊天室属性 kv

融云 RongCloud

IM

京东数科面试真题:常见的 IO 模型有哪些?Java 中的 BIO、NIO、AIO 有啥区别?

云流

Java 架构 面试

融云 IM SDK 集成 --- 刷新会话界面和会话列表界面

融云 RongCloud

IM

markdown如何插入图片、音频、视频?

xiezhr

markdown markdown语法 音频

叫练手把手教你读JVM之GC信息

叫练

JVM JVM简介 JVM笔记

跳转到@消息的位置

融云 RongCloud

即时通讯

融云清空历史消息 Android 端

融云 RongCloud

sdk

唠一唠融云的消息扩展功能

融云 RongCloud

sdk

金三银四跳槽阿里必备:分布式/高并发/Redis,不看我真的怕你后悔

比伯

Java 编程 架构 面试 程序人生

一卷河图赋太虚:HMS Core CG kit与移动游戏新可能

脑极体

短网址服务设计整理

程序员架构进阶

设计实践 28天写作 架构· 实操案例 三月日更

融云即时通讯SDK集成 -- 定制UI(二) ——添加自定义表情库

融云 RongCloud

融云即时通讯SDK集成 -- 通知检查

融云 RongCloud

即时通讯

人的认知系统(知识的学习过程和怀疑的关系)

sdutyq

像这样操作 Python 列表,能让你的代码更优雅 | pythonic 小技巧

AlwaysBeta

Python

程序的扩展性,复用性与中台化建设

sdutyq

关于融云聊天室KV 值的正确使用

融云 RongCloud

即时通讯

配置融云SDK的自签证书

融云 RongCloud

sdk

融云如何把图片消息的图片上传到自己的文件服务器

融云 RongCloud

sdk

Android 端如何添加自定义表情

融云 RongCloud

IM

程序员代码为镜以正技术

sdutyq

华为云新型分布式数据库 Taurus 之谜-InfoQ