KIOSHIROI's CS-learning Road

重点:

  • 在探索数据上花的事件要比你“想花的时间”多10倍
  • 修复/新增/增强数据是提升性能的最佳方式
  • 保持简单

Source

image.png

Filesystem

Latency numbers you should know:

把L1/L2缓存访问看做1s
(Seconds) 1ns(as 1s) - L1/L2 Cache Access 100ns(~ 1.5m) - RAM Access
(Days) 250μs(~ 2.5days) - Read 1MB from RAM
(Weeks) 1ms(~ 1.5 weeks) - Seek + Read 1MB from SATA SSD
(Months) 20ms(~ 7 months) - Seek + Read 1MB from spinning disk
(Years) 150ms(~ 5years) - Send packet California → Netherlands → California

本地数据格式

  • 二进制文件(images, audio): 使用标准格式(e.g. JPEG)
  • 对于元数据(labels), 表格数据, 文本数据: 压缩成json或txt文件或使用parquet表格格式。

Object Storage(对象存储)

  • 在文件系统之上的一种API
  • 基本单元是“对象”。通常是二进制数据:图片、音频文件等
  • 版本控制(versioning),冗余(redundancy)等机制可以内置在服务中
  • 不如本地存储快,但在云环境速度足够快

Database(数据库)

  • 用于结构化数据的持久、快速、可扩展的存储与检索
  • Mental Model: 所有东西实际上都在RAM里,但软件确保所有内容都会持久化到磁盘
  • 不适合二进制数据!应当存对象存储的URL
  • 大多数情况下,PostgreSQL是正确选择;支持非结构化Json
    • SQLite对象项目完全够用

Data WareHouse

image.png

OLAPs vs OLDPs

OLAPs OLDPs
列优先 行有限
处理像“mean length of comment text over last 30 days”的查询 处理像”选择给定用户的所有评论“的查询

Data Lake

image.png

Exploration

SQL, DataFrame加速

Pandas, DASK, RAPIDS

Processing

Task Dependencies

Airflow

Distributing work

Rrefect

Dagster

Feature Store

Labeling

Label Studio

Versioning

  • Level 0
    • 数据只存在于文件系统、S3或数据库中,没有版本控制
    • Problem:部署时如果数据没有版本控制,实际上模型也没有版本控制
  • Level 1
    • 每次训练将数据快照并存储在某个地方
    • 可行,但是版本控制困难
  • Level 2
    • 像代码一样版本控制数据,Git-LFS
  • Level 3
    • DVC

在 Notion 参与讨论

本文托管在 Notion,欢迎到原文评论区留言交流

在 Notion 打开
笔记-Lecture 04: Data Management
https://kioshiroi.github.io/blog/fsdl4
Author KIOSHIROI
Published at 2026年2月08日
Comment seems to stuck. Try to refresh?✨