POLARDB 从一个使用者的角度来说说,POALRDB 怎么打败 MYSQL RDS

7fbd17b12cab4e2fb58690567e55d5df.png

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共700人左右 1 + 2)。

数据库最近几年的选择越来越多,数据库之间的互卷的案例也是此起彼伏的发生,而基于MYSQL 核心的 MYSQL RDS 产品,正在接受猛烈的冲击,线下的MYSQL 可能看上去还是有比较稳固的地位,(看上去)。 但基于云上的MYSQL 的RDS 产品正在被替换和被其他的数据库产品 DISS。

今天我们就现身说法,谈谈我们使用阿里云数据库产品的在 MYSQL RDS 和 POLARDB FOR MYSQL的一些感受。当然感受很多都是感性的,我们尽量不让这篇文字成为一片感性的文字。

1   遇到紧急问题,救火的速度

这点实际上是很多数据库使用者最关心的部分,数据库在一些小企业没人管,出了问题没法管,不会管的情况比比皆是,大多的开发者都是使用数据库 增删改查, 而涉及到数据库内部的使用原理和问题发生后的解决都是“肌无力”。

那么在这样的情况下,如何快速的解决问题,是一个需要使用者关心的问题,谁的数据库可以快速扩展,将数据的压力分散,或者添加资源后,马上立竿见影的解决性能问题,是一个需要关注的问题。

在这样的情况下 MYSQL RDS 产品基本上是不能有所建树的

1 扩展能力弱,扩展速度慢,扩展后对于应用生效的速度慢或根本无法生效

举例,你的应用因为查询的问题导致的数据库,主从节点的压力上升,导致的性能问题,你是无法通过单一的添加MYSQL 的从节点来解决问题的,因为应用无法判断你的数据的主从一致性和数据的准确性,完全将操作打散到不同的从库。所以添加从节点对于MYSQL RDS 的可行性不能说 为0 ,只能说,基本没有用。

相对于POLARDB FOR MYSQL ,那么这个问题基本上15分钟内就可以解决(我是可以用脑袋来保证的,因为我们试过多次,压测多次),扩展节点后,相关的压力会快速的打入到新的从库,分担从库的读压力,并且如果你事务控制的好,打散的好,那么POLARDB FOR MYSQL 本身的读写分离自主控制,让你的读事务会分散到不同的从库中,读的压力会很快被救驾,业务持续的可能能行会更好。

那么在这样的场景下,节点的快速伸缩,看似没有什么,但如果你在危难的时候,你就知道这有多么的重要。

2  真并行,让硬件的使用率提高

使用MYSQL的同学一直都在MYSQL和 硬件之间的匹配度上动脑筋,MYSQL 5.X 的“一根筋”,延续到了 MYSQL 8 的 前部分版本,即使后部分版本添加了并行,但你可以使用这些并行是否能让你的大部分SQL 满足并行需求,回答是NO。

而POALRDB 的并行方式是自有的代码和逻辑,对于聚合操作以及常用的操作,只要你的硬件的CPU 核心数大于 4 CPU ,那么并行就可以在大部分语句中有被使用的可能,最大化的利用多核心CPU的处理能力, 以及POALRDB 的 IOPS 高性能的利用。

3    IMCI  不是HTAP ,但是我们需要这个功能

现在的数据库动不动就是 HTAP ,POSTGRESQL 的非开源版本都已经添加了列式的概念(商业),而现在没有列式处理的方式,已经成为一个数据库的短板,我们不需要OLAP ,我们就在一些数据库中进行 COUNT ,AVG ,SUM ,GOURP BY  等操作, MYSQL 的短板就产生了,而这些是无法在一些项目汇中避免的,我们怎么能解决这个问题,如果光靠开发,那么MYSQL 难道真的就是一个  数据容器。 

POALRDB FOR MYSQL ,我们目前一直在研究和压测 POLARDB 的列式节点IMCI ,我们并没有贪心到,要MYSQL 处理分析性的工作,但是对于那些MYSQL 的弱点的问题,POALRDB 是有解决方案,并且在我们初步的使用中,给了我们一个希望,就是IMCI 有限度的使用,让我们天天头疼的问题,可以有头疼片可以吃,可以有解决方案, 不是和开发讲 MYSQL  这个不行 ,那个不行 ,还是不行,你要改这个,你要改那个。

我们会强有力的告诉开发,这个问题如果你们暂时无法解决,或解决的成本很高,我们可以通过IMCI 的方式来暂时化解,给开发和架构一个修改程序前的缓冲,而不是逼死他们。

4   更高的数据存储能力更安全的数据存储能力

说到这里MYSQL本身是可以进行数据的压缩的,但是这并不够,MYSQL 的数据压缩可以说是开源数据库里面,一个不可以  可圈可点的存在,在云上数据存储是要花费大量金钱的,而数据的安全性对于一些乙方 也是非常重要的,MYSQL的灾备是在主从,切换这样的高可用和数据安全能力,但不得不诚然,这样的方式,会有一个特点  

要不性能差,要不安全差, 这就是MYSQL给我们留下的一个谜题,半同步是MYSQL 的数据安全的杀手锏,但性能的影响会产生,同时他也只是一个半同步,当然 INNODB  CLUSTER 可以调整成强一致,可性能的 “绯闻” 又出来了,当然在云上的MYSQL 也不要想什么 INNODB CLUSTER ,没有。

基于硬件 1写三的方式,让数据从硬件的模式就是安全的,你不用考虑什么数据延迟,没有延迟。数据存储会自动压缩,比MYSQL 有可能多40%的空间。

5  培养更舒服的开发者

说实话 MYSQL 这个数据库是一个磨炼开发者,让开发成本和架构变得复杂的数据库,因为你要考虑的问题太多,稍有不慎,那么后期修改的成本会很高,比如我读写分离怎么做,MYSQL 我怎么判断写库读库的延迟,写库上有的数据,读库上没有我怎么办,等等,等等

POALRDB FOR MYSQL 有一个强有力的伙伴,POLARDB的代理,匹配POLARDB 的底层原理,通过REDO进行数据复制中的事务号来判断从库与主库的数据差距,以及只读事务在从库的可行性,不用关心从库有没有数据,会导向主库,若从库和主库一致,代理会导向读从节点去完成事务,有多个读节点时通过当时的连接数来打散对数据库节点的访问,结果为让开发者更注重业务 而不是在架构。

6   可以匹配不同的数据库存储引擎

一些POALRDB 特有的语句和功能,这里就不多解释,这些属于锦上添花的功能。POLARDB可以挂载 X-Engine 引擎让POLARDB 变成归归档库,通过高压缩比的X-ENGINE ,大部分语句都支持在压缩引擎上执行,如简单的数据查询工作,则样可以将冷热数据进行分离,通过DTS 将冷数据过度到 POLARDB + X-engine 的数据节点中,完成动态的冷热数据分离。

在一年多的POLARDB 的使用中,我们持续发现POLARDB 中的新功能和新特性,运用到实际的生产中,大大的提高了生产力,在开发者使用POLARDB 和 MYSQL 基本无差异的情况下,完成了数据库产品的切换,后续我们还会发现更多的使用的方法,解决更多的实际问题。

总结:DBA 手里的最大的武器就是数据库,数据库本身的能力是DBA的底气,所以DBA 在数据库选型和对于不同数据库的了解是一个基本的能力。

b9a0d1a27bbb3e6bb5c4bedd802d971a.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/14059.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【云原生|Docker】14-Dokcer Harbor高可用部署

【云原生Docker】14-Dokcer Harbor高可用部署 文章目录 【云原生Docker】14-Dokcer Harbor高可用部署前言Harbor高可用方案单主复制双主复制多Harbor共享后端存储 Harbor高可用部署方案说明环境说明部署步骤安装nfs安装redis和PostgreSQL安装harbor配置nginx访问测试 总结 前言…

Docker harbor私有仓库部署与管理

目录 1.Docker搭建本地私有仓库 1.首先下载 registry 镜像 2.在 daemon.json 文件中添加私有镜像仓库地址 3. 运行 registry 容器 4.为镜像打标签 5.上传到私有仓库 6.列出私有仓库的所有镜像 7.列出私有仓库的centos镜像有哪些tag 8.先删除原有的centos的镜像&#xf…

TCP协议的相关特性(续)

TCP协议的相关特性 🔎滑动窗口🔎流量控制🔎拥塞控制🔎延时应答🔎捎带应答🔎面向字节流(粘包问题)🔎异常情况🔎总结 关于 确认应答 超时重传, 连接管理 请参考: 点击这里 &#x1f5…

【场景生成与削减】基于蒙特卡洛法场景生成及启发式同步回带削减风电、光伏、负荷研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

无人机遥感影像应用

目录 一、无人机遥感技术 二、无人机遥感影像数据生产 三、无人机遥感影像应用 一、无人机遥感技术 1.无人机遥感系统组成 1.1无人机遥感系统组成—无人机平台 1.2无人机遥感系统组成—传感器 2.无人机遥感技术的特点 高时效性:准确并快速获取地表数据 高分辨率…

[强化学习]学习路线和关键词拾零

强化学习学习方法和路线 学习路线 先从基础教材开始,构建RL的知识框架,熟悉关键名词和公式推导,扩展到Model-Free的Value-Based和Policy-Based方法,同时参考github的代码练习。接下来精读几篇经典论文,如DQN,PPO等。…

Python高光谱遥感数据处理与机器学习

Python高光谱遥感数据处理与机器学习 第一章、高光谱基础 高光谱遥感简介 什么是高光谱遥感? 高光谱遥感为什么重要? 高光谱遥感与其他遥感技术的区别是什么? 高光谱遥感的历史和发展 高光谱传感器与数据获取 高光谱传感器类型 如何获…

ai改写句子软件-ai改写

AI免费伪原创:助力网站内容升级 您是否曾经为网站优化而烦恼,无论是内容更新还是SEO优化,都需要大量的时间和精力。但是,您是否知道,现在有一款能够使用AI技术来帮助您完成这些任务,而且还是免费的呢&…

瑞吉外卖-项目笔记

文章目录 1.业务开发day011.软件开发整体介绍2.项目整体介绍:star:3.开发环境搭建4.登录功能:star4.1代码实现 5.退出功能6.页面效果出现 day021.完善登录功能2.新增员工功能 1.业务开发 day01 1.软件开发整体介绍 2.项目整体介绍⭐️ 后端:管理菜品和…

基于web的病号康复训练系统asp.net+sqlserver+C#

本系统主要内容分为病号管理模块,康复师管理模块,管理员管理模块等三大模块 1,病号管理模块主要分为:用户管理,在线问答,在线预约,用户中心,信息查询. 2. 康复师管理模块主要有:康复师信息管理,病人信息管理,预约信息管理,留言信息管理,训练计…

< elementUi组件封装: 通过 el-tag、el-popover、vue动画等实现公告轮播 >

文章目录 👉 前言👉 一、效果演示👉 二、实现思路👉 三、实现案例往期内容 💨 👉 前言 在 Vue elementUi 开发中,遇到这么一个需求,要实现公告轮播的效果。说实话,一开…

C++、STL标准模板库和泛型编程 ——迭代器、 算法、仿函数(侯捷)

C、STL标准模板库和泛型编程 ——迭代器、 算法、仿函数 (侯捷) 迭代器iterator_category 算法accumulatefor_eachreplacecountfindsortbinary_search 仿函数 functors(六大部件中最简单的一种!) 使用一个东西,却不明白它的道理&a…

Android类似微信首页的页面开发教程(Kotlin)二

前提条件 安装并配置好Android Studio Android Studio Electric Eel | 2022.1.1 Patch 2 Build #AI-221.6008.13.2211.9619390, built on February 17, 2023 Runtime version: 11.0.150-b2043.56-9505619 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 11 …

【Vue】学习笔记-Vue生命周期

引出生命周期 生命周期 a.又名生命周期回调函数、生命周期函数、生命周期钩子 b.是什么:vue 在关键时刻帮助我们调用一些特殊名称的函数 c.生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的 d.生命周期函数中的this指向是vm或组件实…

拷贝构造与深浅拷贝

文章目录 一、拷贝构造函数二、拷贝初始化三、深浅拷贝 一、拷贝构造函数 如果一个构造函数的第一个参数是自身类型的引用,而且任何额外参数都有默认值,则此构造函数是拷贝构造函数。 class person { public: person(); //默认构造函数 pe…

米文动力 EVO Orin 刷机和克隆操作说明

刷机说明 博主在卸载 cuda 以及 python 后重启后黑屏无法显示,重刷系统才恢复正常。 下载 EVO Orin 用户手册(官网没有,所以上传到 CSDN 供下载)官网下载 EVO Orin 镜像文件 使用 tar -xvf 解压下载的 bootloader 和镜像包得到 …

计算机办公自动化——Python批量生成请假条

Python使用openpyxl、docx批量生成请假条 前言第三方库的安装示例代码运行效果 前言 加入你有一个下图所示的表格,需要批量生成他们的请假条,你会选择如何做呢?是一步一步的手打,还是呼唤请假人手打呢? 下面我们来看…

react中前端同学如何模拟使用后端接口操作数据?

为什么前端同学需要模拟后端数据 作为一个前端,在实现项目功能的时候,需要在前端写一个静态的json数据,进行测试。 项目中后端的接口往往是较晚才会出来,并且还要写接口文档,于是我们的前端的许多开发都要等到接口给…

基于ArcGIS Pro、R、INVEST等多技术融合下生态系统服务权衡与协同动态分析

生态系统服务是指生态系统所形成的用于维持人类赖以生存和发展的自然环境条件与效用,是人类直接或间接从生态系统中得到的各种惠益。联合国千年生态系统评估(Millennium ecosystem assessment,MA)提出生态系统服务包括供给、调节、…

[pgrx开发postgresql数据库扩展]4.基本计算函数的编写与性能对比

前言 再次声明: 并不是所有场景都需要(或者适合)用rust来写的,绝大部分操作数据库的功能和计算,用SQL就已经足够了! 本系列中,所有的案例,仅用于说明pgrx的能力,而并非…