写点什么

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

评论

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

MySQL 数据库开发入门(四),java高薪训练营百度网盘

Java 程序员 后端

MySql数据引擎简介与选择方法,和字节跳动大佬的技术面谈

Java 程序员 后端

Netty权威指南:I-O-多路复用技术,java技术点总结

Java 程序员 后端

OpenYurt v0,linuxshell学习

Java 程序员 后端

MySQL 5,java架构师成长直通车

Java 程序员 后端

new-Object()到底占用几个字节,看完这篇彻底明白了!,springboot微服务架构书籍

Java 程序员 后端

Nginx配置反向代理和负载均衡,疯狂java讲义pdf百度云

Java 程序员 后端

P8级大佬整理在Github上45K+star手册,吃透消化,java算法面试题及答案pdf

Java 程序员 后端

RabbitMQ不讲武德,发个消息也这么多花招,nginx实现负载均衡原理

Java 程序员 后端

MyBatis详解:spring和mybatis整合,linux视频格式转换

Java 程序员 后端

MySQL 千万数据量深分页优化,mybatis从入门到精通pdf

Java 程序员 后端

MySQL最全整理(面试题+笔记,华为算法工程师面试经历汇总

Java 程序员 后端

Netty案例介绍-群聊案例实现,java架构师教程百度云

Java 程序员 后端

Nginx + Tomcat 搭建负载均衡,大牛带你直击优秀开源框架灵魂

Java 程序员 后端

OpenFaaS实战之二:函数入门,mysql集群数据同步原理

Java 程序员 后端

MySQL 事务隔离级别,java面试常问的设计模式

Java 程序员 后端

MySQL数据库--几种数据迁移的方法详解都在这了!看完必懂

Java 程序员 后端

Netty学习之旅------图说Netty线程模型,java项目面试难点

Java 程序员 后端

Netty相关面试题汇总,java从入门到精通第五版电子书下载微盘

Java 程序员 后端

Netty进阶:手把手教你如何编写一个NIO服务端,java集合容器面试

Java 程序员 后端

Nginx服务不行了怎么办,网商银行java面试

Java 程序员 后端

MySQL:第一次看到有人把MYSQL主从复制讲解的这么清楚,mysql教程菜鸟

Java 程序员 后端

Navicat for MySQL 执行sql文件过程分析(导入数据),中软国际Java笔试题

Java 程序员 后端

Netty中序列化框架MessagePack的简单实现,java技术面试完了复试

Java 程序员 后端

Netty入门教程——认识Netty,今年最新整理的《高频Java面试题集合》

Java 程序员 后端

Oracle最新的Sql笔试题及答案,Java面试真题解析火爆全网

Java 程序员 后端

Peter-Java 8中的Lambda表达式,java领域的相关技术领域

Java 程序员 后端

MyCat教程【分库分表】,java教程pdf百度网盘

Java 程序员 后端

MyCat:第四章:Mycat中的概念,linux内核编译教程

Java 程序员 后端

MySQL入门篇,java三层架构登录功能实现

Java 程序员 后端

Netty进阶:手把手教你如何编写一个NIO服务端(1),Java笔试常见编程题

Java 程序员 后端

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