写点什么

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

  • 2019-11-26
  • 本文字数:1692 字

    阅读完需:约 6 分钟

华为云新型分布式数据库 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:001492

评论

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

js作用域、作用域链和它的一些优化

hellocoder2029

JavaScript

用Vue.js开发企业管理后台,我做到了

博文视点Broadview

linux(centos)中部署docker(步骤超全,含带一些发展史和一些概念)

A-刘晨阳

Docker Linux 运维 11月月更

HarmonyOS线上Codelabs系列挑战赛第二期:调用三方库,制作酷炫的视觉效果

HarmonyOS开发者

HarmonyOS

成为web前端工程师培训和自学选择

小谷哥

云栖盘点 | 一文 get 云原生峰会的最全发布

云布道师

云原生 云栖大会

docker如何在容器外执行容器内命令

A-刘晨阳

Docker Linux 运维 11月月更

params传参与body传参区别

源字节1号

软件开发 前端开发 后端开发 小程序开发

javascript 高级编程 之 Array 用法总结

hellocoder2029

JavaScript

软件测试面试真题 | UI自动化测试如何通过子元素定位父元素?

测试人

软件测试 面试题 自动化测试

云栖盘点:2022 云网络产业干货分享

云布道师

云网络 云栖大会

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与软件生命周期管理工具Helix ALM

龙智—DevSecOps解决方案

版本控制 软件开发生命周期 版本管理 ALM

安装户外LED显示屏安装注意事项

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

技术内幕 | StarRocks 支持 Apache Hudi 原理解析

StarRocks

#数据库

​GOPS演讲 | 如何构建现代运营与支持体系,实现团队的高效协同

龙智—DevSecOps解决方案

gops ITSM ITSM解决方案 GOPS全球运维大会

开源代码安全 | 西门子为保护代码安全采取了什么措施?

龙智—DevSecOps解决方案

SCA SCA工具 开源代码安全

用javascript分类刷leetcode3.动态规划(图文视频讲解)

Geek_07a724

JavaScript LeetCode

JavaScript刷LeetCode拿offer-js版字典

Geek_07a724

JavaScript LeetCode

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

DAO社区治理代币投票挖矿系统开发合约定制

开发微hkkf5566

JavaScript刷LeetCode-字符串类解题技巧

Geek_07a724

JavaScript LeetCode

JavaScript刷LeetCode心得

js2030code

JavaScript LeetCode

javascript尾递归优化

hellocoder2029

JavaScript

在线研讨会报名 | 如何通过自动化测试实现降本、增效与提质

龙智—DevSecOps解决方案

自动化测试 研讨会

HarmonyOS 3开启新一轮升级,3年前的nova 6也能更新!

极客天地

让数据流动起来,RocketMQ Connect 技术架构解析

阿里巴巴云原生

阿里云 RocketMQ 云原生

【LeetCode】只出现一次的数字Java题解

Albert

算法 LeetCode 11月月更

干货|分析PostgreSql单表60w数据却占用55g空间

查拉图斯特拉说

数据库 postgresql db 11月月更

AR Engine光照估计能力,让虚拟物体在现实世界更具真实感

HarmonyOS SDK

AR HMS Core

Go语言入门16—锁

良猿

Go golang 后端 11月月更

你知道IPC二级和IPC三级有什么区别吗?两者对PCB产品的影响又是什么呢?

华秋PCB

PCB ipc PCB设计

华为云新型分布式数据库 Taurus 之谜_语言 & 开发_HW云数据库_InfoQ精选文章