当前位置: 首页 > news >正文

华为云:如何解除数据库高并发场景下的达摩克利斯之剑?

5月10-12日,第九届中国数据库技术大会(DTCC 2018)如约而至。大会邀请了百余位行业专家,就数据库、大数据等热点技术话题进行分享。其中,华为云数据库首席架构师 带来的主题演讲《MySQL云数据库的性能优化和发展趋势》,不但介绍了这款当下最热数据库的关键性能特点,而且探讨了其面临的挑战和机遇,尤其引人入胜。

华为云:如何解除数据库高并发场景下的达摩克利斯之剑?

华为云数据库首席架构师现场分享

众所周知,MySQL 作为全球最受欢迎的开源数据库之一,集可靠、易用、功能丰富、适用范围广等特点于一身。尤其对开发者友好,使其成为关系型数据库用户的首选。但由于受社区版线下技术局限性的影响,要用好 MySQL 可谓举步维艰。

尽管 MySQL 的性能一直在提升,5.7 社区版的查询比 5.6 快 3 倍、8.0 比 5.7 提升 30%,但是 MySQL 社区版固有的挑战,依然没得到解决。

例如在生产环境中,DBA(数据库管理员)一般采用主备从架构组网方式部署 MySQL。虽然 MySQL 易用性极高,但配置高可用的数据库系统,本身就是个艰巨任务。无论在线下或在 IaaS 上部署 MySQL,用户都需花时间了解 MySQL 复制机制,比如如何配置主备实例、只读实例、浮动 IP 地址等。此外还需特别关注安全、备份策略等问题,这耗费了大量时间和精力。

早些时候,华为云上线了基于社区版的云数据库MySQL,服务完全基于最佳实践部署,不但自动安装、还能定期备份,轻松完成一定范围内软硬件的故障恢复,具有即开即用、便捷管理、弹性扩展、持久安全等特点。

华为云数据库 MySQL 的推出,确实解了 DBA 的燃眉之急。然而,这还远远不够。

开源 MySQL面临着诸多挑战,不但扩容受限,而且高并发连接时查询性能降低。半同步复制无法完全保证覆盖所有事务,在 HA 监控未知的情况下退化成异步复制;高负荷情况下复制延迟加大,主实例故障时备实例需要重放日志,接管缓慢、服务长时间不可用、甚至在备实例接管时可能会导致数据丢失等,问题层出不穷。

对于事务繁忙对故障恢复时间有高要求的业务而言,数据库高并发场景下性能差、复制延迟突出、故障恢复时间长的问题,成了悬在头顶的达摩克利斯之剑。

正本需清源,华为云了解到这一状况后,投入大量人力物力,推出了一款基于 MySQL 引擎内核源码优化的高性能云数据库 HWSQL。

HWSQL是一款超高性能、完全托管的企业级数据库。它从内核上开始优化 MySQL性能,在继承原有云数据库 MySQL的所有特性之上,提供更新、更强大、更丰富的功能,打破开源 MySQL面临的一系列困境,扫清云时代高端数据库服务升级换代的一大障碍。

HWSQL支持 AZ内 /跨 AZ部署主备实例,提供高可用的数据库服务;支持 CPU、内存、磁盘扩容,最多可支持扩展 5个只读实例,增加事务吞吐量;支持自动备份,PITR (Point-In-Time Recovery) 任意时间点恢复,手动创建备份,轻松应对灾难恢复。还支持 VPC、子网、安全组、SSL连接、审计日志,支持MySQL 数据库的数据迁移导入,完全兼容 MySQL 语法协议和生态工具。

值得一提的是,HWSQL 性能之优越,高达 MySQL 5.6 社区版的 3倍。相同条件下,HWSQL 不但能支持更多用户连接,而且不影响响应速度。在并发连接数高达 4096 时,其响应速度约提升 5 倍;而在并发连接数高达 8192 的情况下,它的响应速度反而高达原生 MySQL 5.6 的 10 倍之多。

华为云:如何解除数据库高并发场景下的达摩克利斯之剑?

HWSQL与 MySQL性能压测对比

HWSQL 的超高性能并非一蹴而就。除了内核的优化,HWSQL 还采用了更快、更可靠、无损的半同步复制协议。即使在超高负荷的情况下,也能保证故障快速恢复,避免备实例接管时数据丢失的可能性。可见,无论是可用性还是可靠性,HWSQL 确实都青出于蓝胜于蓝。

事实上,数据库的技术和应用正逐渐被企业重视。数据库作为大部分在线应用和服务的核心,其完整性、可用性及安全性,既是 IT及业务人员关注的焦点,也是决定企业发展的起点

因此,华为云专家在最后提出了 MySQL 云数据库的发展趋势,将向以 Cloud Native 分布式数据库为主的云原生数据库系统演化。那么,华为云数据库在新一波的浪潮里,将如何助力企业腾飞呢?或许您可以关注华为云另一场演讲的报道:《DTCC 2018 | 为云而生! 揭秘华为 Cloud Native 分布式数据库》。

相关文章:

  • Tomcat的参数配置及一般问题的解决
  • node.js来爬取智联全国的竞争最激烈的前十岗位
  • css颜色代码大全:(网页设计师和平面设计师常用)
  • python3.6+scrapy+mysql 爬虫实战
  • 数据库分库分表思路
  • linux考试
  • 在路上 - 精选
  • perl anyevent
  • 2018全球互联网经济大会,春季峰会在南京开幕
  • 不止于IaaS,运营商要用PaaS构筑生态竞争力
  • 分享:使用 Raspberry Pi 远程桌面
  • 通过5个研发机构,南京开发区“裂变”出了153家企业
  • libevent入门教程:Echo Server based on libevent
  • 初尝量子计算开放果实
  • Logger之Logger.getLogger(CLass)
  • 《Java编程思想》读书笔记-对象导论
  • js写一个简单的选项卡
  • Node + FFmpeg 实现Canvas动画导出视频
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • Spring-boot 启动时碰到的错误
  • SQLServer插入数据
  • V4L2视频输入框架概述
  • Vue小说阅读器(仿追书神器)
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 关于extract.autodesk.io的一些说明
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 日剧·日综资源集合(建议收藏)
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 三栏布局总结
  • 听说你叫Java(二)–Servlet请求
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 原生Ajax
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​力扣解法汇总946-验证栈序列
  • ​你们这样子,耽误我的工作进度怎么办?
  • (007)XHTML文档之标题——h1~h6
  • (33)STM32——485实验笔记
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (LeetCode C++)盛最多水的容器
  • (力扣)循环队列的实现与详解(C语言)
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • **PHP二维数组遍历时同时赋值
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET HttpWebRequest、WebClient、HttpClient
  • .net MVC中使用angularJs刷新页面数据列表
  • .net经典笔试题
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .NET上SQLite的连接
  • .NET中使用Redis (二)
  • @html.ActionLink的几种参数格式