Upload
others
View
33
Download
0
Embed Size (px)
Citation preview
CMGD-GZ LIUYAQI
大数据时代的数据库技术
杨 金 民
2013年11月
高级数据库技术讲座
CMGD-GZ LIUYAQI 2
讲义信息
版权老师: 杨金民 教授
办 公 室: 湖南大学软件大楼507
电 话: 13975896967, 0731-8711167
Email: [email protected]
QQ: 909485030;
网站:http://ss.hnu.cn/newweb/teachers/zhuanzhijiaoshi/yangjinmin/index.htm
3
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
目录
时代脉搏
技术的支撑
对企业的重要性
数据库中的核心问题
数据库应用
大数据时代
数据库技术
4
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
大数据时代 — 网上购物
淘宝商城光棍节(11/11)一天的交易额:近年成指数增长。
2010 2011 2012 2013
9.36 52
191
年份
交易额/亿350
5
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
大数据时代 — 网上借贷
P2P 网络借贷平台交易量的交易额:近年也成指数增长。
2010 2011 2012 2013
1360
300
600
年份
交易额/亿
6
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
大数据时代的思考
从上述统计数据,我们看到了什么?
为什么网购这么铺天盖地,排山倒海???
为什么网贷的增长非常迅猛,但是其全国全年的总量还不及一个企业的一天的网购量???
上述反映了经济社会的两个最根本问题:买卖和融资;
网购有成熟的技术支持,使得其具有无比的优势:可信、可靠,方便,低廉;
网贷发展的瓶颈是客户信用评估还不够准确!!!!!;
7
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
互联网的发展颠覆了传统的商业模式
互联网对网民越理解,网民对网络就越依赖。互联网在满足客户需求的同时,也创造新的需求,带来了新的商机和财源。
它们盈利模式在于:通过免费提供友好的在线软件吸引用户。用户在免费使用产品的同时,把个人的行为、喜好等信息也免费送给了它们。
它们对用户的理解就越深入,它们的广告就越精准,广告价值就越高,需求就越被拉动,生财之道就越宽广。
这种商业模式颠覆了微软卖软件拷贝赚钱的传统模式。淘宝、谷歌,360
8
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
智慧的商业模式
大家都知道,在电视和报刊媒体,以及一般网站上,商业广告是一脑股子地全部强行推给你,根本不顾及你是否需要。
而在谷歌和百度网上,我们没有看到强行推给我们的广告。它的广告是在用户基于自己的需求进行搜索时,隐性地体现在搜索结果中。其广告不是盲目地推给用户,而是基于用户的需求,带有满足用户需求的色彩呈现给用户的。
这种模式是智慧的,把商业模式带到了一个全新的高度。我们不但不厌恶谷歌和百度呈现给我们的广告信息,还要感谢网站给了我们正需要的信息。
共赢的局面形成:商家和客户的脾气和心理,谷歌和百度都能充分地察觉出来,有的放矢、恰如其分地传播商业信息,极大地助推了商业的发展。
9
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
带来的机遇和挑战
广告越能有的放矢,网上商业活动就越发达,资金往来就越多,商机也就越大,赚钱就越厉害。
但是商业风险也非常高,有借无还在中国司空见惯,令银行伤透脑筋。坏账最终被转嫁到客户身上,又会使客户流失,失去竞争力。
竞争力的提升要依靠大数据技术,从多维度来获取用户信息,多视角透视用户,准确评估客户的信用;
10
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
大数据生态
11
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
技术的演进—拉开了智慧经济模式序幕
信息技术(大数
据、移动通信、
云计算)为扩大
视野,精准、及
时掌握信息提供
了支撑。
12
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
云计算放低了电子商务的门槛
网购云 物流云移动通信云
短信
GPR
S
运输 转
账支付
服务接口
金融云
什么是云计算?面向服务是其
精髓,以服务接口的方式呈
现,实现了应用系统的快速构
建,可靠、低成本运行。
云计算不是将来时,它已经在我们身边,已经是我们日常生活的一部分。
13
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
云计算背后的支撑—大数据处理中心
网购云 物流云移动通信云
短信
GPR
S
运输
转账
服务接口
金融云
海量的数据:
一天的交易条数达到80
亿,数据量到达P级;
14
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
企业数据中心
要解决的问题:
高安全:不泄露,不可抵赖;
高可靠:数据一致和不丢失;
高性能:速度快,吞吐量大;
数据就是企业:是企业最核心的内容
企业就是数据:全浓缩在拥有的数据中
15
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
数据库安全问题及技术
应用服务器用户 数据库
偷看
篡改
抵赖假冒
公共Internet公共
Internet
非法数据访问:
读取非允许的数据;
改/删/加非允许的数据;
加密技术 用户、权限管理,审计
16
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
安全管理—运输中泄密问题
应用服务器用户 数据库
解决:抵赖、偷看、假冒、篡改这四个问题。
公共Internet公共
Internet
认证中心
非对称技术:用SK加密的密文只能用PK解密;
加密 解密密文
加密钥匙SK 解密钥匙PK
明文 明文
17
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
安全管理—密码技术
(n,d)构成公钥PK,可以告诉别人;
(n,d)构成私钥SK,自己保留,不让任何人知道;
给别人发送的信息使用SK加密,别人能用PK解开就证明信息是由你发送的,构成了签名机制;
别人给你发送信息时使用PK加密,这样只有拥有SK的你能够对其解密。
安全性在于:对于一个大数n,已知公钥PK(n,d),但无法获得私钥SK(n,e);
密码约束条件:
找两素数p和q,取n = p * q,再取t=(p - 1) * (q - 1)
取任何一个数e, 要求e < t并且e与t互素,取d使得d * e % t == 1
加密:密文 = (明文**d) % n;
解密:明文 = (密文**e) % n;
例子:PK(33,3); SK(33,7); m=7;b·c % n = (b % n)·(c % n) % n
18
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
安全管理—数据库内部安全管理
联接控制:只允许授权的用户与数据库建立联接,访问数据库;
权限控制:只允许用户访问已被授权的数据;
审 计:对用户访问数据库的过程进行跟踪记录,一旦发生了安全问题,便可追踪溯源,破案;
•数据库管理系统软件
数据库:1 2
3 4 表的集合
19
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
安全管理—数据库访问权限控制
安全机制的三个概念:
用户:(用户名,口令);
权限: 读,修改,删除,添加;
数据对象:表(列);
授权操作:对于某个数据对象,将某种权限授予给某个用户;
收权操作:将某个用户对某个数据对象拥有的某种权限收回;
name eno Bdate title salary dno
周 山 E62 1-Jun-81 EE 5000 D01
杰克孙 E63 1-Aug-82 PR 4500 D07
菲利普 E64 4-May-83 ME 4000 D07
奥巴马 E72 1-May-71 SA 8500 D01
员工表
name pwdPhilip 123
Machel tree
用户表
20
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
安全管理—数据库访问的审计
返回码 操作码 用户名 操作用户名 访问主机 时间
1017 100 SCOTT WPRATA-BR 10.126.53.159 2004-09-22:11:08:001017 100 SCOTT WPRATA-BR 10.126.53.159 2004-09-22:11:08:031017 100 SCOTT WPRATA-BR 10.126.53.159 2004-09-22:11:08:090 101 WPRATA-BR 10.126.53.159 2004-09-22:11:09:21
通过检查审计表中的记录,1017的含义为错误的用户名口令,可以清
楚地看出用户WPRATA-BR尝试破译用户SCOTT的口令。
审计记录表:
21
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
数据库性能问题
度量指标:
事务吞吐量(Transaction throughput): 单位时间中能够处理的交易(事务)数量.
响应时间(Response time): 完成单个交易所用的时间.
22
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
提升性能的方法1—内存缓存
CPUCPU
MemoryMemory
Disk
t3
磁头径向移动
存储器特性:速度、存储容量、容错性;
数据库中的数据量;
盘片转动
23
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
性能问题—磁盘碎片
磁盘以片段为单位来存储数据;
一个文件在磁盘上被划分成多个片段,磁盘选取空闲片段来存储;
如果这些片段散布在整个盘面上,磁头就要反复来回走动,效率低!
24
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
提升性能方法2—数据连续存储
磁盘碎片整理,就是这个道理啊!
没有磁头的移动!!
这是大家经常做的事情!
25
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
提高性能的方法3—创建索引
磁盘空间地址
被索引字段的值
CPUCPU
MemoryMemory
Disk
客户信息表
26
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
提高性能的方法4—并发执行
CPUCPU
MemoryMemory
Disk
Disk
t3
t2t1
t4
三个事务串行执行
三个事务并发执行
27
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
数据库的可靠性问题
accountName accountNo identityNo balance
周山 2008043101 430104198008064311 1200
汪兵 2008043214 430104197612274810 80,000
张珊 2008043332 430104196902114933 137,000
银行交易系统
例子: 转账操作:假定从汪兵的帐上划转1万元钱到周山的帐上,那么有两步操作:分别为汪兵的帐上减1万;周山的帐上加1万。假定刚完成第一步操作时,停电,那么数据就会不一致;
UPDATE account SET balance = balance + 10000 WHERE accountNo=‘2008043101’;
UPDATE account SET balance = balance - 10000 WHERE accountNo=‘2008043214’;
28
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
数据库可靠性面临的威胁—系统故障
• 事务故障–逻辑故障, 例如: 除以 0.–余额不允许为负;
• 系统崩溃故障–停电、硬件故障;
• 磁盘故障
• 灾难故障–例如:地震,恐怖袭击,火灾;
29
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
解决方法—故障恢复
• 故障恢复包括2个部分:
1.正常执行时的防备措施,为故障恢复做准备;
2. 故障发生后的故障恢复措施,保证数据不丢失
和数据一致;
30
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
解决方案:做日志和数据备份
DatabaseDisk Database
Buffer
PrivateBuffer
memory
WriteRead
CPU
LogDisk
LogBuffer
ArchivalDisk
<T0 start><T0, A, 1000, 950><To, B, 2000, 2050><To, commit><T1 start><T1, C, 700, 600>
31
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
日志磁盘和数据库磁盘同时故障
• 无法恢复;
• 这是一个小概率事件: 假定一个磁盘故障的概率为p,那么两个磁盘同时故障的概率为p2;
• 例如,磁盘的正常工作时间可达5年,即故障概率为10-3级,p2为10-6级,即200年左右。也就是说,可靠性从5年提高到了200年。抗洪能力从5年一遇到200年一遇的防洪大堤修建也就是这个意思。
32
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
容灾-远程备份
Backup host
DatabaseDisk
DatabaseBuffer
PrivateBuffer
WriteRead
CPU
LogDisk
LogBuffer
DatabaseDisk
DatabaseBuffer
CPU
LogDisk
LogBuffer
网络
Primary host
33
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
当今广为流行的DBMS产品
• Oracle公司的Oracle:大型DBMS,应用于商业,政府部门。运行稳定,性能优越,吞吐量大,处理大批量的数据,数据安全性与数据完整性控制。价格昂贵。Oracle 11G。
• Microsoft的SQL Server,Windows平台上,大众化的DBMS,应用于中小型企业。事务处理功能,数据导出/导入功能。多种版本。
• IBM公司的DB2:高端DBMS,价格昂贵,应用于银行、保险等可靠性要求很高的行业和领域。
• MySQL:开源的DBMS。原开发者为瑞典的MySQL AB公司,Sun,Oracle。体积小、性能高、可靠性好、成本低,被广泛地应用于Internet上的中小型网站中。
34
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
分布式数据库
Windows Linux
Unix
Jbuilder
Visual StudioMac OS
Fortran
GCC
Cobol
Eclipse Android
人类在各地分别起源,各自有不同的符号和方式。全球化的到临,要求形成地球村,彼此沟通交流。面临着语言和行为方式的差异问题。须要在此两个方面达成共识。
35
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
要求把它们以邦联形式(既有独立性,又有可对接组装性)组成起
来,形成一个统一体:
实现信息资源共享;
提高数据处理性能;
实现容错;
实现数据操作的简单性;
分布式数据库
network
1 2
3 4
36
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
正确性;性能;
简单性;
操作系统
全局Schema联接信息分段信息复制信息
增强性能共享,提高可用性;简化复杂性;
SQL
SQL
DatabaseA
DDBMS
Network
SQL
Schema A
正确性;性能;
简单性;
操作系统
DatabaseB
Schema B
分布式数据库DDBDDB其实质是一个中介;实体
数据由实体数据库维护;
对用户来说,它与通常的数据库没有丝毫差异;
内部维护着实体数据库的语义信息,其功能就是分解和分发任务,收集和组合结果;
结果
37
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
PROJ
P1P2P3P4P5
InstrumentationP2 Database DevelopCAD/CAMMaintenanceCAD/CAM
150000135000250000310000500000
Montreal
ParisBoston
PNO PNAME BUDGET LOC
PROJ1
P1P2
InstrumentationP2 Database Develop
150000135000
MontrealPNO PNAME BUDGET LOC
<$200000
PROJ2
P3P4P5
CAD/CAMMaintenanceCAD/CAM
250000310000500000
ParisBoston
PNO PNAME BUDGET LOC>=$200000
PROJ1
150000135000250000310000500000
BUDGET
P1P2P3P4P5
PNO
PROJ2
P1P2P3P4P5
InstrumentationP2 Database DevelopCAD/CAMMaintenanceCAD/CAM
Montreal
ParisBoston
PNO PNAME LOC
分布式数据库中数据的分段
38
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
用户
数据库应用程序
网络
数据库服务器
操作系统
数据库管
理系统
数据库
数据库服务器
应用程序
数据库1
API接口
SQL卡槽
数据库2
SQL
信息管理系统
应用程序
IP地址,端口,数据库
构成邦联系统:
既有相互独立性;
又有对接组装性;
39
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
数据处理的类型
在线事物处理OLTP (On-line Transaction
Processing)
在线事物处理OLTP (On-line Transaction
Processing)
在线分析处理OLAP(On-line Analyzing
Processing)
在线分析处理OLAP(On-line Analyzing
Processing)
处理故障 挖掘和提炼信息
决策支持日常事务工作
40
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
数据仓库和数据挖掘
事物数据库
其它数据源
数据仓库
摘取;提炼整理合成
OLAP引擎
分析
查询
报表
挖掘
前端工具
服务器
数据存储
OLAP 工具
横向和纵向挖掘
41
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
大数据处理技术Hadoop
Hadoop是一个对大数据以可靠、高效、可伸缩的方式进行分布式处理的软件框架。能够让用户轻松构建和使用的分布式计算平台。
Hadoop 是可靠的:它假设计算节点和存储几点会有故障而失效,通过维护多个数据副本,来屏蔽故障,并对失效节点作重新分布处理。
Hadoop 是高效、可伸缩的:它将任务散布给数以千计的节点作并行处理,并能够在节点之间动态地移动数据,保证各个节点的负载平衡。
Map(fork)
Reduce(Join)
Hadoop实现了一个分布式文件系统HDFS,以流(streaming) 形式访问文件中的数据。
42
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
新一代数据库技术的特点和发展
• 特点– 结合对象模型– 与多学科技术有机结合、相互渗透– 面向更广泛的应用领域
数据库技术
分布式数据库系统
并行数据库系统
知识库系统
多媒体数据库系统
空间数据库系统
分布处理技术
模式识别技术
人工智能技术
多媒体技术
GIS技术
微小型数据库系统嵌入式系统技术
43
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
谢 谢!谢 谢
44
CMGD-GZ LIUYAQI
博学,睿思,勤勉,致知
沟通交流
• 杨金民 教授/博士
• Email:[email protected];
• 电 话:13975896967;
• 单 位:湖南大学软件学院;