-
磁盘
计算机中数据存在存在磁盘里的。磁盘有两个指标:寻址(ms)和带宽(G/M).
当数据存在磁盘中时,读取的速度相当于内存来说是很慢的。
-
内存
内存的两个指标:寻址(ns)和带宽(G/M)
-
IO buffer
磁盘有磁道和扇区,一扇区有512个byte,当存储空间较小时会给操作系统带来一个成本问题(索引)。因此操作系统在读数据的时候一般都会读4K。
一个极端
一般的关系型数据库在建表的过程中必须给出schema(约束):类型、字节宽度。
在存数据时倾向于行级存储的。
引申一个问题:当数据库中表很大时,其性能一定会下降吗?
- 如果有索引时,增删改会变慢,查询速度取决于查询范围,当1个或者少量查询时依然会很快,但在高并发的情况下会受到磁盘带宽的影响。
另一个极端
SAP HANA数据库(内存级别的关系型数据库),数据在磁盘中和内存中的体积会不同。