首页 文章 项目 标签 关于我 友链

聊一聊看似简单的存储

如果这个能成功可太好了

· 4 分钟阅读

🧠 一图总览:「存储」知识体系的五大层级

层级描述关键词举例
1. 物理层存储介质(底层硬件)HDD、SSD、NVMe、NAND Flash、磁带、光盘
2. 存储结构层存储块组织方式、读写单位块存储(Block)、文件存储(File)、对象存储(Object)
3. 接入层协议/文件系统/存储平台NFS、S3 API、POSIX、TOS、HDFS、CephFS、iSCSI
4. 数据格式层数据怎么被组织成文件、表、分区Parquet、ORC、Avro、JSON、CSV、Iceberg、Delta Lake
5. 计算对接层谁来消费存储的数据、如何读写、什么协议Spark、Trino、Flink、Hive、Pandas、PyArrow、Airflow

🔹 1. 物理存储介质层

最底层,真正“存”数据的介质。

介质类型特点适用场景
HDD大容量,低成本,慢归档数据、冷数据
SSD快速读写,成本适中热数据,数据库 OLTP
NVMe极高 IOPS,低延迟高频并发写入、事务系统
磁带超低成本,超大容量备份归档,容灾
RAM-Disk纯内存模拟盘超高速缓存,实验测试

🔹 2. 存储结构层(块 / 文件 / 对象)

✅ 块存储(Block Storage)

• 最底层的逻辑划分

• 每个卷按固定大小块存储(如 512KB)

• 无文件系统,像裸磁盘

• 🧠 常用于数据库和虚拟机磁盘

✅ 文件存储(File Storage)

• 提供文件和目录结构

• 例:NFS、Lustre、CephFS、ext4、NTFS

• 🧠 多用户读写、熟悉的 POSIX 接口

✅ 对象存储(Object Storage)

• 每个文件作为对象存储(带元信息)

• 没有真正的目录结构,flat 设计

• 例:Amazon S3、TOS、OSS、MinIO

• 🧠 云原生扩展性强,是数据湖/AI 主流选择


🔹 3. 存储接入层

对上层应用暴露接口的方式:

接入方式描述举例
POSIX标准文件系统接口本地磁盘、NFS、CephFS
S3 API对象存储访问接口Amazon S3、TOS、MinIO、OSS
HDFS API分布式文件系统接口Hadoop HDFS、Alluxio、Ozone
iSCSI块设备网络协议云盘映射、虚拟化平台

🔹 4. 数据格式层(存储的内容)

我们通常说的“Parquet 文件”就是这层。

格式类型示例特点
文本类CSV、JSON、TSV易读但冗余大,解析慢
二进制结构Avro、Protobuf、Thrift高效编码,跨语言兼容
列式格式Parquet、ORC压缩率高,支持列裁剪,适合大数据分析
数据湖格式Iceberg、Delta、Hudi元数据管理 + 分区 + ACID + schema 演化支持

⚠️ Parquet/ORC 是 数据格式 ⚠️ Iceberg/Delta 是 数据表格管理层格式(Data Lake Table Format)


🔹 5. 计算对接层(上游系统)

这些是“读/写”你存储的数据的工具。

系统/工具作用支持的格式/协议
Spark分布式批处理Parquet、ORC、Delta、Hudi、S3、HDFS 等
Trino分布式 SQL 引擎Iceberg、Hive、MySQL、S3、ORC、Parquet
Hive数据仓库ORC、Parquet、TextFile、HDFS
Flink流批一体计算框架Kafka、Hudi、Iceberg、S3、HDFS
Pandas / PyArrow本地分析 / 数据科学工具Parquet、CSV、ORC、S3、文件系统

🧭 总结图谱结构(文字版)

计算层(Trino, Spark, Hive, Flink, Pandas)

数据格式层(Parquet, ORC, Iceberg, Delta, Avro)

存储接入层(S3 API, NFS, HDFS, POSIX)

存储结构层(对象存储、文件存储、块存储)

物理介质层(HDD, SSD, NVMe, RAM, 磁带)

✅ 用例总结(实际场景映射)

场景存储系统数据格式计算引擎
Spark 查询 S3 上的 Parquet 数据对象存储(TOS/S3)ParquetSpark
Hive 分析 ORC 文件HDFS(文件存储)ORCHive
Trino 联查 Iceberg + MySQL 表对象存储 + MySQLIceberg + 原生表Trino
数据科学分析本地文件文件存储(本地 ext4)Parquet / CSVPandas
Hudi 流数据写入 + Flink 消费对象存储(TOS/S3)HudiFlink
所有文章