写点什么

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

  • 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:391005

评论

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

如何修改已提交commit信息

Appleex

git

EasyNLP发布融合语言学和事实知识的中文预训练模型CKBERT

阿里云大数据AI技术

深度学习 开源 语言模型 企业号十月PK榜

Vue组件入门(九)v-model 自定义修饰符

Augus

Vue 3 10月月更

长安链源码分析之网络模块 net-liquid(4)

golang中的errgroup

六月的

golang errgroup

一键上手时下最火AI作画工具

华为云开发者联盟

人工智能 华为云

从零开始实现一个Promise

helloworld1024fd

JavaScript

固定QPS异步任务功能初探

FunTester

数字化的一切都会在安全沙箱里面

FN0

云计算 安全性 沙箱

golang中的变量阴影

六月的

golang

Git的branch操作详解

timerring

git 10月月更 branch

进阶vue面试题总结

bb_xiaxia1998

Vue

MobLink Android 快速集成

MobTech袤博科技

Gradle sdk moblink

从零手写react-router

helloworld1024fd

JavaScript

js 和 css 是如何影响DOM树构建的?

CoderBin

CSS JavaScript 前端 DOM 10月月更

vue组件通信6种方式总结(常问知识点)

bb_xiaxia1998

Vue

vue为什么v-for的优先级比v-if的高?

bb_xiaxia1998

Vue

Bonree ONE 2.0重磅发布,中国IT运维迈入数智融合3.0时代

博睿数据

可观测性 根因分析 博睿数据 ONE平台 智能运维AIOps

链表专项之环形链表

lovevivi

c 数据结构 10月月更

社招前端经典手写面试题合集

helloworld1024fd

JavaScript

质量切入点都在哪儿呢?

QE_LAB

质量保障 敏捷精益

golang垃圾回收

六月的

golang 垃圾回收

CORS跨域

六月的

CORS

golang开发一个简单的grpc

六月的

golang gRPC

揭秘百度智能测试在测试评估领域实践

百度Geek说

测试 数据 企业号十月 PK 榜

@全体开发者, 华为云1024程序员节精彩开启!

华为云开发者联盟

华为云 企业号十月 PK 榜

golang中的socket编程

六月的

golang socket

grpc中的拦截器

六月的

gRPC 拦截器

grpc错误处理

六月的

gRPC 错误处理

将 NGINX 部署为 API 网关,第 2 部分:保护后端服务

NGINX开源社区

nginx 安全 Backend Developer api 网关 模块

K8S 故障排错新手段:kubectl debug实战

BoCloud博云

容器 云原生 k8s

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