写点什么

如何基于云场景设计高性能分布式数据库?

  • 2020-03-31
  • 本文字数:1417 字

    阅读完需:约 5 分钟

如何基于云场景设计高性能分布式数据库?

在云时代,企业 IT 业务走向跨地区、全球化部署,IT 应用软件逐渐云化、分布式化。数据库作为承载企业业务和应用的重心,具备跨地区分布式部署能力的需求日益凸显。也因此,华为云技术专家带来的主题演讲《基于云场景架构设计的分布式数据库》广受好评。


一切都会运行在云端,好的架构是包容所有好技术的重要前提。本次演讲不但总结了传统数据库上云或云服务化中遇到的问题,而且深入介绍了华为云原生分布式数据库的技术原理和最佳实践,与众多参会者共同探讨了云数据库在新时期的使用和发展方向。

传统架构下的“数据孤岛”

传统数据库架构源于 30 多年前的硬件设计,硬件上使用单处理器、小内存、慢速磁盘,技术上采用双机热备提供高可用(HA)。这意味着主库完成所有操作,传送日志到从库后,从库才重放日志更新本地数据副本。因此,数据库发生主库宕机、需要主备切换时系统依赖第三方仲裁。且主备实例间仅交互日志,这对于新型的互联网业务和高并发场景而言,严重制约了数据可用性和可靠性。



传统数据库架构


当前,中国有 70% 的新型企业的业务因数据挑战而受影响,其面临的主要问题包括了高成本和低效率。受数据“大爆炸”影响,新型企业的数据像孤岛一样散落分隔在各处,数据备份、数据挖掘和问题排查需要大量资源。企业负担不起商业 license 和专业工程师高昂的费用,因此存储、转移、分析并使用这些数据非常困难。


在此背景下,高可用、易用易维、高扩展、高性能、与大数据相辅相成的云数据库,尤其是基于云场景架构设计的云原生分布式数据库,成为企业上云最佳选择。其中计算与存储分离、能充分发挥最新硬件性能、利用 AI 和 ML(深度学习) 等功能成发展趋势。


Gartner 报告显示


到 2019 年,90% 的云数据库架构采用计算与存储分离, 剩下 10%没有分离的,也会被市场逐步淘汰。此外, NUMA 架构的多核 CPU、Optane SSDs 存储、RDMA 网络、GPU/ FPGA 专有硬件等最新硬件的性能也能被新架构下的云数据库吸收,并结合人工智能和深度学习加快自身进化。

云原生分布式数据库技术原理

值得一提的是,华为云得益于 30 多年的技术积累,已经完成新一代的云原生数据库服务进化。以华为云将推出的高性能云原生分布式数据库为例,其设计正是基于新硬件性能,围绕解耦、近数据计算下推(NDP)、引入 AI 和 ML 等功能特性展开。



华为云原生分布式数据库架构


华为云原生分布式数据库将实现计算与存储分离、主从解耦;将 IO 密集型负载下推到存储节点完成,比如 redo 处理,页重构;多租户支持;引入 AI 和 ML 打造自治系统自扩展、自调优等功能。


华为云原生分布式数据库还充分利用云存储的能力,实现存储层独立容错和自愈服务、单写多读的共享访问。发挥 SSD 优势,充分利用 SSD 的随机读性能,避免随机写带来的写放大,减少磨损,减小时延。并采用 RDMA 等新网络技术和硬件,让网络不再是瓶颈,从而使整体性能得到很大提升。


此外,华为云原生分布式数据库还拥有即开即用、弹性伸缩、轻松管理、经济实用等特点,可以让用户不用关心底层架构和基础运维,只专注业务发展。这与发展云计算技术最主要的目的不谋而合。


在中国通信院对已经使用和有计划使用云计算技术的企业调查中,67.81% 的公司认为缩短应用部署时间是应用云计算最重要的目的,62.56% 的公司认为节约成本是应用云计算技术最重要的目的。



用户应用云计算技术的目的


(数据来源:中国信息通信研究院)


本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/YG5MRDaC4zxrgCLPEaqCUA


2020-03-31 14:39955

评论

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

基于小程序云Serverless开发微信小程序

移动研发平台EMAS

【架构师训练营】第 10 周作业

花生无翼

架构师训练营第十周学习总结

Bruce Xiong

Dubbo微服务调用过程时序图

2流程序员

【架构师训练营】第 10 周总结

花生无翼

【数据结构与算法】如何高效学习数据结构与算法

三钻

学习 数据结构与算法

Python中list操作之append、extend

王坤祥

Python Python基础

致力打造下一代云原生分布式消息系统,StreamNative 完成源码资本数百万美元 Pre-A 轮融资,红杉中国种子基金跟投

Apache Pulsar

kafka Apache Pulsar StreamNative

Django单元测试用法及Fixtures用法

BigYoung

Python django 单元测试 Fixtures

架构训练营第十周作业

张锐

week10 作业

雪涛公子

hive拉链表优化·百亿量级数据支持准实时更新

誓约·追光者

hive 实时数仓 海量数据库的设计与实践

微服务架构关键点思考

dony.zhang

手动实现mini-vue

晓枫

Java vue.js

微服务、中台和 DDD

dongge

架构师课程第十周总结

dongge

浅析Python3列表操作之*和*=

王坤祥

Python Python基础

iOS Abort问题系统性解决方案

移动研发平台EMAS

ios 监控 移动

Dubbo的服务注册与调用

superman

下载的附件名总乱码?你该去读一下 RFC 文档了!

Java课代表

Spring Boot

架构训练营第十周感悟

张锐

架构师训练营——第 10 周作业

jiangnanage

架构师课作业 - 第十周

Tulane

架构师训练营——第10周学习总结

jiangnanage

week10 总结

雪涛公子

OAuth 2.0

陈皮

威联通(NAS)应用篇:搭建个人图床

BigYoung

图床 NAS QNAP 威联通 自建

服务化问题与方案简述

superman

微服务 服务化改造

微服务与DDD

走过路过飞过

让我们慢慢地成长

姜海天

个人成长

架构师第十周

Tulane

如何基于云场景设计高性能分布式数据库?_数据库_华为云产品与解决方案_InfoQ精选文章