AI 大模型的数据库存储

一、核心阶段

1. 数据收集与原始存储阶段

(1)核心任务

存储海量未经过处理的原始数据,涵盖文本、图像、音频等多类型数据。

(2)适用存储类型

存储类型 典型工具 数据场景
分布式文件系统(DFS) HDFS、GlusterFS、Ceph FS 网页文本、开源数据集备份(如 Common Crawl)、UGC 原始文件
对象存储 AWS S3、阿里云 OSS、GCS、MinIO ImageNet 图片、LibriSpeech 音频、书籍 / 论文扫描件

2. 预处理与中间存储阶段

(1)核心任务

存储经清洗、转换后的中间数据,例如数据去重结果、文本分词内容、特征提取结果等。

(2)适用存储类型

存储类型 典型工具 数据场景
NoSQL 数据库 - 文档数据库 MongoDB、CouchDB 带字段的文本数据(如 “标题 + 内容 + 来源” 的新闻类数据)
NoSQL 数据库 - 列族数据库 HBase、Cassandra 词向量矩阵、大规模列结构数据
关系型数据库(SQL) MySQL、PostgreSQL 数据质量指标(合格率、样本量)、预处理任务日志(任务 ID + 执行状态)
内存数据库 Redis、Memcached 文本哈希值(用于快速去重)、高频词表(用于文本分词)

3. 训练与推理存储阶段

(1)核心任务

支撑训练环节的高吞吐量并行数据读取,以及推理环节的低延迟数据访问需求。

(2)适用存储类型

存储类型 典型工具 数据场景 纠错说明
分布式文件系统(DFS) HDFS(搭配 Spark/Flink 进行数据处理) 训练样本批量读取(如每次迭代加载 1024 个样本) AWS EBS 属于弹性块存储,非分布式文件系统,可作为训练节点本地存储补充
AI 专用存储系统 Pachyderm(支持数据版本控制)、Weights & Biases(存储 + 实验过程跟踪) 训练数据与模型权重的关联记录、训练实验全链路数据留存 -
流处理存储 Apache Kafka(消息队列)、Apache Flink(流处理引擎) 实时训练数据(如用户对话日志)、推理请求的实时数据缓存 -

二、数据存放核心逻辑

1. 分层存储

(1)非结构化数据

以文件/对象形式存放(如 TXT、JPG 格式文件存于 S3 / HDFS)。

(2)半结构化数据

以键值对/文档形式存放(如 JSON 格式数据存于 MongoDB)。

(3)结构化数据

以数据库表结构存放(如 MySQL 表存储数据统计信息、任务元数据)。

2. 分布式架构

(1)数据分片

将大文件拆分为 128MB 规格的数据块,分散存储在不同节点,提升数据存取效率。

(2)冗余备份

每个数据块保留 3 个副本,防止节点故障导致数据丢失,保障数据可用性。

3. 格式优化

(1)格式选择与优势

选用二进制格式(TFRecord、PyTorch Dataset、Parquet)存储数据,相比纯文本格式可大幅提升数据读取效率,降低 IO 耗时。

4. 生命周期管理

数据类型 定义 存储介质 核心优势
热数据 高频训练使用的活跃数据 SSD / 内存数据库 保障快速读写,适配训练高并发需求
冷数据 低频访问的历史备份数据 对象存储 / 磁带库 兼顾存储成本与数据安全性