Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据库你信仰什么-- 我信不给自己打标签(CloudJUMP )

数据库你信仰什么-- 我信不给自己打标签(CloudJUMP )

作者头像
AustinDatabases
发布于 2022-12-13 10:40:13
发布于 2022-12-13 10:40:13
3200
举报
文章被收录于专栏:AustinDatabasesAustinDatabases

________________________________________________________________________ 从SQLSERVER,到MYSQL ,在到POSTGRESQL , MONGODB ,REDIS,数据库变了又变,现在又到了POLARDB ,你是什么数据库的DBA ,还在标签化吗, NO ,这么多年的摸爬滚打,拼的最终是变化和快速的学习的能力。

前一段时间,团队的一些人给我的一些信息,让我曾经迷茫,云数据库我摸不到底层,我是要变成一个 operator DBA, 这是我最难接受的,我希望对我使用的数据库,里里外外,弄个明白,从原理到成本,到对应用程序的适配,最终到一个解决方案的地步,云数据库没有那么多的书,也没有那么多的文字,让你去更深入的学习,这才是问题的所在。

提出一个新的问题,数据库的开发是基于硬件的变化,还是硬件可以依据数据库的发展进行变化,到目前为止还是信任前者,因为的面对现实。

http://mysql.taobao.org/monthly/2022/06/01/

看完上面连接的文字,可能就能体会,数据库截止目前大部分的优化原理还是要基于目前的硬件体系,并跟随硬件的变化而变化。

文章中提到了一种我们传统DBA 不熟悉的存储系统,弹性分布式块存储系统,和我们曾经的对象存储最大的不同是,这样的存储系统是基于云的结构和需求产生的新的存储模式。

图中的存储系统左边是传统的模式,右边是云的存储系统和数据库节点组成的数据库系统

所以基于硬件的变化,云上的数据库必然在代码层开始要适应这样的新的架构下的各种需求。

其中文中提到了两个优化的方式,

1 在数据库的结构上进行原理性的修改,如REDO LOG 在存储时不在使用原有的数据落地的模式,而在中间在构建一个层,来存储REDO LOG ,避免网络消耗导致的系统的性能消耗。

2 第二种方式是文章中提出的,在不改变现有数据库的原理,并在现有的分布式存储方式中,进行优化,完成数据库系统和新的存储系统之间的对接。

实际我们必须有一点认知,云数据库的存储性能高吗,说高的人估计是没有怎么用过云数据库,云数据库在目前的状态下,其硬件的性能体现一定是不如你去购买目前强悍传统服务器基础上搭建的数据库的单机系统。

而现在的云数据库持续改进的目标,是要达到传统系统独占数据库的性能,并维持一个较低的成本代价。

为什么这样说,原文中提到了云数据库在使用分布式块存储作为数据库基础中的挑战

  1. 远程分布式存储集群的访问导致云存储服务的I/O延迟高;
  2. 通常聚合I/O带宽未被充分利用;
  3. 在具有本地存储的单机上运行良好但需要适应云存储而导致特性改变的传统设计,例如文件cache缓存;
  4. 长链路导致各种数据库I/O操作之间的隔离度较低(例如,日志刷写与大量数据I/O的竞争);
  5. 云用户允许且可能使用非常大的单表文件(例如数十TB)而不进行数据切分,这加剧了I/O问题的影响。

同时在读完这篇文字中的关于数据库对于cloudjump的优化的 7个原则,我对于云上的数据库在应用中的使用中的弱点和问题,有了更深的了解。

优化的反义其实就是不足,在传统数据库中的刷脏,日志突发的写入,DDL大表 等这些对于云数据库都是性能产生的问题点,也可能是压垮云数据库的最后一根稻草。硬件的不同,之前不是问题的问题,到现在都需要进行考量和优化。

其中文中提出了2中优化的方式,针对日志集中的写入,基于网络传输IO的延迟,那么更好的在同一个时间利用IO,分割IO 并行,以及加大一个时刻维度写入的IO的量,是解决集中IO 的写入的一个点。

最终的结果REDO 将不在同一个时间,只写入到一个文字中,在传统数据库MYSQL 中我们在同一个时刻REDO 只能写入到一个文件中,并且是顺序性的,而在云端的 MYSQL 或者 WHAT EVER,这些数据库将变化为,在同一个时刻,写入的REDO 的文件,将不在是一个文件,而是多个文件。

同时优化还未停止,一个文件在变成多个文件的基础上,IO的传输也不在是单线程了,IO 变成了多线程的任务,对于一些应用中使用的BLOB 或者大流量的batch insert ,或big transcations 都变成了分片,并行利用多个IO通道来写入的方式。

原有的数据库日志写入的方式,被彻底肢解了。除此之外,在REDO LOG 方面重启数据库时,针对原有读取REDO LOG 文件的扫描信息的方式进行了改变,因为大量读取文件信息,又触发了云数据库的弱点,所以更精确的读取所要的数据,同时在进行数据的标识等进行了变化,最终的目的是减少数据库系统重启时,读取必要数据的信息量,更精准,并且将整体的恢复进行拆分,结果也是将使用硬件的在时间的维度进行了并行。

同时在其他的场景下,对于索引提取数据,进行了更多的预读的方式,也就是比传统的数据库在预读取数据上,做了更多的空间来读取更多的数据,防止数据命中不到的时候,着急调用IO,来引发数据库读取数据的延迟放大化。

在另一个面对于传统数据库的在添加索引时对于页面的枷锁SX锁,也进行改变,从不释放直到做完这个工作,而变成了产生一个页面的副本,慢慢改,在副本产生后,就释放SX锁的方式,进行更好的页面的刷脏。

最后对于IO的物理使用,也进行了改造,对于在本地机上的IO 是不会给进行分类的,而云上的数据库是需要进行分类的,对于核心的IO需求有单独的数据通道保证突发的写,如WAL 日志的写入,PAGE的读取写入,而对于一些其他的如BINLOG 部分(我猜的)的优先级就不会那么高了。

从整片文字中,我深刻的感受到一直信奉的数据库优化的方式的几个字,

时间换空间,空间换时间,分类管理而后提高并发度。

最后这篇文字的最终还是要落到,标签化,DBA同学有些喜欢标榜自己是 MYSQL ,POSTGRESQL ,MONGODB ,REDIS ,POLARDB, SQL SERVER , ORACLE DBA 的某一种 ,我对此没有任何的异议,热爱一种数据库是一种信仰,尤其各个数据库领域的专家和大神,如果你问我,你是什么DBA ,我会笑着回答,我希望我是全栈DBA ,不给自己设限,我们都值得不断进化,不是吗!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
读PolarDB论文有感 : 异构计算和数据库软硬一体化设计
作者:熊中哲,现任才云科技工程VP,负责产品和研发工作。曾就职于阿里巴巴、沃趣科技、美团。超过12年数据库领域的工作经历,目前对云原生,机器学习和异构计算也很感兴趣。
用户1278550
2020/06/01
8930
2020年度20多款主流数据库重大更新及技术要点回顾
为方便阅读、重点呈现,本文对各板块内容进行了精简,需阅读完整版可点击文末【阅读原文】或登录云盘下载:https://pan.baidu.com/s/1h8plZz-amxxOMMWTL2eicQ(提取码:dwqg)
jeanron100
2021/02/25
1.8K0
2020年度20多款主流数据库重大更新及技术要点回顾
SIGMOD 2021 | 业务驱动背景下,腾讯云原生数据库TDSQL-C的技术演变之路
6月20-25日,数据库国际顶会2021 ACM SIGMOD在西安举行。本届大会上,腾讯云数据库技术总监邱敏带来了主题为“腾讯云数据库技术演变之路”的演讲。 演讲视频 以下为演讲内容的文字实录: 数据库是三大基础软件之一。近年来,腾讯也在不断加强各类数据库产品的研发投入。企业级分布式数据库TDSQL是腾讯云数据库的代表性产品,同时具备OLTP、OLAP,以及混合OLTP和OLAP的HTAP能力。它包括以下几个系列的产品: 企业级MySQL即腾讯云数据库RDS系统(CDB),相对原生MySQL进行
腾讯云数据库 TencentDB
2021/07/12
8580
数据库“焕然新生”:架构视角下,云原生数据库的创新实践 | Q推荐
从传统关系型数据库到云数据库,数据库在不断演进。与此同时,它也发挥着越来越重要的作用。从云计算、新媒体、音视频、云游戏到移动 App,几乎各行各业都离不开数据库。一方面,数据库作为 IT 基础设施的关键一环,对企业业务的发展起着支撑作用;另一方面,数字化在经济社会中不断深入,数据成为核心要素,围绕数据的生产、存储和消费均依赖数据库。
深度学习与Python
2022/11/28
7920
数据库“焕然新生”:架构视角下,云原生数据库的创新实践 | Q推荐
云原生数据库TDSQL-C PostgreSQL版内核解密
导语 TDSQL-C 原(CynosDB)是腾讯云数据库团队自研的新一代云原生数据库,融合了传统数据库、云计算与新硬件技术的优势,采用计算和存储分离的架构,100%兼容 PostgreSQL,提供具备极致弹性、高性能、海量存储、安全可靠的数据库服务。 本文旨在从数据库内核的角度揭秘TDSQL-C PostgreSQL的核心架构与关键技术。本文适合读者:腾讯云售后服务、TDSQL-C用户、TDSQL-C开发者,需要有基本的数据库与存储知识。 TDSQL-C 概述 TDSQL-C采用计算和存储分离的架构
腾讯云数据库 TencentDB
2021/09/26
2K0
数据库的下一场革命:S3 延迟已降至原先的 10%,云数据库架构该进化了
众所周知,在数据库的历史上,每次存储介质的变化都会引发软件的变革。从 SAN 存储到 SSD 到大内存到 NVM,都触发了数据库内核从理论到工程的演进。
深度学习与Python
2023/12/28
3420
数据库的下一场革命:S3 延迟已降至原先的 10%,云数据库架构该进化了
数据库漫谈(九)----云数据库
本文作者系Scott(中文名陈晓辉),现任大连华信资深分析师 ,ORACLE数据库专家,曾就职于甲骨文中国。个人主页:segmentfault.com/u/db_perf ,经其本人授权发布。
SQLplusDB
2022/08/19
1.3K0
数据库漫谈(九)----云数据库
MYSQL 开始学习POLARDB for MYSQL (1)
不做铺垫,因为公司在进行数据库转型,ORACLE to MYSQL 基于云上的MYSQL 在使用中主要分为两派 1 传统型的RDS ,也就是与我们自己安装的数据库有差别,但差别不大, 2 根据云上的硬件环境,最大最充分的修改数据库的内部结构,让数据库更能使用到我们的硬件环境,去适配他。
AustinDatabases
2022/04/05
9070
MYSQL  开始学习POLARDB for MYSQL (1)
数据库如果多上云,DBA 还有什么发展
随着问问题的同学越来越多,公众号内部私信回答问题已经很困难了,所以建立了一个群,关于各种数据库的问题都可以,目前主要是 POSTGRESQL, MYSQL ,MONGODB ,POLARDB ,REDIS 等,期待你的加入,加群请添加微信liuaustin3.
AustinDatabases
2023/02/28
4250
数据库如果多上云,DBA 还有什么发展
美国知名大学开授China数据库理论,你没看错!
Austindatabases公众号已经开启了,AI 文章分析,AI 文章问答,比如你想知道AustinDatabases 里面,说了多少种数据库,那些是讲 MySQL,那些是PostgreSQL, 那些是OB ,POLARDB ,MongoDB ,SQL Server, 阿里云的,问他他会列出来,同时如果有问题不明白,可以将文章的文字粘贴到公众号提供的专用AI ,公众号将通过众多文章(目前1300多篇)来进行尝试性的解释。使用方法,直接到微信公众号中点击服务,选择AI问答。如下示例
AustinDatabases
2025/04/09
490
美国知名大学开授China数据库理论,你没看错!
相比原生,腾讯云数据库MySQL 8.0带来了哪些新的极致体验?
官方MySQL 8.0 是非常大的版本,以前的版本号是 5.6、5.7,现在一下飞跃到 8.0,对于 Oracle MySQL官方来说也是非常大的版本,有很多的更新。
腾讯云开发者
2020/08/20
5.6K2
Amazon Aurora:云时代的数据库 ( 上)
导语:文章是 Amazon 在SIGMOD'17 上最新发表的关于 Aurora论文的翻译版本,详尽的介绍了 Aurora 设计背后的驱动和思考,以及如何在云上实现一个同时满足高并发、高吞吐量、高稳定
谭伟华)
2017/08/02
5.9K0
Amazon Aurora:云时代的数据库 ( 上)
TDSQL-C PostgreSQL(CynosDB) 内核解密-披荆斩棘,勇往直前的腾讯云数据库
TDSQL-C采用计算和存储分离的架构,所有计算节点共享一份数据,存储容量高达128TB,单库最高可扩展至16节点,提供秒级的配置升降级、秒级的故障恢复和数据备份容灾服务。TDSQL-C既融合了商业数据库稳定可靠、高性能、可扩展的特征,又具有开源云数据库简单开放、自我迭代的优势。TDSQL-C不仅在性能、扩展性和高可用方面有大幅提升,计算存储的解耦使得计算层和存储层都获得了很大的独立优化空间,本文下面将介绍TDSQL-C架构的实现,以及在新架构上的关键技术优势。
腾讯云数据库 TencentDB
2021/09/17
1K0
云原生数据库设计新思路
在讲新的思路之前,先为过去没有关注过数据库技术的朋友们做一个简单的历史回顾,接下来会谈谈未来的数据库领域,在云原生数据库设计方面的新趋势和前沿思考。首先来看看一些主流数据库的设计模式。
PingCAP
2021/01/14
1.7K0
分布式数据库创新技术奖,TDSQL他来了!
日前,Distributed Cloud|2021全球分布式云大会·上海站隆重召开。腾讯云凭借其信息技术系统的安全可控性和前沿技术的创新性,在一众企业中脱颖而出,荣获“分布式数据库创新技术奖”。这是继腾讯云数据库TDSQL获第四届中国保险大数据分析与人工智能创新国际峰会年度“保险创新者大奖”之后再次获评。 在云原生专题论坛上,腾讯云数据库产品专家梁文灿先生就腾讯云企业级分布式数据库TDSQL生态发展战略、落地应用案例做出了详细介绍。同时腾讯云数据库专家工程师张远先生对云原生数据库TDSQL-C的内核关键技
腾讯云数据库 TencentDB
2021/09/22
1.3K0
开发者关注的数据库技术与创新
说到这个问题的话,那么从PolarDB入手来说,作为开发者关注的数据库技术与创新基本就在里面了。 PolarDB MySQL版是阿里巴巴自研的云原生HTAP数据库。PolarDB MySQL版100%兼容原生MySQL的多个版本,包括MySQL 5.6、MySQL 5.7和MySQL 8.0。PolarDB MySQL版的企业版基于云原生架构、计算存储分离、软硬件一体化设计,为用户提供具备超高弹性和性能、高可用和高可靠保障、高性价比的数据库服务。可以说关于数据库技术和创新,云原生数据库PolarDB 体现的很全面了,下面看一下云原生数据库PolarDB的产品架构图
六月的雨在Tencent
2024/04/08
1620
开发者关注的数据库技术与创新
(文中有惊喜)走进云时代的数据库
最近几年,随着云计算相关技术的发展,各种不同类型的云层出不穷,服务越来越多不同类型的企业业务,传统企业也渐渐开始探索上云的道路。在云上,作为业务最核心的数据库,相比之前的传统方案会有哪些变化呢?
数据和云
2018/12/07
1.1K0
在阿里达摩院搞了四年数据库,我来聊聊实际情况 | 卓越技术团队访谈录
嘉宾 | 汪晟、谭剑、谢炯 编辑 | 钰莹 2017 年的云栖大会,阿里巴巴达摩院宣布成立。 5 大研究方向,16 个实验室,数据库与存储实验室便是达摩院下设实验室之一。 成立伊始,达摩院定位发力硬核基础科技。 前沿数据库技术,就是发力方向之一。 五年时间,社交媒体上每隔一段时间就有人出来问“阿里达摩院搞出来什么成果了?”,“阿里达摩院的技术水平是什么样的?”,“达摩院里面的人平常的 KPI 是什么?”,“什么样的人可以进阿里达摩院?”...... InfoQ 日前对达摩院数据库与存储实验室的三个核心
深度学习与Python
2023/03/29
8650
在阿里达摩院搞了四年数据库,我来聊聊实际情况 | 卓越技术团队访谈录
腾讯云数据库CDB技术演进之路
作者简介:程彬,腾讯基础架构部数据库研发负责人。2008年毕业加入腾讯,一直从事数据存储相关研发工作;在云计算浪潮涌来之时参与到腾讯云存储产品的打造。目前在腾讯TEG基础架构部,负责数据库(CDB)和云硬盘(CBS)研发相关工作。
腾讯 架构师
2021/07/15
2.2K0
腾讯云数据库CDB技术演进之路
MySQL痿了,放不下这么多数据!
MySQL在达到一定数据量(我的经验是3T、单表1亿)时,复杂查询会有明显的延迟。继续分库分表,会严重增加业务复杂性,尤其对很多非互联网产品来说,急需一个分布式存储。
xjjdog
2019/07/10
1.2K0
MySQL痿了,放不下这么多数据!
推荐阅读
相关推荐
读PolarDB论文有感 : 异构计算和数据库软硬一体化设计
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档