数据处理系统与Unix工具的批量处理应用
1. 数据系统分类与集成问题
在实际应用中,数据系统往往较为复杂。大型应用通常需要以多种不同方式访问和处理数据,单一数据库难以同时满足所有需求。因此,应用程序常结合使用多种不同的数据存储、索引、缓存、分析系统等,并实现数据在不同存储之间移动的机制。
数据存储和处理系统可大致分为两类:
- 记录系统 :也称为事实来源,保存数据的权威版本。新数据(如用户输入)首先写入此处,每个事实仅精确表示一次(通常为规范化表示)。若其他系统与记录系统存在差异,记录系统中的值即为正确值。
- 派生数据系统 :派生系统中的数据是对其他系统现有数据进行某种转换或处理的结果。若丢失派生数据,可从原始源重新创建。典型示例是缓存,若缓存中有数据则直接提供,若没有则回退到基础数据库。非规范化值、索引和物化视图也属于此类。在推荐系统中,预测摘要数据通常从使用日志派生而来。
虽然派生数据在技术上是冗余的,因为它重复了现有信息,但对于提高读取查询性能通常至关重要,且通常是非规范化的。可以从单个源派生多个不同的数据集,从而从不同“视角”查看数据。明确区分记录系统和派生数据系统有助于澄清系统中的数据流,使系统各部分的输入、输出及其相互依赖关系更加明确。大多数数据库、存储引擎和查询语言本身并非天生就是记录系统或派生系统,其分类取决于在应用中的使用方式。
2. 不同类型的数据处理系统
常见的数据处理系统可分为以下三种类型:
| 系统类型 | 特点 | 性能衡量指标 | 适用场景 |
| — | — | — | — |
超级会员免费看
订阅专栏 解锁全文
7726

被折叠的 条评论
为什么被折叠?



