Page 196 - 电气控制技术与管理
P. 196
电气控制技术与管理
Electrical Control Technology and Management
⑤事务与并发控制。如何实现分布式事务?如何实现多版本并发控制?
⑥易用性。如何设计对外接口使得系统容易使用?如何设计监控系统并将系
统的内部状态以方便的形式暴露给运维人员?
⑦压缩/解压缩。如何根据数据的特点设计合理的压缩/解压缩算法?如何平
衡压缩算法节省的存储空间和消耗的CPU计算资源?
按照结构化程度来划分,数据大致分为结构化数据、非结构化数据和半结构
化数据。下面分别介绍这3种数据如何分布式存储。
1.结构化数据
结构化数据是由用户定义的一种数据类型。它包含许多函数。每个属性
都有一个存储在关系数据库中的数据类型。数据可以用二维表格结构表示;大
多数系统都有大量结构化数据,这些数据通常存储在关系数据库(如Oracle或
SqlServer)中。如果系统规模太大,无法支持单节点数据库,通常有两种方法:
垂直扩展和水平扩展。
(1)垂直延伸
垂直延伸很容易理解。简而言之,数据库按功能进行分解,不同功能的数据
存储在不同的数据库中,从而将一个大型数据库拆分为多个小型数据库以扩展数
据库。设计良好的体系结构的应用系统通常由许多自由连接的功能模块组成,每
个功能模块所需的数据对应于数据库中的一个或多个表。不同功能模块之间的集
成交互越来越少,系统的连接程度就越低,这样的系统就越容易实现垂直分割。
(2)水平延伸
简单地说,水平数据分割可以理解为按数据进行分割,即表中的一些行被划
分为数据库,而其他行被划分为其他数据库。要轻松确定将每行数据拆分为哪个
数据库,必须始终根据某些特定规则执行分割,如数字段范围、时间类型字段范
围或字段片段值。垂直扩张和水平扩张各有优缺点,通常,大型系统将水平和垂
直扩展结合在一起。
2.非结构化数据
相对于结构化数据而言,不方便用数据库二维逻辑表来表现的数据即称为
非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类
报表、图像和音频/视频信等。分布式文件系统是实现非结构化数据存储的主要
技术,谷歌文件系统(Google File System,GFS)是最常见的分布式文件系统之
·184·

