第三章 存储与管理

1 分布式文件系统 

1.1 简介 

定义:文件系统管理的物理存储资源不仅存储在本地结点上,还可以通过网络连接存储在非本地结点上。

优势:低成本,易扩展,强可靠,高可用。

主流分布式文件系统:

  • GFS(Google File System)
  • HDFS(Hadoop Distributed File System)
  • Ceph
  • Lustre
  • TFS(Taobao File System)

1.2 HDFS简介

开源实现了GFS 。

Hadoop的框架最核心的设计是HDFS和MapReduce,前者为海量数据提供了存储,后者为海量的数据提供了计算。

特点:兼容廉价的硬件设备,流式数据访问,存储和管理超大文件,简单的文件模型,强大的跨平台兼容性。

体系结构:

  • 主要采用Master-Slave结构模型
  • 一个HDFS集群通常由一个名称节点和多个数据节点组成
  • 将文件数据分割成若干数据块,每个数据节点存储一部分数据块
  • 应用程序客户端可以并行地对数据块进行访问

冗余数据存储:

  • 多副本方式
  • 保证系统的容错性和可用性
  • 加快数据传输速度
  • 容易检查数据错误,保证数据可靠性

HDFS数据读写过程。         

2 分布式数据库 HBase     

是BigTable的开源实现。

是一个稀疏、多维、持久化存储的映射表,采用行键、列族、列限定符、时间戳进行索引。

一个大的表会被拆分成许多Rigion,分发到不同服务器上。

3 非关系型数据库 NoSQL

3.1 传统数据库的不足

无法满足海量数据的管理需求。

无法满足数据高并发的需求。

无法满足高扩展性和高可用性的需求。

3.2 NoSQL特点

不需要预定义的数据格式。

不共享任何构架。

灵活可扩展。

数据分区。

异步复制。 

3.3 典型NoSQL数据库

键值数据库

  • 将数据存储为键值对集合,键作为唯一标识符
  • Memcached,Redis,BerkeleyDB

列存储数据库

  • 一般采用列族数据库模型,数据库由多行构成
  • 每行数据包含多个列族,不同行可具有不同数量的列
  • 每行数据通过行键进行定位,列以列族为单位组织存储
  • Cassandra,HBase,HyperTable

文档数据库

  • CouchDb,MongoDB,RavenDB

图数据库

  • 以图作为数据模型,通过节点、边和属性来表示和存储数据
  • 用于管理具有高度相互关联关系的数据
  • Neo4J,Infinite Graph,GrapgDB

3.4 CAP理论

一个分布式的系统不能同时满足一致性、可用性和分区容忍性这三个要求,最多只有两个得到满足。 

Consisitency:所有节点在同一时刻拥有数据的最新版本。

Availability:任何时候,读写都是成功的,即系统一直可用。

Partition Tolerance:当部分节点出现信息丢失或者分区故障时,分布式系统仍然能够以继续运行。

3.5 NoSQL vs 关系数据库

   关系数据库:

  • 优势:以完善的关系代数理论作为基础,有严格的标准,借助索引机制可以实现高效的查询,技术成熟,有专业公司的技术支持
  • 劣势:可扩展性较差,无法较好支持海量数据的存储,数据模型不够灵活,无法较好支持Web2.0应用

NoSQL数据库:

  • 优势:强大横向扩展能力,支持超大规模数据存储,灵活的数据模型,很好支持Web2.0应用
  • 劣势:缺乏数学理论基础,复杂查询能力不高,很难实现数据完整性,缺乏专业团队的技术支持,维护较困难

比较方面:扩展,海量数据,数据模型,Web2.0;理论基础,查询,数据完整性,专业团队                                                                                                                                                                                                                                                                                                                                                                                                                                                  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值