写点什么

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

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

评论

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

Android-音视频学习系列-(三)-Shell-脚本入门,高级安卓工程师面试题

android 程序员 移动开发

Android---性能优化方案分享,快来收藏

android 程序员 移动开发

Android-11标配的新技术,再也不怕死机了!,androidapp保活

android 程序员 移动开发

Android-Framework学习笔记(三)SystemServer进程启动过程

android 程序员 移动开发

Android-OkHttp-史上最优雅的设置baseUrl,安卓binder

android 程序员 移动开发

Android-样式系统---主题背景属性,最新金九银十Android面试合集

android 程序员 移动开发

Android-面试官:View-post()-为什么能够获取到-View-的宽高-?

android 程序员 移动开发

Android-Framework学习笔记(二)Zygote进程启动过程,移动互联网app开发

android 程序员 移动开发

Android-Studio-教程:入门开发第一个程序,真牛皮

android 程序员 移动开发

Android-悬浮窗功能的实现(附Java、KT实现源码,Android黑科技实现原理揭秘

android 程序员 移动开发

Android-架构组件的最新进展,安卓工程师面试题及答案

android 程序员 移动开发

Android-框架问题分析案例---谁杀了桌面-,android软件开发教程

android 程序员 移动开发

Android-黑科技保活实现原理揭秘,字节跳动Android内部学习资料泄露

android 程序员 移动开发

Android 面试主题集合整理,血与泪的总结

android 程序员 移动开发

Android---教你如何用三十分钟在安卓上开发一个微笑抓拍神器

android 程序员 移动开发

Android-系统预设-App,有什么难的?,关于Android开发的面试经验总结

android 程序员 移动开发

Android 面经:我是如何进入大厂腾讯的?,kotlinui封装

android 程序员 移动开发

Android--关闭某个指定activity,android游戏开发实战

android 程序员 移动开发

Android-适配各国语言、屏幕尺寸、系统版本及常见适配方法总结

android 程序员 移动开发

Android-OkHttp-史上最优雅的设置baseUrl(1),android开发视频播放代码

android 程序员 移动开发

Android-_巧_仿蚂蚁森林水滴动效,Android开发技巧

android 程序员 移动开发

Android-怎么就不卡了呢之Choreographer,怒斩腾讯和阿里的Offer

android 程序员 移动开发

Android-气泡对话框(根据被点击View位置显示、可定制,移动端开发

android 程序员 移动开发

Android-源码分析-Dalvik-虚拟机创建过程,干货整理

android 程序员 移动开发

Android-APK防止二次签名妙招:为何你的应用老是被破解,该如何有效地做签名校验

android 程序员 移动开发

Android-是不是要跪了-我几乎是一个废安卓了!,kotlin开发框架

android 程序员 移动开发

Android 适配 64 位架构,掌握这十个搜索技巧让你的工作效率至上提高十倍

android 程序员 移动开发

Android 面试总结 - LiveData,2021大厂Android知识点总结

程序员 移动开发

Android-Navigation的四大要点你都知道吗?,深入理解JVM

android 程序员 移动开发

Android-面试-Jetpack-LiveData-你必须滴知道得知道的那些玩意儿

android 程序员 移动开发

Android-面试中常问的MMAP到底是啥东东?原理及应用解析

android 程序员 移动开发

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