首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

磁盘存储原理:从电与磁说起

一、磁盘的电磁原理: 1、电磁效应: 电流通过导体时,会在导体的周围会产生感应磁场。感应磁场的磁极随电流方向的改变而改变。...如此便将电信号持久化到磁盘上(当然并不是一个磁极方向代表1另一个代表0). 4、磁盘读取过程: [磁盘2.png] 读取磁盘信息时,不通电的磁头在写入数据的位置上移动,上面可知数据磁盘上就是一些磁极方向不同的微小局部区域...在硬盘读写时,读操作是远快于写操作的,而且读/写操作具有完全不同的特性,所以目前的硬盘一般都分离出读和写两个磁头,但原理还是不变的。...老白利用电磁效应,在物证室外弄了一个大‘磁铁’破坏了笔记本里面的数据,就是上面的原理。 二、磁盘结构 [磁盘.png]  硬盘主要由碟片、磁头、电机马达、接口和控制电路控制芯片组成。...[柱面.jpg] 磁盘读写数据是按柱面进行,即在读写时磁头先寻找到数据所在的柱面(寻找磁道),然后再判断数据所在的盘面。

8.3K102

clickhouse多磁盘存储

使 clickhouse 可以实现阶梯式多层存储,即将冷热数据分离,将冷热数据分别保存在不同类型的存储设备中。 日常交互式查询中,95% 查询访问近几天的数据,剩下 5% 的跑一些长周期批处理任务。...此外,将数据存在多个存储设备中,以扩展服务器的存储能力,clickhouse 也能够自动在不同存储设备之间移动数据。...每张 MergeTree 表都有一个存储策略,用以规定该表数据如何写入;策略将不同的磁盘分到一个或多个卷中,并规定了数据的写入顺序以及如何在磁盘之间移动数据。...”),通过将多个磁盘分配在一个卷中,每次插入数据所生成的data part会以轮询的方式依次写入这些磁盘,该策略的优点: 通过直接追加磁盘的形式,可以便捷地扩展存储能力 在多线程并行访问多个不同磁盘时,...,且插入的测试数据也依次写入到多个磁盘中, 注意元数据仍然存在默认磁盘目录中。

1.4K60
您找到你想要的搜索结果了吗?
是的
没有找到

磁盘原理简要分析

换句话说,盘片的两个面都能用于存储、读取数据。 现在我们知道了,数据其实是存在磁性材料上的,那这里再思考一个问题:「磁盘怎么知道,数据该存在哪块磁性材料上?读取的时候又该从哪块材料上读?读多少?」...转换成图形可能就是这样: 盘片的ZBR 不同的磁道扇区数量不同了,外圈磁道上面的扇区会更多些,从而充分的利用空间,提升磁盘的总容量。 存储原理 好,继续深入问题盘片存储相关的问题。...并且,从上述现状我们可以简单推导,既然读写磁盘都是靠读取盘片上的磁性序列,并且盘片的两个面都能用于存储数据,那么必然盘片的每个面都有磁头。...磁盘性能 了解完一些简单的原理之后,我们终于可以来了解磁盘性能相关的问题了,我们会深入的分析为什么磁盘 IO 是个非常昂贵的操作。 现在思考一个问题,我们要查询数据,底层会怎么做?...好了, 关于磁盘原理就简单介绍到这里。

40610

MyISAM按照插入的顺序在磁盘存储数据

MyISAM按照插入的顺序在磁盘存储数据 聚族索引的优点 可以把相关数据保存在一起。例如实现电子邮件时,可以根据用户ID来聚集数据,这样只需要从磁盘读取少数的数据页就能获取某个用户的全部邮件。...如果没有使用聚族索引,则每封邮件都可能导致一次磁盘I/O; 数据访问更快。聚族索引将索引和数据保存在同一个B-Tree中,因此从聚族索引中获取数据通常比在非聚族索引中查找更快。...这意味着通过二级索引查找行,存储引擎需要找到二级索引的叶子节点获取对应的主键值,然后根据这个值去聚簇索引中查找到对应的行。这里做了重复的工作:两次B-TREE查找而不是一次。...在innodb中,由于聚簇索引的顺序就是数据的物理存储顺序,因此我们要尽量使主键有序,方法就是使用COMB,前6个字节表示时间,可以精确到毫秒,后10个字节利用UUID的前10个字节。...当表上的数据行被删除时,所占据的磁盘空间并没有立即被回收,使用了OPTIMIZE TABLE命令后这些空间将被回收,并且对磁盘上的数据行进行重排(注意:是磁盘上,而非数据库)。

78300

Prometheus时序数据库-磁盘中的存储结构

前言 之前的文章里,笔者详细描述了监控数据在Prometheus内存中的结构。而其在磁盘中的存储结构,也是非常有意思的,关于这部分内容,将在本篇文章进行阐述。...最近的Block一般是存储了2小时的数据,而较为久远的Block则会通过compactor进行合并,一个Block可能存储了若干小时的信息。...if cutNewBatch { ...... } ...... } } 当写入磁盘单个文件超过512M的时候,就会自动切分一个新的文件。...笔者就通过一次数据的寻址来探究Prometheus的磁盘索引结构。...它设计成一条LabelIndex可以表示(多个标签组合)的所有数据。不过在Prometheus代码中只会采用存储一个标签对应所有值的形式。

2.8K00

存储01-磁盘阵列历史

1.软raid 由于时代和磁盘技术发展的限制(单盘容量和性能发展缓慢),产生了raid相关技术。技术产生了,如何才能快速的来实现和进行部署呢?...专门做一个磁盘箱子呗,这个磁盘箱子就是jbod(磁盘+磁盘背板+主机接口)。当主机磁盘不够的时候,就加jbod箱子,一个不够就两个,两个不够就三个,以此类推。...但是随着客户把越来越多越来越重要的数据放入存储,这个时候就有一个非常大的隐患:存储控制器单点故障。你想啊,客户花了大价钱把全部身家性命都放你这个单控制器身上了,万一你那天挂了,客户不得砍死你。...比如还是每个控制器10个lun的工作量,但是A控制器的10个lun刚好是数据库用,iops和随机读写特别忙;B控制器的10个lun刚好是存小电影的,一年也看不了几次。这就导致A特别忙,B特别闲。...单控模式下,相当于一个车头带了好多车厢,即一个控制器带了好多个jbod磁盘扩展柜。双控模式下,相当于两个车头带了好多车厢,即两个控制器带了好多个jbod磁盘扩展柜。

1.5K21

数据原理——事务、视图、存储过程

持久性(Durability):持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响。...脏读: T1 修改一个数据但未提交,T2 随后读取这个数据。如果 T1 撤销了这次修改,那么 T2 读取的数据是脏数据。 不可重复读 T2 读取一个数据,T1 对该数据做了修改。...幻读: 幻读本质上也属于不可重复读的情况,T1 读取某个范围的数据,T2 在这个范围内插入新的数据,T1 再次读取这个范围的数据,此时读取的结果和和第一次读取的结果不同。...存储过程 含义:一组预先编译好的SQL语句的集合,理解成批处理语句 提高代码重用性 简化操作 减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率 语法 创建 create procedure...drop procedure 存储过程名 查看存储过程的信息 show create procedure 存储过程名; 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

77120

磁盘的工作原理解读

磁盘存储区域一块磁盘划分为若干个记录面,每个记录面划分为若干条 磁道,而每条磁道又划分为若干个 扇区,扇区(也称块、扇段)是磁盘读写的最小单位,即磁盘按块存取。...磁盘地址一个磁盘存储器可以有多台驱动器,不同的驱动器可以用一个编号(驱动器号,或者台号)来区分。...冗余磁盘阵列(Redundant Array of Independent Disks,RAID)是将多个独立的物理磁盘组成一个磁盘阵列,引入并行处理技术,让数据在多个物理盘上分割交叉存储、并行访问。...它适用于对性能要求高且数据可以容忍丢失的场景。RAID 1:通过磁盘镜像(mirroring)提供数据冗余,所有数据同时写入两个或更多磁盘,因此如果一个磁盘损坏,另一个磁盘上仍有完整的数据副本。...RAID 1提供了很高的数据安全性,但存储成本较高,因为实际可用存储空间只有总磁盘容量的一半。RAID 2、RAID 3、RAID 4:这些RAID级别在实际应用中使用较少。

11000

磁盘IO原理及其性能分析

上一篇文章大概介绍了I/O的一些基本原理和技术,这篇我们主要介绍基于Linux系统的I/O的一些运行原理、监控方式。 虚拟内存 为了优化读取磁盘数据的效率,操作系统在内存和磁盘之间增加了一层缓存。...可以将虚拟内存看成是磁盘数据的一种缓存机制。另外,应用程序不需要关心虚拟内存的底层工作原理,虚拟内存有一套自己的逻辑来管理整个内存,应用程序的感知就像物理内存变大了一样。...当程序在进行一些计算时,CPU会请求内存中存储数据,若数据不存在内存中,就会报告一个缺页错误(Page Fault),用户进程就中断了,进程会从用户态切换到系统态,交由操作系统内核处理缺页错误,处理完缺页错误之后...直接IO就是应用程序直接访问磁盘数据,而不经过内核缓冲区,这种一般使用在数据库中,这样做的目的是减少一次从内核缓冲区到用户程序缓存的数据复制,另外,不使用系统的缓存,而使用数据库自己的缓存,因为数据库可以根据数据的特点进行缓存...从磁盘读出的块的总数Blk_wrtn 写入磁盘的块的总数 kB_read/s 每秒从磁盘读取数据大小,单位KB/skB_wrtn/s 每秒写入磁盘数据的大小,单位KB/skB_read

3.1K30

磁盘阵列RAID基础原理

如果你的主机中有三个硬盘(不是分区),里面保存的数据非常重要,那么你会想怎么对这些数据进行备份。最简单的办法是再买几个硬盘,把数据全部拷贝到备份硬盘。...回想前面的演示计算,我们完全可以通过其它盘和奇偶校验盘的数据对disk2的数据进行恢复。 如果disk3盘坏了呢?当然我们还是可以通过其它盘对其进行数据恢复。...改进办法:分段写磁盘,系统首先把要写入的数据进行段(大小同硬盘中的段)的划分,按照这些段中的数据,计算出奇偶校验数据,然后同时写入硬盘(此时的同时写入是真实的同步执行写入,因为每一个硬盘都是物理独立的)...2、把奇偶校验数据都写到一个盘,会造成每次写数据和恢复数据,都会访问此硬盘,因为硬盘自身速度的限制,会造成瓶颈。改进方法:把这些奇偶校验数据分散写入各个硬盘。...改进办法:增加一个热备盘,正常情况下,不向此盘写入数据,当一个磁盘出问题后,系统立即把数据恢复到热备盘。这样就运行系统可以有两个盘同时损坏而不影响系统运行,也不会造成数据丢失。

42820

数据入门:Hbase存储原理解析

今天的大数据入门分享,我们就来讲讲Hbase存储原理。...要了解Hbase的存储原理,我们先从Hbase的数据结构开始讲起。 Hbase的数据结构 Hbase是一个稀疏、多维度、排序的映射表,这张表的索引是行键、列族、列限定符和时间戳。...Hbase存储原理 HBase在存储上是基于LSM树实现的,与传统的B/B+树原理不同的是,LSM树非常适用于写入要求非常高的场景。...LSM的原理,就是将一个大的B(B+)树拆分成N棵小树,数据首先写入内存中(有序),随着数据写入越来越多,内存中的数据会被flush到磁盘中形成一个文件;在读取数据时,则需要合并磁盘中历史数据和内存中最近修改的操作后返回...关于大数据入门,Hbase存储原理解析,以上就为大家做了基本的介绍了。Hbase在大数据生态当中,尤其是数据存储环节,重要程度非常高,也建议大家去深入地理解和掌握。

1.1K20

Postgresql 如何降低 wal 占用磁盘空间,降低磁盘存储成本

POSTGRESQL WAL 的存储一直是一个值得讨论的问题,到底一个POSTGRESQL 在极端的情况下,可以用多少的空间来存储WAL 日志。...这里不是要讨论逻辑复制槽,也不是讨论ARCHIVE ,这里要讨论是一种极端的方法,尝试将POSTGRESQL WAL占用的磁盘空间最小化。...1 full page 众所周知,在POSTGRESQL WAL 为了保证日志的在系统crash后,有最后一次checkpoint 前的数据的完整的页面,需要在必要的时刻,在数据页面未写入完全的时候...先说一下测试的流程 1 产生新的wal log 2 记录 wal log lsn 号 3 对数据库进行压测 4 记录产生的新的记录号 5 对于整体的日志产生进行分析。...那么此时第一个问题 full page 关闭后,对日志的影响的大概,大家心里也会有数,full page 的确是wal 日志中记录的数据的大头。

94810

kvm qcow2,raw 磁盘格式、磁盘存储策略介绍

qcow2,raw 磁盘格式介绍 raw: 裸磁盘格式(默认的虚拟磁盘格式) raw格式是原始镜像,直接将数据写入磁盘,没有额外的元数据或压缩,由于没有复杂的元数据处理,raw 格式通常比较快,适用于一些对性能要求较高的场景...精简置备的磁盘只使用该磁盘最初所需要的数据存储空间。如果以后精简磁盘需要更多空间,则它可以增长到为其分配的最大容量。为该磁盘文件指定增长的最大空间,需要增长的时候检查是否超过限额。...,当虚拟机写入数据时,根据写入数据量动态分配物理存储空间。...因此理论上虚拟机分配的磁盘大小总和不受物理存储总容量的限制,即虚拟机磁盘容量可以超配。...但是虚拟机运行过程中会持续写入数据,当虚拟机动态分配的存储空间接近物理存储的实际容量时,虚拟机无法继续分配到存储空间从而导致运行异常。

1.5K10

磁盘和移动存储常用命令

硬盘分区与格式化概述 总结:主分区(primary partition)和扩展分区(extended partition)总是不能超过4个,扩展分区只有一个/扩展分区不能直接存储数据,最好是保持原有的Disk...TYPE:本栏显示块设备是否是磁盘磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。 MOUNTPOINT:本栏指出设备挂载的挂载点。...sync 命令 功能说明:将内存缓冲区内的数据写入磁盘。...不同类型的文件有不同的file_operations成员函数,如普通的磁盘数据文件,接口函数完成磁盘数据块读写操作;而对于各种设备文件,则最终调用各自驱动程序中的I/O函数进行具体设备的操作。...---- 0x05 存储设备扫描与管理 lvmdiskscan 命令 - 列出可以作为物理卷使用的设备 描述:该命令可以扫描系统中所有的SCSI、 (E)IDE磁盘、多路径设备 和 系统中其他一些块设备

2.8K20

磁盘和移动存储常用命令

硬盘分区与格式化概述 总结:主分区(primary partition)和扩展分区(extended partition)总是不能超过4个,扩展分区只有一个/扩展分区不能直接存储数据,最好是保持原有的Disk...TYPE:本栏显示块设备是否是磁盘磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。 MOUNTPOINT:本栏指出设备挂载的挂载点。...sync 命令 功能说明:将内存缓冲区内的数据写入磁盘。...不同类型的文件有不同的file_operations成员函数,如普通的磁盘数据文件,接口函数完成磁盘数据块读写操作;而对于各种设备文件,则最终调用各自驱动程序中的I/O函数进行具体设备的操作。...---- 0x05 存储设备扫描与管理 lvmdiskscan 命令 - 列出可以作为物理卷使用的设备 描述:该命令可以扫描系统中所有的SCSI、 (E)IDE磁盘、多路径设备 和 系统中其他一些块设备

2.5K10

RAC ASM磁盘存储配置相关(转载)

存储环境设置 存储的配置总结下只有2步:持久化配置 和 权限配置 。一般来说这两步是可以合在一起的,只是使用多路径软件时需要分开来讲(多路径软件多了一个多路径聚合的步骤)。...所谓持久化就是将磁盘通过UUID或者其他唯一标识符绑定为一个human friendly的磁盘名(可以是磁盘的软链接等),而权限配置就是为了可以使oracle可以正确使用这些磁盘,给他们赋予正确的用户和组以及权限...我们分两种情况来描述存储配置的步骤。...情况一:使用多路径软件时: 一般来说生产上的存储使用系统自带的多路径软件multipath即可完成多路径持久化配置(lvm device mapper),这里贴一个示例配置文件的一部分: # multipath.conf...-4", RUN+="/bin/raw /dev/raw/raw5 %N" KERNEL=="raw*", OWNER="grid" GROUP="asmadmin", MODE="0660" --其原理

1.9K10
领券