⼆、⼤数据与分布式 ⼀、分布式⽂件系统 ⼤数据管理研究的⽂件系统主要是分布式⽂件系统,分布式⽂件系统时建⽴在多台服务器上,并对多个节点上的⽂件进⾏统⼀管理,为⽤户 提供单⼀⽂件视图和⽂件访问结构。⽬前流⾏的分布式⽂件系统是建⽴在互联⽹环境上,基于节点⾃⾝的⽂件系统⽽实现的⾯向海量数据管 理的⽂件系统,主要研究在⼤规模集群上数据划分和数据分布,所存储的数据的可靠性以及存储管理的可扩展性,如何⽀持⽤户⼤规模并发 访问以及如何适应新型的并⾏计算模型。 ⽬前⽐较成熟的分布式⽂件系统解决⽅案有⾕歌的 GFS ,它是从实际需求、业务类型以及技术环境等⽅⾯考虑设计并实现的分布式⽂件系 统,它充分满⾜了应⽤存储的需求。雅虎的 HDFS 和亚马逊的 S3 也是相对成熟的分布式⽂件系统解决⽅案。HDFS 最⼤的⽤户是雅虎, 其次是 Facebook,S3 是亚马逊提供的在线按需存储服务,它是⼀个基于对象的存储系统,为客户提供任意⼤⼩的对象存储。 ⼆、分布式数据管理平台 传统数据库⽆法应对⼤数据环境下数据存储的管理。NoSQL 数据库技术的提出为⼤数据管理提供了⼀个很好的解决⽅案。NoSQL 数据库 根据存储模型可以划分为:基于 Key-Value 的存储模型,基于 Cloumn Family 的存储模型,、基于⽂档的存储明星以及基于图的模型。 2.1 基于 Key-Value 存储的 NoSQL 数据库 基于 Key-Value 存储的 NoSQL 数据库主要是基于键值对来存储,利⽤哈希表来维护 Key 值与具体 Value 之间的映射关系,⽤户可以通 过 Key ⽅便的对数据进⾏定位。 Value 是以⼀定的数据结构进⾏存储,⽽系统不对 Value 进⾏任何解释,应⽤程序会根据事先约定的格式 对数据进⾏处理并对 Value 进⾏解释。Key-Value 类型的 NoSQL 数据库存在⼀个弊端,就是⽤户⽆法根据 Value 中的某个属性值查询数 据,因此该类型的数据库只能⽀持对 Key 进⾏简单的查询。 Tip:常见的 Key-Value 类型的 NoSQL 数据库有:Redis、Tokyo Cabinet Tryant、Oracle Berkeley DB 等。 2.2 基于 Cloumn Family 存储的 NoSQL 数据库 Cloumn Family 是指具有相同性质的序列属性。它的存储结构是在 Key-Value 模型基础上进⾏重新设计的,Value 被设计的更加精细,⼀ 个 Value 由多个属性列组成,这些属性列组成了⼀个组从⽽在数据结构上呈现出多层嵌套映射。 Tip:常见的 Cloumn Family 类型的NoSQL 数据库是 BigTable。 2.3 基于⽂档存储的 NoSQL 数据库 基于⽂档存储的 NoSQL 数据库以传统的⽂档存储技术为基础,存储模型以是 Key-Value 存储模型为基础,每个⽂档是⼀个 Key-Value 列 表,⽂档格式⼀般采⽤ JSON 或者类似于 JSON 的格式。该类型的数据库对于特定的查询来说具有较⾼的效率,并且给数据库的设计⼈员 带来了建模的灵活性,但却给数据操作⼈员带来了极⼤的负担。基于⽂档存储的 NoSQL 数据库存在⼀个弊端,数据是循环嵌套的,会使应 ⽤程序变得越来越复杂、难以维护和理解。因此在使⽤该类型 NoSQL 数据库时应当在设计阶段平衡好灵活性与复杂性。 Tip:常见的基于⽂档存储的 NoSQL 数据库有:Lotus Notes、CouchDB、MongoDB 和 Riak 等。 2.4 基于图存储的 NoSQL 数据库 传统图数据库⼤部分是⾯向对象的,虽然它们在节点遍历等图数据操作中都具有很好的性能,但是并没有考虑到系统的可扩展性,因此就出 现了基于图存储的 NoSQL 数据库。这种类型的 NoSQL 数据库不仅以扩展性为重要⽬标,还可以对⼤规模的图数据进⾏有效的管理和分 析。基于图存储模型的 NoSQL 数据库主要应⽤于社交⽹络、科学研究以及其他需求不断发展的应⽤领域,在这些应⽤中图模型可以在庞⼤ 的数据规模下更加清晰准确的表达数据的意义。 三、数据组织与管理 ⼤数据组织和管理技术主要包括数据划分技术、数据块分布技术、索引技术、副本管理技术和⽀持事务处理技术等,下⾯重点介绍⼀下前三 种技术,后两种技术将在后续的⽂章中详细讨论。 3.1 数据划分技术 数据划分是指将数据集分割成多个独⽴互不相交的⼦集合,主要⽬的是使具有相关性的元组和属性尽量⼀起存储,从⽽减少操作的开销代价 ⽽提⾼操作性能。 NoSQL 数据库在⼤数据环境下因为每个表的数据量很⼤,因此都会以分布式的形式对表进⾏存储。只有表进⾏划分才能实现表的分布式存 储,所以数据划分对提⾼ NoSQL 数据库性能有重要作
- 粉丝: 168
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助