大数据时代的数据库_第1页
大数据时代的数据库_第2页
大数据时代的数据库_第3页
大数据时代的数据库_第4页
大数据时代的数据库_第5页
已阅读5页,还剩70页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大数据时代的数据库11云计算概念提出2Hadoop的发展历史3Hadoop的核心技术MapReduce4Hadoop核心技术数据库Hbase5其它NoSQL数据库23大数据特性4V特性Volume(数据量大)Variety(种类多)Value(价值密度低,商业价值高Velocity(处理速度快)对传统数据库的挑战4用一个实例来理解云计算512345开发人员部署代码,上传数据库结构和数据,并进行必要的测试,之后运维人员开通网站运行期间,企业需要雇佣专门人员负责服务器和网络的维护,定期备份数据等日常工作购买数据库服务器来部署后台数据库配置网站的域名等工作购买应用服务器来部署这个网站云计算所需解决的问题

——假设某家企业开发一个旅游网站数据量6云计算所需解决的问题

——假设某家企业开发一个旅游网站企业需要待解决的问题1、购买新的服务器2、增加更多的运维成员3、购买和安装设备都是需要时间的,可能在此期间整个网站出现响应减慢,经常出错、导致大量的客户流失4、淡季的时候,访问量低,刚购买的服务器又成为资源的浪费成本效益怎样解决这个问题呢?7云计算所需解决的问题

——假设某家企业开发一个旅游网站

引入云计算,它可以从根本上解决这个问题,因为云计算是通过互联网将共享的硬件软件资源按需提供给使用者,所有的设备都是由云计算服务商维护,这样无论是专业的软件开发商,还是最终的客服,都可以将全部精力集中于业务领域,而无须考虑硬件维护、容灾等运维问题,无形之中也为企业节省了成本、提高了经济效益…………8何为云计算?(理解1)

云计算,其实就是把所有的计算应用和信息资源都用互联网连接起来,供个人和企业用户随时访问、分享、管理和使用,相关的资源可以通过全球任何一个服务器和数据中心来提取的技术。9何为云计算?(理解2)

是通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再由多部服务器所组成的庞大系统搜索、计算分析之后将处理结果回传给用户。通过这项技术,远程的服务供应商可以在数秒之内,达成处理数以千万计甚至亿计的信息,达到和“超级电脑”同样强大性能的网络服务。10网络计算发展趋势2012云格(Gloud=Grid+Cloud)1995集群计算原理:指令层次的并行1998网格计算原理:任务并行1999对等计算原理:数据并行2007云计算原理:位层次的并行(可处理长字节)网格技术:主要解决分布在不同机构的各种信息资源的共享问题云计算:主要解决计算力和存储空间的集中共享使用问题。11为什么云计算如此流行特别是NoSQL---非关系型数据库12那么云计算数据库是怎样提出的呢?数据量1、关系数据库高并发读写速度慢2、关系数据库支撑容量有限------类似Facebook、Twitter这样的SNS网站,

用户每天产生海量的用户动态,每月

会产生几亿条用户动态,对于关系型

数据库来说,在一张数亿条记录的表

里面进行SQL查询,效率是极其低下

乃至不可忍受的。3、关系数据库扩展性差4、数据日趋庞大,无论是入库和查询,

都出现性能瓶颈5、用户的应用和分析结果呈整合趋势,

对实时性和响应时间要求越来越高Nosql13关系数据库与Hadoop分布式系统的比较————为何云计算数据采用Hadoop分布式系统14云计算的核心技术15云计算提出——hadoop思想用很多小型PC机来代替大型服务器16云计算核心技术——hadoop子项目家族数据仓库工具,可以看成是从SQL到Map-Reduce的映射器ZooKeeper用于协调分布式系统上的各种服务,应用场景、实现Namenode自动切换Avro数据序列化工具,用于支持大批量数据交换的应用。支持二进制序列化方式,可以便捷,快速地处理大量数据

Chukwa在Hadoop之上的数据采集与分析框架、主要进行日志采集和分析Pig可以看做hadoop的客户端软件,可以连接到hadoop集群进行数据分析工作17云计算核心技术——英特尔hadoop发行版组件SQL-to-HDFS工具,利用jdbc连接关系形数据库如连接Oracle要安装:ojdbc6.jar如连接My-Sql要安装:mysql-connector18云计算核心技术——hadoop的发展历史2004年,Google发表论文,向全世界介绍了MapReduce。2005年初,为了支持Nutch搜索引擎项目,Nutch的开发者基于Google发布的MapReduce报告,在Nutch上开发了一个可工作的MapReduce应用。

2006年1月,DougCutting加入雅虎,Yahoo!提供一个专门的团队和资源将Hadoop发展成一个可在网络上运行的系统。2007年,百度开始使用Hadoop做离线处理,目前差不多80%的Hadoop集群用作日志处理。2007年,中国移动开始在“大云”研究中使用Hadoop技术,规模超过1000台。2008年,淘宝开始投入研究基于Hadoop的系统——云梯,并将其用于处理电子商务相关数据。云梯1的总容量大概为9.3PB,包含了1100台机器,每天处理约18000道作业,扫描500TB数据。

19云计算核心技术——hadoop的发展历史

2008年7月,Hadoop打破1TB数据排序基准测试记录。Yahoo!的一个Hadoop集群用209秒完成1TB数据的排序,比上一年的纪录保持者保持的297秒快了将近90秒。2009年5月,Yahoo的团队使用Hadoop对1TB的数据进行排序只花了62秒时间。2010年5月,IBM提供了基于Hadoop的大数据分析软件——InfoSphereBigInsights,包括基础版和企业版。2011年8月,Cloudera公布了一项有益于合作伙伴生态系统的计划——创建一个生态系统,以便硬件供应商、软件供应商以及系统集成商可以一起探索如何使用Hadoop更好的洞察数据。2011年8月,Dell与Cloudera联合推出Hadoop解决方案——ClouderaEnterprise。20Hadoop框架云计算核心技术1、管理文件系统的命名空间记录每个文件数据块在各个Datanode上的位置和副本信息2、协调客户端对文件的访问3、记录命名空间内的改动或空间本身属性的改动4、Namenode使用事务日志记录HDFS元数据的变化。使用映像文件存储文件系统的命名空间,包括文件映射,文件属性等1、负责所在物理节点的存储管理2、一次写入,多次读取3、文件由数据块组成,典型的块大小是64MB4、数据块尽量散布道各个节点21——分布式文件系统(HDFS)/MapReduce原理云计算核心技术MAPReduce22云计算核心技术——MapReduce编程模型23Example:CountingWordsMap()‏Input<filename,filetext>Parsesfileandemits<word,count>pairseg.<”hello”,1>Reduce()‏Sumsvaluesforthesamekeyandemits<word,TotalCount>eg.<”hello”,(3527)>=><”hello”,17>24云计算核心技术——Hbase数据库的基本概念1、HBase是一个分布式的、面向列的开源数据库,来自Google论文“Bigtable:一个结构化数据的分布式存储系统”

2、HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式25——Hbase逻辑模型云计算核心技术1、以表的形式存放数据2、表由行与列组成,每个列属于某个列族,由行和列确定的存储单元称为元素3、每个元素保存了同一份数据的多个版本,由时间戳来标识区分限定符,列名Key值天生面向时间查询的数据库26——Hbase物理模型云计算核心技术Hmaster管理元数据(表分区、管理该分区的RegionServer)RegionServer负责Region数据的存储和读取通过client读写数据Hbase的所有数据(Hlog和Hfile)均存储到HDFS上,HDFS将文件划分为64MB的block,并存储多个副本灾难分析一个列簇27云计算核心技术——行式数据库与列式数据库理解281、对应每次数据操作的时间,可由系统自动生成,也可以由用户显式的赋值2、Hbase支持两种数据版本回收方式:A、

每个数据单元,只存储指定个数的最新版本B、保存指定时间长度的版本(例如7天)3、常见的客户端时间查询:“某个时刻起的最新数据”或“给我全部版本的数据”。云计算核心技术——Hbase特点与BigTable思想29云计算核心技术——Hbase和Oracle比较1、Hbase适合大量插入同时又有读取的情况

2、Hbase的瓶颈是硬盘传输速度3、Oracle的瓶颈是硬盘寻道时间4、Hbase很适合寻找按照时间排序topn的场景30云计算核心技术——Hbase场景案列:浏览历史31云计算的核心技术在现实应用注意:下面实例大部分摘录于2012年hadoop与大数据技术大会该会议举行时间:2012年11月30日-12月1日在北京该会议权威级别:32------应用之一HadoopinTelecom云计算核心技术载波的优化用户的分割瞬间查询3G用户数量的记录33云计算核心技术------应用之二HadoopinSmartCity罚单信息流处理34云计算核心技术------应用之三阿里云“云梯”集群发展淘宝的搜索引擎能够对数十亿的商品数据进行实时搜索,另外还拥有自主研发的文件存储系统和缓存系统,以及Java中间件和消息中间件系统,这一切组成了一个庞大的电子商务操作系统。35云计算核心技术------应用之三阿里云“云梯”数据平台框架36云计算核心技术------应用之三百度数据仓库框架DW37云计算核心技术HADOOP------数据存入和抽取每小时移动数十TB的交易数

据、交互数据和流数据38全球领先的独立企业数据集成软件提供商云计算核心技术----应用五

大数据是云计算的两大核心内容之一39云计算核心技术----应用五

大数据是云计算的两大核心内容之一全世界权威IT咨询公司研究报告预测KB,MB,GB、TB,PB、EB、ZB、YB、BB

1ZB=1.153*1018

KB40一、大数据存储管理和索引查询问题二、Hadoop性能优化问题三、图数据并行计算模型和框架四、并行化机器学习和数据挖掘算法五、社会网络分析六、排名和推荐七、Web信息挖掘和检索八、媒体分析检索九、自然语言处理十、大数据可视化计算与分析云计算核心技术当今数据热点研究的十个问题:----数据分析发展趋势系统层基础算法应用算法应用技术41Hadoop----发展形势hadoop42BerkeleyBDAS平台43NoSQL数据库基础理论CAP理论与一致性模型数据存储模型与数据库Key-valueDBColumn-orientedDBDocument-orientedDBGraphDB…44CAP理论强一致性(Consistency)系统在执行某操作后仍处于一致的状态。可用性(Availability)每一个操作能够在一定时间内返回结果,如果超时则被认为不可用。分区容错性(Partitiontolerance)在网络分区(被划分成孤立的区域)的情况下仍可接受请求。45/101多副本数据一致性模型强一致性无论更新在哪个副本上进行,之后的所有操作都能获得更新的数据。弱一致性用户读到某一操作对系统的更新需要一段时间最终一致性保证用户最终能够读到某一操作对系统的更新46/10147应用场景:内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统。优点:查找迅速缺点:数据无结构,通常只被当做字符串或二进制数据48Java实现的开源key-value数据库特征数据自动冗余备份于多个结点上数据分区存储单点故障对整个系统透明支持复杂数据类型的序列化将数据项进行版本化,出现故障时最大限度保证数据的完整性49开源项目,源代码采用了Apache2.0的使用许可特征自动将在线数据迁移到低延迟的存储介质的技术(内存,固态硬盘,磁盘)可选的写操作一一异步,同步(基于复制,持久化)多线程低锁争用尽可能使用异步处理自动实现重复数据删除动态再平衡现有集群通过把数据复制到多个集群单元和支持快速失败转移来提供系统的高可用性。5051应用场景:分布式文件系统优点:查找迅速,可扩展性强,更容易进行分布式扩展缺点:功能相对有限525354最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与AmazonDynamo的完全分布式的架构于一身Facebook于2008将Cassandra开源,此后,由于Cassandra良好的可扩放性,被Digg、Twitter等知名Web2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。主要特征:模式灵活:使用Cassandra,像文档存储,你不必提前解决记录中的字段。真正的可扩展性:Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。分布式写操作:有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。列表数据结构:在混合模式可以将超级列添加到5维。对于每个用户的索引,这是非常方便的。55应用场景:web应用等优点:数据要求不严格,不需要预先定义结构缺点:查询能力不高,缺乏统一的查询语法56可以通过JavaScriptObjectNotation(JSON)API访问“Couch”=

“ClusterOfUnreliableCommodityHardware”,目标具有高度可伸缩性,提供了高可用性和高可靠性,即使运行在容易出现故障的硬件上也是如此特点CouchDB是分布式的数据库,他可以把存储系统分布到n台物理的节点上面,并且很好的协调和同步节点之间的数据读写一致性CouchDB是面向文档的数据库,存储半结构化的数据CouchDB支持RESTAPI,可以让用户使用JavaScript来操作CouchDB数据库,也可以用JavaScript编写查询语句,用AJAX技术结合CouchDB开发出来的CMS系统会简单方便57工作原理CouchDB构建在强大的B+树储存引擎之上。这种引擎负责对CouchDB中的数据进行排序,并提供一种能够在对数均摊时间内执行搜索、插入和删除操作的机制。数据库的结构独立于模式,依赖于使用视图创建文档之间的任意关系,使用Map/Reduce计算这些视图的结果在CouchDB中没有锁机制,它使用的是多版本并发性控制(Multiversionconcurrencycontrol,MVCC)58特点介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引59技术特点面向集合存储,易存储对象类型的数据。模式自由。支持动态查询。支持完全索引,包含内部对象。支持复制和故障恢复。使用高效的二进制数据存储,包括大型对象(如视频等)。自动处理碎片,以支持云计算层次的扩展性。支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。文件存储格式为BSON(一种JSON的扩展)。60应用场景:社交网络、推荐系统、关系图谱优点:算法可以直接存取图结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论