专栏首页刁寿钧的专栏10 分钟梳理关系数据库基础知识(二):存储结构
原创

10 分钟梳理关系数据库基础知识(二):存储结构

每天10分钟,用去食堂吃饭的时间解决一个知识点。

存储介质

数据库系统涉及的存储介质中,有代表性的有以下几种:

  • 高速缓存(cache) cache最快,也最贵。我们在使用的过程中一般接触不到,但数据库的实现者在设计数据结构和算法时还是会考虑cache的影响的。嗯,写到这里,不由地端起茶杯,抿了一口水。
  • 主存(main memory)
  • 闪存(flash memory) 现在主要是用在SSD上。提升随机读写的性能。
  • 磁盘(disk) 我们一般进行的讨论中,都是默认数据放在磁盘上。而磁盘与主存之间,是以块(block)为单位交换数据的。优化查询,就是要优化块数,即磁盘IO的次数。而进一步细化的话,磁盘的访问时间由三部分组成:寻道时间,旋转时间,传输时间。

磁盘可以通过SATA,SCSI或SAS口连接到计算机,也可以通过网络与磁盘控制器相连,即我们常提到的SAN和NAS。

RAID

RAID的指导思想就是两条:通过冗余提高可靠性,通过并行提高性能。说到这再岔开一句,其实我们在计算机很多领域都会发现,可靠性都是靠冗余来保证的,而冗余又会带来一致性等问题,针对新的问题,不同的思路会得到各自的方案,我觉得抓住这条主线会有助于我们的学习。

回到正题,我直接画一张RAID不同级别的图吧:

也有厂商使用RAID 1+0或者RAID 10这样的说法,和这里不是同一个术语版本,大家不要混淆就可以了。

缓冲区

我们一直在说,数据库要尽量减少磁盘和主存间传输的block的数目。这也是学习数据库的一条主线。那么,很自然的一个想法就是,我保存尽量多的block在主存中,这样访问时再去磁盘上交换的几率不就降低了嘛。而主存中用于存储磁盘块的拷贝的地方,就叫做缓冲区(buffer)。但是主存比磁盘小得多,所以buffer中内容如何管理,是数据库中很重要也很有的内容。

比如buffer快满时如何替换,经典的算法我们很容易就会想到LRU,但InnoDB就在LRU的基础上又加了一个因子,避免全表扫描对替换buffer的影响。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用 Tensorflow 构建 CNN 进行情感分析实践

    本次实验参照的是 Kim Yoon 的论文,代码放在我的 github 上,可直接使用。

    刁寿钧
  • 10分钟梳理关系数据库基础知识(四):两阶段多路归并排序

    本文是《十分钟入门关系型数据库》系列技术文章的第四篇,主要介绍了数据库的两阶段多路归并排序。

    刁寿钧
  • 10分钟梳理机器学习基础知识(一)——在意的小问题

    每天10分钟,用去食堂吃饭的时间解决一个知识点。

    刁寿钧
  • [Oracle ASM全解析]更改ASM磁盘组

    我们可以使用alter命令来修改磁盘组,例如新增,删除,修改大小磁盘等操作,Oracle建议同一个语句中同时进行多个操作

    bsbforever
  • [Oracle ASM全解析]新建磁盘组

    磁盘组一旦创建你不可以更改冗余级别,如果需要可以建立需要的冗余级别磁盘组,然后将文件转移过去

    bsbforever
  • ASM 翻译系列第七弹:高级知识 How many partners?

    原作者:Bane Radulovic 译者: 庄培培 审核: 魏兴华 DBGeeK社群联合出品 ASM的数据冗余机制是通过将extent的镜像副本复...

    沃趣科技
  • 开发应该知道的Linux系统分析-IO篇

    小文件读写的性能瓶颈是磁盘的寻址(随机读写性能更差),评估的标准是tps。大文件读写的性能瓶颈是带宽,评估的标准是持续的读写速度。Linux可以利用空闲内存作文...

    只喝牛奶的杀手
  • 每周学点大数据 | No.60磁盘算法实践

    NO.60 磁盘算法实践 Mr. 王:前面讨论了很多理论方面的内容,从今天开始,我们研究如何从实践的角度去进行磁盘算法、并行算法和众包算法的设计。 小可:嗯,...

    灯塔大数据
  • Azure给ubuntu虚拟机挂载数据盘的详细步骤

    在 azure 上创建的虚机默认会分配两个磁盘,分别是系统盘和一个临时磁盘。如果我们要在系统中安装使用 mysql 等软件,需要再创建并挂载单独的数据盘用来保存...

    砸漏
  • [Oracle ASM全解析]Dismount和Drop磁盘组

    Normal及High类型的磁盘组只要磁盘组保存一份完整的数据拷贝,则可以使用force选项mount磁盘组

    bsbforever

扫码关注云+社区

领取腾讯云代金券