数据文档化的目标很简单:帮助用户找到正确的数据,理解如何使用它,并信任其准确性。
但这并不意味着你需要记录所有内容。在许多情况下,良好建模的数据本身就具有解释性。
就像“好代码本身就是文档”一样,优秀的数据建模也能承担大量工作。如果你的表和列具有表达性且一致的名称,它们将更容易被理解。
一个名为“dbo”的数据库是模糊和令人困惑的。但“sales_prod”或“finance_reporting”能立即为用户提供上下文——特别是当附近还有“sales_dev”或“marketing_staging”时。
因此,数据文档化始于良好的命名——但这并非终点。
利用数据库层级结构自上而下地记录数据
利用数据系统的结构创建自上而下的文档。这意味着从以下层面开始组织文档:
- 系统
- 数据库
- 架构
- 表
- 列
这种层级结构帮助用户了解全貌,探索相关数据,并理解不同部分之间的连接方式。当你以这种方式记录数据时,人们可以更轻松地浏览你的数据环境,而无需四处询问。
数据文档化的重点
你不需要做得过火。以下是如何在不感到不堪重负的情况下有效记录数据的方法:
✅ 完整记录前3个层级:系统、数据库和架构
✅ 关注你的数据堆栈中使用最频繁的前10%的表。如果你正在使用Metabase,请查看使用情况分析,以根据人们实际探索和查询的内容进行优先级排序。
✅ 设定规则:新的表、视图或模型在创建时必须包含基本文档
💡 专家提示:如果一个列不值得记录,那它可能就不属于这个表。
对于核心报告表和广泛使用的数据产品,务必严谨。这些应包括详细的列级文档和对每个字段含义的清晰描述。
命名约定和术语表很重要
有时数据文档化最困难的部分是选择正确的词语。它是客户、账户、公司、用户还是站点?像LTV、ARR或CAC这样的缩写词对每个人来说都清楚吗?
为了减少混淆,你的数据文档工具应该支持一个术语表——一个集中定义关键业务术语的地方。然后,你可以在整个文档中一致地引用这些定义。
优化数据文档的快速提示
- 使用表达性强且一致的名称;
- 自上而下并优先记录最常用内容;
- 通常一句话就足够了;
- 将文档化纳入开发流程;
- 在业务术语表中使用#定义;