大数据与商务智能课件交流_第1页
大数据与商务智能课件交流_第2页
大数据与商务智能课件交流_第3页
大数据与商务智能课件交流_第4页
大数据与商务智能课件交流_第5页
免费预览已结束,剩余27页可下载查看

付费下载

下载本文档

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

文档简介

1、赵空暖大数据时代关系数据库的瓶颈NoSQL的优势CAP理论NoSQL数据模型及分类重点介绍几个NoSQL主要内容大数据的特征3VVolume(海量)、Variety(多样)、Velocity(实时)海量数据量巨大,对TB、PB数据级的处理, 已经成为基本配置。多样处理多样性的数据类型,结构化数据和非结构化数据,能处理Web数据,能处理语音数据甚至是图像、视频数据。实时在客户每次浏览页面,每次下订单的过程中都存在,都会需要对用户进行实时的推荐,决策已经变得实时一、大数据时代大数据时代下的系统需求High performance 高并发读写的需求高并发、实时动态获取和更新数据Huge Storag

2、e 海量数据的高效率存储和访问的需求类似SNS网站,海量用户信息的高效率实时存储和查询High Scalability & High Availability 高可扩展性和高可用性的需求需要拥有快速横向扩展能力、提供7*24小时不间断服务一、大数据时代关系数据库如何应对大数据High performance 高并发读写的需求问题:数据库读写压力巨大,硬盘IO无法承受解决方案: Master-Slave(主从复制),主从分离分库、分表,缓解写压力,增强读库的可扩展性二、关系数据库的瓶颈关系数据库如何应对大数据Huge Storage 海量数据的高效率存储和访问的需求问题:存储记录数量有限,SQL

3、查询效率低(对简单查询需快速返回结果的处理)解决方案: 分库、分表,缓解数据增长压力二、关系数据库的瓶颈关系数据库如何应对大数据High Scalability & High Availability 高可扩展性和高可用性的需求问题:横向扩展艰难,无法通过快速增加服务器节点实现,系统升级和维护造成服务不可用成本高解决方案: Master-Slave,增强读库的可扩展性MMMMaster -Master Replication Manager for MySQL二、关系数据库的瓶颈解决方案的问题1.分库分表缺点:(1)受业务规则影响,需求变动导致分库分表的维护复杂(2)系统数据访问层代码需要修改

4、2. Master-Slave缺点(1)Slave实时性的保障,对于实时性很高的场合可能需要做一些处理(2)高可用性问题,Master就是那个致命点,容易产生单点故障3. MMM缺点 本身扩展性差,一次只能一个Master可以写入,只能解决有限数据量下的可用性二、关系数据库的瓶颈什么是NoSQL? NoSQL是Not Only SQL的缩写,而不是Not SQL,它不一定遵循传统数据库的一些基本要求,比如说遵循SQL标准、ACID属性、表结构等等。相比传统数据库,叫它分布式数据管理系统更贴切,数据存储被简化更灵活,重点被放在了分布式数据管理上。与关系型数据库的关系-互补三、NoSQL以及其优势

5、易扩展 NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。甚至有多种NoSQL之间的整合。灵活的数据模型 NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。适合在字段不固定的时候用,而在关系型要更改表结构麻烦。三、NoSQL以及其优势高可用 NoSQL在不太影响性能的情况,就可以方便的实现高可用的架构。比如Cassandra,HBase模型,通过复制模型也能实现高可用。大数据量,高性能 NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于

6、它的无关系性,数据库的结构简单。三、NoSQL以及其优势分布式数据系统的CAP原理的三要素:一致性(Consistency)又称为原子性或事务性。表示一个事务的操作是不可分割的,要不然这个事务完成,要不然这个事务不完成,不会出现这个事务完成了一半这样的情况。这种事务的原子性使得数据具有一致性。可用性(Availability)好的可用性主要是指系统能够很好的为用户服务,不出现用户操作失败或者访问超时等用户体验不好的情况。分区容忍性(Partition tolerance)分区容错性和扩展性紧密相关。在分布式应用中,可能因为一些分布式的原因导致系统无法正常运转。好的分区容错性要求能够使应用虽然是

7、一个分布式系统,而看上去却好像是在一个可以运转正常的整体。比如现在的分布式系统中有某一个或者几个机器宕掉了,其他剩下的机器还能够正常运转满足系统需求,这样就具有好的分区容错性。CAP原理:在分布式系统中,这三个要素最多只能同时实现两点,不可能三者兼顾对于分布式数据系统,分区容忍性是基本要求对于大多数web应用,牺牲一致性而换取高可用性,是目前多数分布式数据库产品的方向。四、CAP原理四、CAP原理五、NoSQL数据模型及分类类型部分代表特点列存储HbaseCassandraHypertable顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者

8、某几列的查询有非常大的IO优势。高扩展性文档存储MongoDBCouchDB文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。key-value存储Tokyo Cabinet / TyrantMemcacheDBRedis可以通过key快速查询到其value。图存储Neo4JFlockDBInfoGrid图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。对象存储db4oVersant通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。xml数据库Berkeley DB XMLBaseX

9、高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。参见NoSQL Data Modeling Techniques五、NoSQL数据模型及分类市场需求五、NoSQL应用现状CassandraHBaseRedisMongoDB六、几种主流NoSQL数据库Cassandra简介 Apache Cassandra 是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。Facebook于2008将 Cassandra 开源,此后,由于

10、Cassandra良好的可扩放性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。六、几种主流NoSQL数据库Cassandra架构要点使用了Google BigTable的数据模型 这是一种面向列的数据库,列被组织成为列族(Column Family),在数据库中增加一列非常方便。系统架构是基于O(1)DHT(分布式哈希表)的完全P2P架构,与传统的基于Sharding的数据库集群相比,Cassandra可以几乎无缝地加入或删除节点,非常适于对于节点规模变化比较快的应用场景。Cassandra的数据会写入多个节点 保证数据的可靠性,在一致性

11、、可用性和网络分区耐受能力(CAP)的折衷问题上,Cassandra比较灵活,用户在读取时可以指定要求所有副本一致(高一致性)、读到一个副本即可(高可用性)或是通过选举来确认多数副本一致即可(折衷)。这样,Cassandra可以适用于有节点、网络失效,以及多数据中心的场景。六、几种主流NoSQL数据库Cassandra突出特点模式灵活 :使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部署上。 真正的可扩展性 :Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重

12、启任何进程,改变应用查询,或手动迁移任何数据。多数据中心识别 :你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。数据压缩:整列的数据类型类似,提高压缩比,极大的节省存储空间极高的装载速度(最高可以等于所有硬盘IO的总和)多磁盘多线程并行写入/读,读取过程没有冗余。非常适合聚合操作六、几种主流NoSQL数据库Cassandra数据模型ColumnSuperColumnColumnFamilyKeyspacesRowColumn name value timestamp User_id182848051270073054 ColumnFamily ke

13、y Columns 18284805name value timestamp user_id 182848051270073054 nickhz07991270073054 pwdtaobao12341270073054 18284806name value timestamp user_id182848061270084021 nick刘刘商家测试11270084021 pwdtaobao12341270084021 SuperColumn key Columns Work_addressname value timestamp Province浙江1270073054 city杭州1270

14、073054 street华星路99号创业大厦1270073054 Home_addressname value timestamp Province广东1270084021 city深圳1270084021 street梅林路梅林四村1270084021 ColumnFamily Key SuperColumns wenmaokey Columns Work_addressname value timestamp Province浙江1270073054 city杭州1270073054 street华星路99号创业大厦1270073054 Home_addressname value ti

15、mestamp Province广东1270084021 city深圳1270084021 street梅林路梅林四村1270084021 datongWork_addressname value timestamp Province浙江1270073054 city杭州1270073054 street华星路99号创业大厦1270073054 Home_addressname value timestamp Province广东1270084021 city深圳1270084021 street梅林路梅林四村1270084021 缺点不适合扫描小数据不适合做有删除和更新的实时操作插入一行Re

16、dis简介 redis是一个key-value存储系统。 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(有序集 合)和hash(hash表)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis 支持各种不同方式的排序。 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,区别是定期通过异步操作把数据库数据flush到硬盘上进行保存并在此基础上实现了mas

17、ter-slave(主从)同步。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。相比memcached的优势:value类型更丰富数据操作方法更多可将内存数据持久化六、几种主流NoSQL数据库Redis六、几种主流NoSQL数据库Redis应用:非常支持需要表达时间线的web服务唐福林:新浪微博的Redis大数据之路缺点Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。MongoDB简介MongoDB是一个基于分布式文件存储

18、的数据库。由C+语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。特点是高性能、易部署、易使用,存储数据方便。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。六、几种主流NoSQL数据库MongoDB主要特点面向集合存储:易存储对象类型的数据,包括文档内嵌对象及数组。无需定义表结构。模式自由:无需知道存储数据的任何结构定义,支持动态查询、完全索引,可轻易查询文档中内嵌的对象和数组,擅长范围查询,地理查

温馨提示

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

评论

0/150

提交评论