我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。一、平衡多路查找树(B-Tree)B-Tree是为磁盘等外存储设备设计的一种平衡查找树。因此在讲 B-Tree之前先了解下磁盘的相关知识。系统从磁盘读取数据到内存时是以磁盘块(block)为基本单位,大小为4K,位于
转载
2023-08-17 15:47:07
198阅读
1、页缓存技术 Kafka 是基于操作系统 的页缓存(page cache)来实现文件写入的,我们也可以称之为 os cache,意思就是操作系统自己管理的缓存。Kafka 在写入磁盘文件的时候,可以直接写入这个 os cache 里,也就是仅仅写入内存中,接下来由操作系统自己决定什么时候把 os cache 里的数据真的刷入磁盘文件中。通过这一个步骤,就可以将磁盘文件写性能提升很多了,因为其实这
转载
2024-04-18 19:11:28
31阅读
磁盘结构为了方便讨论,我们还是先从最基本的磁盘物理结构说起吧,对于常见的机械磁盘,分磁盘面、磁道、柱面和扇区。(注意本文只讨论机械磁盘,SSD先放一放再说)。
机械硬盘拆开以后,结构如下我们再用一个逻辑图看一下可见有以下概念 :磁盘面:磁盘是由一叠磁盘面叠加组合构成,每个磁盘面上都会有一个磁头负责读写。磁道(Track):每个盘面会围绕圆心划分出多个同心圆圈,每个圆圈叫做一个磁道。柱面(Cylin
现象:用了几天vagrant后,发现docker 里的 Mysql5.7 服务无法启动,用docker ps 命令,发现mysql一直在反复重启, 查看mysql log 发现说磁盘空间不够, 导致mysql无法启动。觉得很奇怪, docker里只安装了redis和mysql两个image, 也没用几天mysql, 怎么会40G的空间都满了?于是一通百度查找, 都说是mysql日志过多,但是一个一
转载
2023-10-25 13:00:49
63阅读
clickhouse多磁盘存储
转载
2021-07-05 11:16:23
1273阅读
一般我们购买的电脑整机,回家时都是开机即用。这个时候磁盘分区数目以及设置分区大小都是默认的。但是有时候大家会觉得分区不合理,或者并不是你想要的大小,所以需要重新调整硬盘分区大小。那么市面上每台电脑所装的硬盘大小都不一致,常见的固态硬盘就有128G、240G、500G等等,那么电脑硬盘分区大小多少才科学合理呢?很多用户一直非常好奇这个问题,下面就跟着小编一起来了解一下吧。首先,先给大家一个硬盘容量的
Hue是一个轻量级的Web服务器,可让您直接从浏览器使用Hadoop。Hue只是一个“在任何Hadoop发行版之上的视图”,可以安装在任何机器上。官方文档在官方文档有多种方式(比如gethue.com的 “下载”部分)安装Hue。下一步就是将Hue配置为指向您的Hadoop集群。默认情况下,Hue假定存在一个本地集群(即只有一台机器)。为了与真正的集群进行交互,Hue需要知道哪些主机分配
转载
2024-09-19 20:40:00
40阅读
一丶如何创建一个新的分区①在桌面上找到计算机(我的电脑图标),右键点击管理②在弹出窗口左侧的计算机管理本地中点击磁盘管理③在左侧的几个盘符中选择一个空间剩余量大的盘符选中点击右键,点击压缩卷,输入要压缩空间的大小,即可得到一个未分配的空间④点击这个未被分配的空间,右键点击新建简单卷,然后按照它的提示一直下一步即可(注意其中的有几步新建磁盘名称尽量往后选,然后在格式化那一步文件系统windows的默
转载
2024-07-31 19:41:56
40阅读
展开全部具体问题具体分析,举例来说明为什么磁盘IO成瓶颈数据库的性32313133353236313431303231363533e4b893e5b19e31333433643733能急速下降了。为什么当磁盘IO成瓶颈之后, 数据库的性能不是达到饱和的平衡状态,而是急剧下降。为什么数据库的性能有非常明显的分界点,原因是什么?相信大部分做数据库运维的朋友,都遇到这种情况。 数据库在前一天性能表现的相
转载
2024-07-03 19:09:26
27阅读
MySql系列整体栏目内容【一】深入理解mysql索引本质【二】深入理解mysql索引优化以及explain关键字【三】深入理解mysql的索引分类,覆盖索引(失效),回表,MRR【四】深入理解mysql事务本质【五】深入理解mvcc机制【六】深入理解mysql的内核查询成本计算【七】深入理解mysql性能优化以及解决慢查询问题【八】深入理解innodb和buffer pool底层结构和原理【九】
转载
2023-10-06 22:01:42
94阅读
背景 使用mysql最多的就是查询,我们迫切的希望mysql能查询的更快一些,我们经常用到的查询有:按照id查询唯一一条记录按照某些个字段查询对应的记录查找某个范围的所有记录(between and)对查询出来的结果排序 mysql的索引的目的是使上面的各种查询能够更快。一、预备知识 什么是索引? 上一篇中有详细的介绍,可以过去看一下:什么是索引? 索引的本质:通过不断地缩小想要获取数据
转载
2023-06-29 10:40:59
112阅读
HappyDay1234567890为什么需要它?当数据存储在基于磁盘的存储设备上时,它被存储为数据块.这些块全部被访问,使它们成为原子磁盘访问操作。磁盘块的结构与链接列表的方式基本相同;它们都包含一个数据节,一个指向下一个节点(或块)位置的指针,并且都不需要连续存储。由于许多记录只能在一个字段上排序,我们可以声明,在未排序的字段上搜索需要线性搜索N/2块访问(平均),其中N表跨越的块数。如果该字
转载
2024-02-04 00:37:51
19阅读
一、索引概念 索引的本质就是不断缩小想要查找到的数据的范围来筛选想要的结果,同时吧随机事件变成顺序事件二、磁盘中的一些概念 扇区:磁盘存储的最小单位,一般为512Byte 磁盘块:文件系统与磁盘交互的最小单位 mysql中的页:与磁盘交互的最小单位,mysql内部的数据结构,大小为16kb,一个页中有4磁盘块, mysql每次从磁盘中读取数据默认最小是16kb,要么不读,读了
转载
2023-08-12 20:05:58
108阅读
一、IO处理过程磁盘IO经常会成为系统的一个瓶颈,特别是对于运行数据库的系统而言。数据从磁盘读取到内存,在到CPU缓存和寄存器,然后进行处理,最后写回磁盘,中间要经过很多的过程,下图是一个以write为例的 Linux 磁盘IO子系统的架构:可以看到IO操作分成了四个层面:1)文件系统缓存:处理数据必须先从磁盘读到缓存,然后修改,然后刷会磁盘。缓存的刷新涉及到两个参数:vm.dirty_backg
转载
2023-09-07 18:36:35
100阅读
Mysql索引底层数据结构详解索引是什么索引就好比我们教科书上的目录,我们如果需要阅读我们想要的内容时我们只需要先去目录,找到我们想阅读的内容所在的页码,然后就可以直接翻到指定位置找到我们想要的内容,索引就是帮助数据库对数据建立排好序的数据结构,从而达到高效的获取数据,索引的数据结构有二叉树、红黑树、HASH、BTREE等磁盘IO是什么索引就是为了减少磁盘IO次数的那么什么是磁盘IO,首先我们先我
转载
2024-02-11 20:14:14
47阅读
简介本文来讲解下Mysql磁盘碎片的整理,为什么数据库会产生碎片,以及如何清理磁盘碎片,还有一些清理磁盘碎片的注意事项。一.为什么Mysql会产生磁盘碎片1.存储数据会产生碎片写入数据时,Mysql会尝试使用空白空间,但如果一个空间一直没有与之大小相匹配的数据占用时,这段磁盘空间就形成了一个磁盘碎片。2.删除数据会产生碎片当删除一行数据时,该行数据所占有的磁盘空间会被留空,如果大批量删除数据,就会
转载
2023-08-20 18:20:11
127阅读
为什么需要索引(Why is it needed)?当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性(原子性是指一个完整的事务程序,要么成功,要么失败回滚)。硬盘数据块存储结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据块)的指针,不需要连续存储。记录集只能在某个关键字段上进行排序,所以如果需要在一个无序字段上进行搜索,
转载
2023-10-11 16:41:34
62阅读
ACID设计模型需要预留一定量的 I/O,来保证数据的可靠性。在一些限制下,在InnoDB中,优化数据库工作和磁盘文件的组织,以最大程度地减少磁盘I / O。有时,I / O会推迟到数据库空闲,或者直到所有内容都需要进入一致状态为止,例如在快速关闭后重新启动数据库期间。本节讨论默认类型的MySQL表(也称为InnoDB表)对I / O和磁盘空间的主要注意事项&n
转载
2024-06-13 20:00:32
40阅读
使用命令发现磁盘使用率为100%了,还剩几十兆。一系列神操作备份数据库,删除实例、删除数据库表、重启mysql服务,结果磁盘空间均没有释放。怎么办网上查了很多资源,说要进行磁盘碎片化整理。原因是datafree占据的空间太多啦。具体可以通过这个sql查看。SELECT CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size,
转载
2024-02-02 09:23:20
45阅读
详解b+树如上图,是一颗b+树,关于b+树的定义可以参见B+树,这里只说一些重点,浅蓝色的块我们称之为一个磁盘块,可以看到每个磁盘块包含几个数据项(深蓝色所示)和指针(黄色所示),如磁盘块1包含数据项17和35,包含指针P1、P2、P3,P1表示小于17的磁盘块,P2表示在17和35之间的磁盘块,P3表示大于35的磁盘块。真实的数据存在于叶子节点即3、5、9、10、13、15、28、29、36、6
转载
2024-07-08 21:10:23
77阅读