Module 04 · Data literacy for Data Science (Optional)
Viewpoints: Considerations for Choice of Data Repository决定数据存储库的关键因素
选择最合适的数据存储库是一个复杂的决策过程,需要考虑用例、技术要求、组织标准和成本等多个因素。很少有组织只使用一个数据存储库。
数据专业人员在为组织选择数据存储解决方案时,会考虑以下主要因素:
1. 用例和数据特性
- 数据类型和结构: 存储库是用于结构化、半结构化还是非结构化数据?数据的模式是否已知?
- 数据量和速度: 数据量是多大(Big Data, GB, TB)?数据的摄入量有多高(Volume)?是在处理静止数据(at rest)还是流式数据(in motion / Velocity)?
- 访问模式: 是进行事务处理(短间隔访问)还是分析/归档(长时间运行的查询)?
- 更新频率: 数据需要频繁更新还是只需要长期存储用于备份?
2. 技术与组织考量
- 性能要求: 对查询响应时间和数据移动的性能要求如何?
- 可扩展性 (Scalability): 存储库是否能随着组织的成长而扩展?这是最重要的考量之一。
- 兼容性: 新存储库与现有编程语言、工具和流程生态系统的兼容性如何?
- 安全与加密: 是否需要数据加密和其他安全功能?
- 成本: 各种解决方案的成本是多少?
- 组织标准与技能: 组织是否有首选的数据库标准?组织内现有的或计划培养的专家技能如何?
3. 不同用例下的存储库选择
数据存储库的选择最终取决于数据结构、应用性质和数据量。
| 数据结构 | 应用性质 / 用例 | 推荐的存储库类型 | 示例 |
|---|---|---|---|
| 结构化 | 事务处理 (OLTP)、传统分析 | 关系数据库 (RDBMS) | IBM DB2, Oracle, PostgreSQL |
| 高容量/高写入 | 大规模数据摄入(GB/TB 级)、传感器数据 | 文档存储 (Document Store) 或 宽列存储 (Wide Column Store) | MongoDB, Cassandra |
| 关系网络 | 产品推荐引擎、社交媒体关系、欺诈检测 | 图数据库 (Graph Database) | Neo4J, Apache TinkerPop |
| 大规模分析 | 挖掘 TB/PB 级数据进行分析 | 大数据引擎 | Hadoop (带 MapReduce) |
云计算的影响
云计算平台为存储选择增加了新的维度。现在,决策不仅仅是在传统供应商之间(如 IBM DB2 vs. Microsoft SQL Server),还包括托管平台的选择(例如,在 AWS RDS 上运行 SQL Server),以及考虑云原生服务(例如 Amazon Aurora 或 Google Cloud 的关系型产品)。