没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
大数据基础与应用知识总结
第一章
大数据的 5V
Volume(数据容量)
Variety(数据类型)
Viscosity(价值密度)
Velocity(速度)
Veracity(真实性)
第二章
第一范式:主要描述自然现象,以观察和实验为依据的研究,可称为经验范式
第二范式:以建模和归纳为基础的理论学科和分析范式,又称为理论范式
第三范式:模拟复杂现象为基础的计算科学范式,又称为模拟范式。
第四范式:以数据考察为基础,联合理论、实验和模拟一体的数据密集计算的
范式。
第三章
可伸缩性的概念:通过扩展系统规模来提高性能并处理更大数量的用户和通过
扩展系统规模提高系统的容错能力等
可伸缩性的实现:
1、横向扩展:指向逻辑单元之外的扩展,增加更多逻辑单元的资源并使它们
像一个单元一样工作,即在原有的分布系统添加一个新机器。
优点:可利用初始硬件成本,不需要更改应用程序
2、纵向扩展:指在同一个逻辑单元内增加资源来提高处理能力,即在原有的
机器添加 CPU、内存等软硬件资源。
优点:在单一系统上扩展,不需要进行复杂的配置,不需要对数据库进行重大
更改。
CAP 理论:
一致性(Consistency):所有节点在同一时间具有相同的数据。
可用性(Availablity):保证每个请求的成功或者失败都有响应。
分区容错性(Partition Tolerance)系统中任意信息的丢失或者失败不影
响系统的继续运行。
CAP 定理:一个分布式系统不可能同时满足一致性、可用性、分区容错性三个
系统需求,最多能同时满足两个系统需求。
CAP 的证明过程
1、CAP 定理的证明
如左图,是我们证明 CAP 的基本场景,网络中有两个节点 N1 和 N2,可以简
单的理解 N1 和 N2 分别是两台计算机,他们之间网络可以连通,N1 中有一个
应用程序 A,和一个数据库 V,N2 也有一个应用程序 B2 和一个数据库 V。现
在,A 和 B 是分布式系统的两个部分,V 是分布式系统的数据存储的两个子数
据库。
在满足一致性的时候,N1 和 N2 中的数据是一样的,V0=V0。在满足可用性
的时候,用户不管是请求 N1 或者 N2,都会得到立即响应。在满足分区容错性
的情况下,N1 和 N2 有任何一方宕机,或者网络不通的时候,都不会影响 N1
和 N2 彼此之间的正常运作。
如上图,是分布式系统正常运转的流程,用户向 N1 机器请求数据更新,程序
A 更新数据库 Vo 为 V1,分布式系统将数据进行同步操作 M,将 V1 同步的 N2
中 V0,使得 N2 中的数据 V0 也更新为 V1,N2 中的数据再响应 N2 的请求。
这里,可以定义 N1 和 N2 的数据库 V 之间的数据是否一样为一致性;外部对
N1 和 N2 的请求响应为可用性;N1 和 N2 之间的网络环境为分区容错性。这
是正常运作的场景,也是理想的场景,然而现实是残酷的,当错误发生的时候,
一致性和可用性还有分区容错性,是否能同时满足,还是说要进行取舍呢?
作为一个分布式系统,它和单机系统的最大区别,就在于网络,现在假设一种
极端情况,N1 和 N2 之间的网络断开了,我们要支持这种网络异常,相当于要
满足分区容错性,能不能同时满足一致性和响应性呢?还是说要对他们进行取
舍。
假设在 N1 和 N2 之间网络断开的时候,有用户向 N1 发送数据更新请求,那
N1 中的数据 V0 将被更新为 V1,由于网络是断开的,所以分布式系统同步操
作 M,所以 N2 中的数据依旧是 V0;这个时候,有用户向 N2 发送数据读取请
求,由于数据还没有进行同步,应用程序没办法立即给用户返回最新的数据
V1,怎么办呢?有二种选择:
第一,牺牲数据一致性,响应旧的数据 V0 给用户;
第二,牺牲可用性,阻塞等待,直到网络连接恢复,数据更新操作 M 完成
之后,再给用户响应最新的数据 V1。
这个过程,证明了要满足分区容错性的分布式系统,只能在一致性和可用
性两者中,选择其中一个。
BASE 模型
Basically Available(基本可用)
Soft-state( 软状态/柔性事务)
Eventual Consistency(最终一致性)
BASE 模型是传统 ACID 模型的反面,不同与 ACID,BASE 强调牺牲高一致
性,从而获得可用性,数据允许在一段时间内的不一致,只要保证最终一致就
可以了。
基本可用:是系统能够基本运行、始终提供服务。BASE 模型与 ACID 模型相
反,通过牺牲高一致性,获得可用性分区容错性。
软状态:指系统不要求一直保持强一致状态,可以有一段时间不同步。软状态
也可以理解为无连接的,而硬状态是有连接的。
最终一致性:系统需要在某一个时刻后达到一致性要求。
ACID
原子性(atomicity,或称不可分割性) :一个事务(transaction)中
的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事
务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就
像这个事务从来没有执行过一样。
一致性(consistency) :在事务开始之前和事务结束以后,数据库的完
整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资
料的精确度、串联性以及后续数据库可以自发性地完成预定的工作
隔离性(isolation,又称独立性) :数据库允许多个并发事务同时对齐数
据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行
而 导 致 数 据 的 不一致。 事 务 隔离 分 为 不 同 级 别 , 包 括 读未 提 交 ( Read
uncommitted ) 、 读 提 交 ( read committed ) 、 可 重 复 读
(repeatable read)和串行化(Serializable)。
持久性(durability) :事务处理结束后,对数据的修改就是永久的,即
便系统故障也不会丢失。
剩余24页未读,继续阅读
资源评论
敲代码去
- 粉丝: 184
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功