第八章 [云的数据考虑]
1.数据特性
-
【物理特性】
在进行物理特性的分析时,需要收集多方面的数据。其中,数据的位置和数据的所有者是两个重要信息。
-
【性能要求】
实时:亚秒级的响应时间,网站通常会争取达到半秒级或更短的响应时间。
近实时:通常指1~2秒内。
延时:所指的时间范围可能是几秒,也可能是一个按日、周、月等计算的时间框架。
响应时间分类决定了主要的设计策略。所需的响应时间越短,可能需要使用内存而不是硬盘。
-
【易变性】
易变性指数据变化的频率。
-
【容量】
容量指一个系统必须保存和处理的数据量。
-
【监管要求】
法规在制定与数据有关的决策时扮演了重要角色。理解法规的限制和风险可以驱动部署模式的决策。
-
【事务边界】
事务边界可以理解为一种工作单元。
-
【保存期限】
保存期限是指数据必须保存的时限。
2.选择数据存储类型
为了将数据存放在数据库中,关系型数据库必须保证事务得到成功处理,适用于联机事务处理(OLTP)行为,随着数据量变大,关系型数据库的处理速度会跟不上需求,出现了NoSQL。
【键值存储】
键值存储数据库采用了散列表,每个带有指针的唯一的键都会指向一个特定的数据项。
- 优点:速度快,高扩展,在读取大型、静态、结构化数据时有良好表现
- 缺点:没有对数据库结构描述(schema),不适合处理复杂数据和关系。
- 代表产品:Redis(LinkedIn使用的)Voldemort和亚马逊的DynamoDB。
【列存储】
列存储的出现是为了储存和处理跨多台机器上的大规模分布式数据。
- 优点:数据库速度快,扩展性好,运行时容易做出变更。对多源异构数据整合表现优秀
- 缺点:不太适用于高连接度的数据源
- 代表产品:Hadoop和Cassandra
【文档存储】
文档存储数据库用存储以文档形式进行存放的非结构化数据。数据通常以XML、JSON、PDF、Word和其他常见的文档类型进行封装。
- 优点:在由不同格式组成的大规模数据的拓展方面表现突出
- 缺点:不太适用于高连接度的数据源
- 代表产品:CouchDB和MongoDB
【图形数据库】
图形数据库用于存储和管理彼此关联的关系。通常用于展示关系的可视化描述,尤其是在社交媒体分析领域。
- 优点:在绘图方面表现优异
- 缺点:由于为了产生结果必须对整个关系树进行遍历。所以在更多的其他方面却性能较差
- 代表产品:Neo4j和InfoGrid