MySQL8.0InnoDB的架构。
跟其他关系型数据库一样,MySQL的架构也分为In-Memory 和On-Disk两部分。
申请阿里云服务时,可以使用2000元阿里云代金券,阿里云官网领取网址:https://dashi.aliyun.com/site/yun/youhui
阿里云服务器1核2G低至82元/年,阿里云官活动网址:https://dashi.aliyun.com/site/yun/aliyun 可以用20代金券,即102-20=82。
在内存结构中,主要由4大块组成。
Buffer Pool(以下简称bp)
bp在整个内存中占绝大多数,MySQL官方一般建议设置为服务器物理内存的80%。这边建议MySQL整体内存控制在80%左右,bp最好不要超过70%,不然容易OOM。
理解了bp的原理,对于数据库也有差不多理解了一半了。bp主要结构是个list,用的是LRU算法的变种(least recently used)。
主要用来缓存数据块(page,也叫页),mysql默认为16k,oracle为8k。如果内存达到了阈值,那么就会把最近最少使用到的page驱逐(evicted)出内存。然后把新页插入到中间位置,一般为整条list的热端5/8处。
查看下图可以看到,整个bp分为两个sublist,上端为热端,缓存热点数据(频繁被访问);另外一端为冷端,随时被驱逐出内存。
也正是因为磁盘访问数据不如内存,才有了bp的存在,大家也可以想象一下,如果磁盘数据比内存快,还有bp存在的价值吗?
所有用户访问的数据,都要先经过bp,但如果走全表扫描,按道理也有把数据缓存在bp中,那么势必会把大量数据驱逐出去,当然我们也可以通过调整参数来优化,这个我们在这篇知识普及文档中暂不提及。
Change Buffer
Adaptive Hash Index
Redo Log Buffer
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云李飞飞:今年将帮1000家企业“去O”,完成10000套传统数据仓库上云
阿里云直播回放头号云话题直播回放 “今年将帮1000家企业'去O',完成10000套传统数据仓库上云。”6月9日,阿里云数据库负责人李飞飞在阿里云峰会上表示,经过多年技术演进,传统数据库上云已进入大规模攻坚阶段。 达摩院数据库首席科学家、阿里云智能数据库事业部总负责人李飞飞 因传统数据库架构无法满足企业面临的业务挑战,电信、金融和政务等客户正在核心系统领域加速上云。 据悉,中国联通就通过云原生分布式数据库PolarDB-X等技术,重构了中国联通的核心IT架构,实现了对中国联通3.6亿用户的无缝“广覆盖”,成为全球最大的云上BSS系统;某全国性股份制商业银行则通过PolarDB-X支撑信用卡、借记卡等关键业务。 国家税务总局采用阿里云云原生数据仓库AnalyticDB实现了全国税务数据大集中,实现20PB+海量数据的实时计算分析,覆盖全国纳税
- 下一篇
阿里云峰会 | 深化城市计算场景能力,为企业数智化建设提供助推力
在2020阿里云峰会上,阿里云边缘计算技术负责人杨敬宇表示:边缘计算将成为企业数智化进程中重要助推力,而构建城市计算是阿里云边缘计算的核心方向。在会上,杨敬宇还首次公开了智慧高速、云游戏、驾驶辅助等基于城市场景,阿里云边缘计算的最新实践。 受疫情影响,用户生活、工作习惯的改变、企业对于数字化的感知升华,所有的转变几乎在于一夜之间。用户在线化、业务数字化、数据智能化的转型三步部曲节奏全面提速,在此背景下,通信网络、新技术、算力成为了不可或缺的新基建。 杨敬宇表示:“过去的20年,大量数据是中心化生产、分散消费的,所以通常采用云、端二体协同架构。放眼未来20年,随着数智化的不断深入,企业对于算力、带宽的需求加大,对于延迟、成本要求变高,云、边、端三体协同的架构将为城市场景提供算力基础,边缘不再只承担管道和数据转发的功能,大量数据一定会在边
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- 设置Eclipse缩进为4个空格,增强代码规范
- Mario游戏-低调大师作品
- MySQL8.0.19开启GTID主从同步CentOS8
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Redis,开启缓存,提高访问速度