• 沒有找到結果。

第十四章 大数据管理 目录

N/A
N/A
Protected

Academic year: 2022

Share "第十四章 大数据管理 目录"

Copied!
55
0
0

加載中.... (立即查看全文)

全文

(1)

第十四章 大数据管理

(2)

目录

大数据概述

大数据应用

大数据管理系统介绍

NOSQL

NEWSQL

(3)

数据模型的发展

(4)

大数据的来源

概念的发展:

超大规模数据(20世纪70年代,数百万条)

海量数据(21世纪,更大,更丰富的数据 集)

大数据(2008年9月science发表的big

data: science in the Petabyte era)

(5)

大数据定义

指无法在可容忍的时间里用现有 的IT技术和软硬件工具对其进行 感知,获取,管理,处理和服务 的数据集合。

通常被认为是PB(1000TB)或EB

或更高数据量级的数据,包括结

构化的,半结构化的和非结构化 的数据。

I byte=8 bit 1KB=1024 byte 1MB=1024 KB 1G=1024MB 1TB=1024GB 1PB=1024TB 1EB=1024PB

(6)

大数据的特点

巨量:人均5.2TB

多样:文本,图像,图形,音频,视频,博客 等

快变:实时性,动态,快速产生

价值:潜在,巨大。

Volume,Variety,Velocity,Variability,Vera city,

Complexity,Value

(7)

大数据应用

互联网文本大数据管理与挖掘 --互联网文本大数据管理与挖掘

基于大数据分析的用户建模

--基于大数据分析的用户建模

(8)

互联网文本大数据管理与挖掘

动态数据抓取

历史数据保留

数据深度智能分析

可视化展示

敏感信息实时获取

预定阈值报警

(9)

基于大数据分析的用户建模

根据用户创建的内 容,浏览日志创建 动态的用户描述文 件。

根据用户的行为特

征,兴趣爱好精准

地进行个性化信息

服务

(10)

大数据模型

Nosql 数据管理系统

Non-relational

Not only SQL

Newsql数据管理系统

介于关系模型与NOSQL模型之间

(11)

回顾: 关系模型

数据库存贮大量数据, 数据具有一致性.

通过事务实现并发控制:提交或回滚

多个应用共享数据库

有一个标准模型(标准SQL语句等)

(12)

关系模型与实际应用

集成数据库阻碍了新应用的开发 应用数 据库产生

大数据爆发需要大机器,多处理器,大的 存贮空间 需要集群(a cluster of

small machines)

分布式算法,可扩展性,混合存贮模式

(13)

互联网应用:聚合数据模型

{

“order”:{

“id”:1001,

“Customer”:”Ann”,

“items”:[{“itemID”:

”0321293533”,,”num”:

2,”price”:$46,”total

”:$96}, …],

“payment”:

{“card”:”Amex”,”CC

”:12345,”expiry”:

“12/2020”}

}

(14)

互联网应用:酒店预定

假设现在酒店只剩

下一间房,三个人

同时在三个不同的

地方预定。

(15)

NOSQL

以牺牲事务机制和强一致性机制,来获 取更好的分布式部署能力和横向扩展能 力,创造出新的

数据模型

,使其在不

同的应用场景下,对特定业务具有更强 的粗粒性能。

(16)

NOSQL 应用场景

1:数据模型比较简单;

2:需要灵活性更强的IT系统;

3:对数据库性能要求较高;

4:不需要高度的数据一致性;

5:对于给定key,比较容易映射复杂值的环

境。

(17)

NOSQL 特点

Not using the relational model

Running well on clusters

Open-source

Built for the 21st century web estate

Schemaless

Polyglot persistence: using different data stores in

different circumstances.

(18)

NOSQL 特点(续)

灵活的数据模型

可伸缩性强:分布式,横向扩展,适合互联网应用的分布式特性。

自动分片:自动在多台服务器上分发数据,不需要应用程序增加额 外的操作。

自动复制:服务器自动对数据进行备份,复制存贮在多台服务器上,

多个用户访问同一数据时,可以将用户请求分散到多台服务器中。

分布式处理:数据逻辑分割(便于存放多个结点),物理分布(复 制多个副本)

(19)

NOSQL 四种数据库

没有一个统一的架构,两种不同的NOSQL数据库差异程度较大 键值数据库:

列族数据库:每一行有关键字row key,每一行由多个列族组成,每个列族由多个列组成,列是

(name:value)对

文档数据库:键值数据库的升级版,允许嵌套健值,可以根据文档内容创建索引

图形数据库:以节点、边、节点之间的关系来存贮复杂网络中的数据,在图形模式中,关系和节点本身就 是数据。

(20)

NOSQL 数据模型: Key-Value 模型

键 k 1 对应的值

value ={11,22,33}

键 k 2 对应的值是 一个字符串数组 {Name:Jim,Tel:12 34}

Key-Value 模型支

持任意格式的值存

储.

(21)

NOSQL 数据模型: Key-Document 模型

数据用文档来表示。

面向集合:每个集合有一个唯一标识,存储在集合中的 文档没有数量限制

无需定义模式。

(22)

Key-Column 模型(bigTable)

稀疏的、分布式的、持久化的多维排序图,并通过字典顺序来组织数据,支持 动态扩展,以达到负载均衡.

(23)

三种NOSQL模型对比

(24)

图数据库:Neo4J、Infinite Graph、OrientDB

储存实体和实体之间的关系.

边可以表示不同的特性

关系是有向的,有意义的

Since=1998

Share=[books,movies,s ports]

适用场景:

• 在一些关系性强 的数据中

• 推荐引擎

(25)

一致性模型

定义:

A consistency model determines the effect of

concurrent operations on shared data as viewed by different clients of the system.

分布式系统中,存在很多不同的一致性模型,来保证数据项和 副本的语义关系。

(26)

分布式系统的一致性模型:

Linearizability vs. sequential consistency

共同点:

 Should provide the behavior of a single copy 相同于单副本的操作结

 A read operation returns the most recent write, regardless of the clients.

 All subsequent read ops should return the same result until the next write, regardless of the clients.

不同点:

Linearizability cares about time. (in nontransactional systems)

Sequential consistency cares about program order. (in transactional systems)

(27)

线性一致性模型: Linearizability

“The most recent” & “all

subsequent” –  Determined by time.

任何一次读都能读到某个数据的最近一次 写的数据。 -

系统中的所有进程,看到的操作顺序,都与

全局时钟下的顺序一致。

(28)

顺序一致性: Sequential consistency

“The most recent” & “all subsequent”

–  Ops within the same client: Determined by time (program order)

–   Ops across clients: Not determined by time, we can reorder them. –  i.e., we just need to

preserve the program order

(29)

NOSQL 并发控制

问题: 读脏数据,不可重复读,丢失修改等.

分布式系统(网络)发生问题:

当两个人同时修改同一数据.

一个用户读到了另一个用户不一致(修改操作的中间结果)的数

强一致性: 更新后的数据能被不同进程访问到 弱一致性: 容忍后续部分或者全部访问不到

最终一致性: 经过一段时间能访问到更新后的数据.

(30)

如何实现呢?

问题:两个人同时修改同一数据. (更新一致性) 策略:

1. 悲观方法: 避免同时发生

2. 乐观方法: 允许同时修改,检查并采取行动.

3. 有条件修改: 修改数据前先读数据,是否和以前一样,如果一样就修改。

问题:一个用户读到了另一个用户不一致(修改操作的中间结果)的数据 策略:

1. 最终一致性.

2. 读已之所写一致性(Read-your-writes consistency): a client can write and then immediately read the new value. This can be

difficult if the read and the write happen on different nodes.

(31)

客服端一致性的5个变种

从客户端来看,一致性主要指的是多并发访问时更新过的数据如 何获取的问题。

因果一致性:进程A更新完数据通知进程B,则B能够获取进程A更新后的值。

读已之所写一致性:自己能访问到更新过的最新值。

会话一致性:系统能保证在同一个有效的会话中实现“读己之所写”的一致 性。

单调读一致性:如果一个进程从系统中读取出一个数据项的某个值后,那么系 统对于该进程后续的任何数据访问都不应该返回更旧的值。

单调写一致性:同上。

最终一致性:在实际系统中,将上述策略混合以构建一个具 有最终一致性的分布式系统

(32)

服务器端一致性

指更新如何复制分布到整个系统,以保证数据最终一致

N: 数据复制份数

W:更新数据时需要写操作的节点数

R:读取数据时需要读取的节点数

强一致性:W+R>N

弱一致性:W+R<=N

如果N=W R=1:任何一个写节点失效,都会导致写失败,可用性降低,

但是数据分布的N个节点同步写入,可以保证强一致性。

N=R W=1:则需要一个节点写入成功,写性能和可用性都比较高,但 读取其他节点的进程可能不能获取更新后的数据,弱一致性。

(33)

NOSQL 数据库事务管理:CAP

一致性C:all nodes see the same data at the same time.更新操作成功后,所有节点在同一时间的数据完全一 致

可用性A:reads and writes always succeed.用户访问数 据时,系统是否能在响应时间返回结果。

分区容错性P: the system continues to operate

despite arbitrary message loss or failure of part of the system. 遇到某节点或网络分区故障时,仍然能够 对外提供满足一致性和可用性服务。

CAP原则

:分布式系统只能满足上述2个特性:CA,CP,AP。

(34)

CAP 原则

对NOSQL,分区容错性不能牺牲,一般有:

CP模式:分区容忍性,同时对数据一致性要 求较高。例如bigtable, Hbase,Redis等

AP模式:主要以实现最终一致性来确保可

用性和分区容忍性,弱化对数据的一致要求

(35)

NOSQL 数据库事务管理: BASE

BASE 理论是针对NOSQL数据库而言,对CAP理论中的一致性和可用 性进行权衡的结果:

Basically Available:保证核心功能可用,损失部分可用性 Soft-state:允许不同节点副本之间存在暂时不一致情况。

Eventually Consistent:不需要实时保证数据副本一致,最终一 致即可。

总结:通过弱化一致性,提高系统的伸缩性、可靠性和可用 性。

(36)

讨论

你能否举出实际应用环境中,应用CAP 或

BASE 原则的例子吗?

(37)

Categorization of the Representative NoSQL Stores Based on the CAP Theorem

(38)

NOSQL 总结

trade off consistency versus latency: to get good consistency, you need to involve many nodes in data operations, but this increases latency.

Trade off durability versus latency: survive failures with replicated data.

Trade off availability versus consistency.

(39)

NEWSQL 模型

使用SQL语言作为应用之间交互的主要机制。

遵循ACID

使用“无锁”的并发机制。

结合NOSQL和传统SQL系统的优点

(40)

NEWSQL 种类

1. 新型架构: 使用一个全新的系统来实现

2. 透明的数据分片中间件: 使用自动分片的中间件将数 据库分成多个部分,并存贮到多个单节点机器组成的 集群中.

3. Database-as-a-service: 使用云服务提供商提供的 系统,它们负责维护所有的数据库物理机及其配置,

包括系统优化(例如缓冲池调整),复制,以及备份。

(41)

1. New architectures

新结构的NEWSQL系统具有以下特点:

Distributed architectures

Shared-nothing resources

Multi-node concurrent control

fault tolerance through replication

Distributed query processing

allows the DBMS to “send the query to the

data”

(42)

2. TransparentShardingMiddleware

把一个数据库中数据分成几个部分,分别存放在 不同的结点,每个结点可以:

(1) runs the same DBMS

(2) only has a portion of the overall database,

(3) is not meant to be accessed and updated independently by separate applications.

这种分片对用户和开发人员是透明的,即自动分片。

(43)

3. Database-as-a-Service

云计算的数据库服务商负责数据库的维护和 运行。

基于新型架构的DBaaS是NewSQL

Amazon’s Aurora 是其中的一个例子

(44)

NEWSQL 特点

Main memory system: 可以把所有数据库装入

内存,有技术可以把数据库的子集转移到外存。

Partitioning/sharding: 数据库数据水平和 垂直分区,不同节点上分布式处理

Concurrency control: 保持事务的原子性和 隔离性。使用timestamp ordering (TO)

concurrency control, 和 MULTI-VERSION concurrency control (MVCC),二段锁和多版 本控制结合起来的方案

(45)

NEWSQL 特点 (续)

副本设计策略: 强一致性和弱一致性:

active-active replication(每个副本节点 同时处理更新) and active-passive

replication. (首先在一个节点更新,然后,

DBMS把处理状态转发到其它复制节点)

出错恢复: 恢复时有两种方法:一是后备结点 从自身存贮设备输入它最后一个checkpoint and WAL,然后再把其它结点的日志文件装入二 是后备结点重新装入一个用于恢复的新日志.

(46)

NEWSQL 的优点

数据库分区减少了系统的通信开销,从而 可以轻松地访问数据。

即使出现系统故障或错误,ACID事务也可 以确保数据的完整性。

NewSQL数据库可以处理复杂的数据。

NewSQL系统具有高度可伸缩性。

(47)

NEWSQL system overview

(48)

NEWSQL DBMS overview

(49)

三种模型的对比

(50)

大数据管理的新格局

面向操作性应用:基于行存贮的关系数据库系 统,并行数据库系统,实时计算的内存数据库 系统,NoSQL 系统,以及结合nosql 和关系的 新型系统(VoltDB)

面向分析型应用:列存贮数据库(MonetDB)

和基于列存贮技术的内存数据库

(MonetDB,VectorWise,Hana) ,以及采用

MapReduced 技术,面向分析应用的Nosql系统。

(51)

数据管理技术新格局

(52)

大数据管理的新格局

面向操作型应用的数据库技术

基于行存贮的关系数据库系统,面向实时计算的内存数据库系统,形成新的 NEWSQL系统

面向分析型应用的关系数据库技术

面向分析的列存贮数据库和内存数据库,内存数据库利用大内存,多核CPU 等硬件系统。

面向操作型应用的NOSQL技术

NOSQL系统,数据模型灵活,扩展性好

面向分析型的MAPreduce技术

并行计算的框架,简单,高度的扩展性和容错性,适合海量数据的聚集 计算。

(53)

SQL NewSQL

NoSQL

(54)
(55)

参考文献

大数据管理:概念、技术与挑战

数据模型及其发展历程

新型数据管理系统研究进展与趋势

參考文獻

相關文件

Set a time limit for students to complete the reading and work through the Reading Comprehension and Language Practice activities.. At the end of the allotted time, have students

A limited section of a reading text (usually a short paragraph) is used for students to practice stress and intonation of a previously read passage.. With limited use, students

Due to a definition of noise factor (in this case) as the ratio of noise powers on the output versus on the input, when a resistor in room temperature ( T 0 =290 K) generates the

n How to build redundancy and diversity into a VoIP network without losing sight of the trade-off between network quality and network cost (network dimensioning, traffic

• You need to know programming (C, python, java, … anything)
 (but not necessarily Matlab).. • You need to know how to find

Dialysis can help you feel better and live longer, but it is not a cure for kidney failure. After you start dialysis, you will need to keep doing it to stay as healthy

We are importers in the textile trade and would like to get in touch with ______ of this line.(A)buyers (B)suppliers (C)customers

The course objective is designed to let students learn the following topics: (1) international trade, (2) business letters highly used in trade, (2) business letters highly used