《NoSQL基本原理及常用开源实现ppt课件.pptx》由会员分享,可在线阅读,更多相关《NoSQL基本原理及常用开源实现ppt课件.pptx(116页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQL基本原理及常用开源实现培训PPT周凯 二一四年一月二十七日本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。课程内容课程内容NoSQL介绍NoSQL在系统架构中的应用NoSQL产品介绍及对比NoSQL安装应用演示本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和
2、评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。课程内容课程内容NoSQL介绍NoSQL在系统架构中的应用NoSQL产品介绍及对比NoSQL安装应用演示本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQL介绍介绍NoSQL基本概念NoSQL数据库分类本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQL是什么?是什么?NoSQL概
3、念在2009年被提了出来NoSQL最常见的解释是“non-relational”,“Not Only SQL”也被很多人接受NoSQL被我们用得最多的当数key-value存储,当然还有其他的文档型的、列存储、图型数据库、xml数据库等。在NoSQL概念提出之前,这些数据库就被用于各种系统当中,但是却很少用于web互联网应用。比如cdb、qdbm、bdb数据库。本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。传统关系数据库的瓶颈传统关系数据库的瓶颈 传统的关系数据库具有不错的性
4、能,高稳定型,久经历史考验,而且使用简单,功能强大,同时也积累了大量的成功案例。在互联网领域,MySQL成为了绝对靠前的王者,毫不夸张的说,MySQL为互联网的发展做出了卓越的贡献。在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。在那个时候,更多的都是静态网页,动态交互类型的网站不多。到了最近10年,网站开始快速发展。火爆的论坛、博客、sns、微博逐渐引领web领域的潮流。在初期,论坛的流量其实也不大,如果你接触网络比较早,你可能还记得那个时候还有文本型存储的论坛程序,可以想象一般的论坛的流量有多大。本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机
5、组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Memcached+MySQL 后来,随着访问量的上升,几乎大部分使用MySQL架构的网站在数据库上都开始出现了性能问题,web程序不再仅仅专注在功能上,同时也在追求性能追求性能。程序员们开始大量的使用缓使用缓存技术来缓解数据库的压力存技术来缓解数据库的压力,优化数据库的结构和索引。开始比较流行的是通过文件缓存来缓解数据库压力,但是当访问量继续增大的时候,多台web机器通过文件缓存不能共享,大量的小文件缓存也带了了比较高的IO压力。在这个时候,Memcached就自然的成为一个非常时尚的技术产品。Me
6、mcached作为一个独立的分布式的缓存服务器,为多个web服务器提供了一个共享的高性能缓存服务,在Memcached服务器上,又发展了根据hash算法来进行多台Memcached缓存服务的扩展,然后又出现了一致性hash来解决增加或减少缓存服务器导致重新hash带来的大量缓存失效的弊端。当时,如果你去面试,你说你有Memcached经验,肯定会加分的。本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。性能优化方向性能优化方向Mysql主从读写分离主从读写分离由于数据库的写入压力
7、增加,Memcached只能缓解数据库的读取压力。读写集中在一个数据库上让数据库不堪重负,大部分网站开始使用主从复制技术来达到读写分离,以提高读写性能和读库的可扩展性。Mysql的master-slave模式成为这个时候的网站标配了。分表分库分表分库随着web2.0的继续高速发展,在Memcached的高速缓存,MySQL的主从复制,读写分离的基础之上,这时MySQL主库的写压力开始出现瓶颈,而数据量的持续猛增,由于MyISAM使用表锁,在高并发下会出现严重的锁问题,大量的高并发MySQL应用开始使用InnoDB引擎代替MyISAM。同时,开始流行使用分表分库来缓解写压力和数据增长的扩展问题。
8、这个时候,分表分库成了一个热门技术,是业界讨论的热门技术问题。也就在这个时候,MySQL推出了还不太稳定的表分区,这也给技术实力一般的公司带来了希望。虽然MySQL推出了MySQL Cluster集群,但是由于在互联网几乎没有成功案例,性能也不能满足互联网的要求,只是在高可靠性上提供了非常大的保证。本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。MySQL的扩展性瓶颈的扩展性瓶颈在互联网,大部分的MySQL都应该是IO密集型的,事实上,如果你的MySQL是个CPU密集型的话,那
9、么很可能你的MySQL设计得有性能问题,需要优化了。大数据量高并发环境下的MySQL应用开发越来越复杂,也越来越具有技术挑战性。分表分库的规则把握都是需要经验的。虽然有像淘宝这样技术实力强大的公司开发了透明的中间件层来屏蔽开发者的复杂性,但是避免不了整个架构的复杂性。分库分表的子库到一定阶段又面临扩展问题。还有就是需求的变更,可能又需要一种新的分库方式。MySQL数据库也经常存储一些大文本字段,导致数据库表非常的大,在做数据库恢复的时候就导致非常的慢,不容易快速恢复数据库。比如1000万4KB大小的文本就接近40GB的大小,如果能把这些数据从MySQL省去,MySQL将变得非常的小。关系数据库
10、很强大,但是它并不能很好的应付所有的应用场景。MySQL的扩展性差(需要复杂的技术来实现),大数据下IO压力大,表结构更改困难,正是当前使用MySQL的开发人员面临的问题。本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQL诞生的原因诞生的原因 关系型数据库面临的问题关系型数据库面临的问题扩展困难扩展困难:由于存在类似Join这样多表查询机制,使得数据库在扩展方面很艰难;读写慢读写慢:这种情况主要发生在数据量达到一定规模时由于关系型数据库的系统逻辑非常复杂,使得其非常容易
11、发生死锁等的并发问题,所以导致其读写速度下滑非常严重;成本高成本高:企业级数据库的License价格很惊人,并且随着系统的规模,而不断上升;有限的支撑容量有限的支撑容量:现有关系型解决方案还无法支撑Google这样海量的数据存储;数据库访问的新需求数据库访问的新需求 低延迟的读写速度低延迟的读写速度:应用快速地反应能极大地提升用户的满意度;支撑海量的数据和流量支撑海量的数据和流量:对于搜索这样大型应用而言,需要利用PB级别的数据和能应对百万级的流量;大规模集群的管理大规模集群的管理:系统管理员希望分布式应用能更简单的部署和管理;庞大运营成本的考量庞大运营成本的考量:IT经理们希望在硬件成本、软
12、件成本和人力成本能够有大幅度地降低;本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQL数据库的共有原则数据库的共有原则假设失效是必然发生的假设失效是必然发生的NOSQL实现都建立在硬盘、机器和网络都会失效这些假设之上。我们不能彻底阻止这些时效,我们需要让我们的系统能够在即使非常极端的条件下也能应付这些失效。对数据进行分区对数据进行分区最小化了失效带来的影响,也将读写操作的负载分布到了不同的机器上。保存同一数据的多个副本保存同一数据的多个副本大部分 NOSQL 实现都基于
13、数据副本的热备份来保证连续的高可用性。一些实现提供了 API,可以控制副本的复制,也就是说,当你存储一个对象的时候,你可以在对象级指定你希望保存的副本数。查询支持查询支持在这个方面,不同的实现有相当 本质的区别。不同实现的一个共性在于哈希表中的 key/value 匹配。本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。关系数据库关系数据库 VSVS NoSQL NoSQL 关系数据库关系数据库表都是存储一些格式化的数据结构每个元组字段的组成都一样即使不是每个元组都需要所有的字段
14、,但数据库会为每个元组分配所有的字段这样的结构可以便于表与表之间进行连接等操作NoSQL以键值对存储,它的结构不固定每一个元组可以有不一样的字段每个元组可以根据需要增加一些自己的键值对不会局限于固定的结构,可以减少一些时间和空间的开销本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。关系数据库关系数据库 VS NoSQL 关系数据库关系数据库分布式关系型数据库中强调的ACID分别是:原子性原子性(Atomicity)、一致性一致性(Consistency)、隔离性隔离性(Isol
15、ation)、持持久性久性(Durability)。ACID的目的就是通过事务支持,保证数据的完整性和正确性NoSQL对于许多互联网应用来说,对于一致性要求可以降低,而可用性可用性(Availability)的要求则更为明显,从而产生了弱一致性的理论BASE。BASE分别是英文:Basically,Available,Soft-state,Eventual Consistency的缩写,这个模型是反ACID模型。本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQL和关系数
16、据库和关系数据库NoSQL数据库仅仅是关系数据库在某些方面(性能、扩展)的一个弥补单从功能上讲,NoSQL的几乎所有的功能,在关系数据库上都能够满足。一般会把NoSQL和关系数据库进行结合使用,各取所长,各得其所。在某些应用场合,比如一些配置的关系键值映射存储、用户名和密码的存储、Session会话存储等等用NoSQL完全可以替代关系数据库(如:MySQL)存储。不但具有更高的性能,而且开发也更加方便本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQL的优缺点的优缺点 优
17、点优点简单的扩展简单的扩展 典型例子是Cassandra,由于其架构是类似于经典的P2P,所以能通过轻松地添加新的节点来扩展这个集群;快速的读写快速的读写 主要例子有Redis,由于其逻辑简单,而且纯内存操作,使得其性能非常出色,单节点每秒可以处理超过10万次读写操作;低廉的成本低廉的成本 这是大多数分布式数据库共有的特点,因为主要都是开源软件,没有昂贵的License成本;不足不足不提供对不提供对SQL的支持的支持 如果不支持SQL这样的工业标准,将会对用户产生一定的学习和应用迁移成本;支持的特性不够丰富支持的特性不够丰富 现有产品所提供的功能都比较有限,大多数NoSQL数据库都不支持事务,
18、也不像MS SQL Server和Oracle那样能提供各种附加功能,比如BI和报表等;现有产品的不够成熟现有产品的不够成熟 大多数产品都还处于初创期,和关系型数据库几十年的完善不可同日而语;本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。总结总结NoSQL数据库的出现,弥补了关系数据(比如MySQL)在某些方面的不足,在某些方面能极大的节省开发成本和维护成本。MySQL和NoSQL都有各自的特点和使用的应用场景,两者的紧密结合将会给web2.0的数据库发展带来新的思路。让关系
19、数据库关注在关系上,NoSQL关注在存储上。本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQL介绍介绍NoSQL基本概念NoSQL数据库分类本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。按按CAP 分类分类 一致性一致性(Consistency)任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点的数据是一致的;可用性可用性(Av
20、ailability)每一个操作总是能够在确定的时间内返回,也就是系统随时都是可用的。分区容忍性分区容忍性(Partition Tolerance)在出现网络分区(比如断网)的情况下,分离的系统也能正常运行。一个分布式系统不能同时满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。CAP理论理论 本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。标题本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉
21、以及联合循环机组可参照本标准执行,并增补指标。关注一致性和可用性的关注一致性和可用性的 (CA)这些数据库对于分区容忍性方面比较不感冒,主要采用复制(Replication)这种方式来保证数据的安全性,常见的CA系统有:传统关系型数据库,比如Postgres和MySQL等(Relational)Vertica(Column-oriented)Aster Data(Relational)Greenplum(Relational)按按CAP 分类分类 本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准
22、执行,并增补指标。关注一致性和分区容忍性的关注一致性和分区容忍性的(CP)这种系统将数据分布在多个网络分区的节点上,并保证这些数据的一致性,但是对于可用性的支持方面有问题,比如当集群出现问题的话,节点有可能因无法确保数据是一致性的而拒绝提供服务,主要的CP系统有:BigTable(Column-oriented)Hypertable(Column-oriented)HBase(Column-oriented)MongoDB(Document)Terrastore(Document)Redis(Key-value)Scalaris(Key-value)MemcacheDB(Key-value)B
23、erkeley DB(Key-value)按按CAP 分类分类 本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。关于可用性和分区容忍性的关于可用性和分区容忍性的(AP)这类系统主要以实现“最终一致性(Eventual Consistency)”来确保可用性和分区容忍性,AP的系统有:Dynamo(Key-value)Voldemort(Key-value)Tokyo Cabinet(Key-value)KAI(Key-value)Cassandra(Column-oriente
24、d)CouchDB(Document-oriented)SimpleDB(Document-oriented)Riak(Document-oriented)按按CAP 分类分类 本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。按数据模型分类按数据模型分类 NoSQL-三种主流的数据模型三种主流的数据模型Column-oriented(列式)(列式)主要围绕着“列(Column)”,而非“行(Row)”进行数据存储属于同一列的数据会尽可能地存储在硬盘同一个页(Page)中大多数列
25、式数据库都支持Column Family这个特性(很多类似数据仓库(Data Warehouse)的应用,虽然每次查询都会处理很多数据,但是每次所涉及的列并没有很多)特点:比较适合汇总(Aggregation)和数据仓库这类应用。Key-value类似常见的HashTable,一个Key对应一个Value,但是其能提供非常快的查询速度、大的数据存放量和高并发操作,非常适合通过主键对数据进行查询和修改等操作,虽然不支持复杂的操作,但可通过上层的开发来弥补这个缺陷。Document(文档)(文档)类似常见的HashTable,一个Key对应一个Value,其能提供非常快的查询速度、大的数据存放量和
26、高并发操作,非常适合通过主键对数据进行查询和修改等操作,虽然不支持复杂的操作,但是可以通过上层的开发来弥补这个缺陷。本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQL按数据模型分类按数据模型分类 本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。选择合适的选择合适的NoSQLNoSQL数据库的出现,弥补了关系数据(比如MySQL)在某些方面的不足,在某些方
27、面能极大的节省开发成本和维护成本。MySQL和NoSQL都有各自的特点和使用的应用场景,两者的紧密结合将会给web2.0的数据库发展带来新的思路。让关系数据库关注在关系上,NoSQL关注在存储上。本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。课程内容NoSQL介绍NoSQL在系统架构中的应用NoSQL产品介绍及对比NoSQL安装应用演示本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照
28、本标准执行,并增补指标。NoSQLNoSQL在系统架构中的应用在系统架构中的应用以NoSQL为辅以NoSQL为主以NoSQL为缓存本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。以以NoSQLNoSQL为辅为辅NoSQL作为镜像不改变原有的以MySQL作为存储的架构,使用NoSQL作为辅助镜像存储,用NoSQL的优势辅助提升性能。在原有基于MySQL数据库的架构上增加了一层辅助的NoSQL存储,在写入MySQL数据库后,同时写入到NoSQL数据库,让MySQL和NoSQL拥有相
29、同的镜像数据在某些可以根据主键查询的地方,使用高效的NoSQL数据库查询本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQL为镜像(同步模式)通过MySQL把数据同步到NoSQL中,,是一种对写入透明但是具有更高技术难度一种模式适用于现有的比较复杂的老系统,通过修改代码不易实现,可能引起新的问题。同时也适用于需要把数据同步到多种类型的存储中。以以NoSQLNoSQL为辅为辅本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价
30、。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。MySQL和和NoSQL组合组合 MySQL中只存储需要查询的小字段,NoSQL存储所有数据。把需要查询的字段,一般都是数字,时间等类型的小字段存储于MySQL中,根据查询建立相应的索引,其他不需要的字段,包括大文本字段都存储在NoSQL中。在查询的时候,我们先从MySQL中查询出数据的主键,然后从NoSQL中直接取出对应的数据即可。以以NoSQLNoSQL为辅为辅本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。
31、NoSQLNoSQL在系统架构中的应用在系统架构中的应用以NoSQL为辅以NoSQL为主以NoSQL为缓存本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。纯纯NoSQL架构架构在一些数据结构、查询关系非常简单的系统中,我们可以只使用NoSQL即可以解决存储问题。在一些数据库结构经常变化,数据结构不定的系统中,就非常适合使用NoSQL来存储。比如监控系统中的监控信息的存储,可能每种类型的监控信息都不太一样。有些NoSQL数据库已经具有部分关系数据库的关系查询特性,他们的功能介于k
32、ey-value和关系数据库之间,却具有key-value数据库的性能,基本能满足绝大部分web 2.0网站的查询需求。以以NoSQLNoSQL为为主主本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。以以NoSQL为数据源的架构为数据源的架构数据直接写入NoSQL,再通过NoSQL同步协议复制到其他存储。根据应用的逻辑来决定去相应的存储获取数据。应用程序只负责把数据直接写入到NoSQL数据库,然后通过NoSQL的复制协议,把NoSQL数据的每次写入,更新,删除操作都复制到MyS
33、QL数据库中。同 时,也可以通过复制协议把数据同步复制到全文检索实现强大的检索功能。这种架构需要考虑数据复制的延迟问题,这跟使用MySQL的master-salve模式的延迟问题是一样的,解决方法也一样。以以NoSQLNoSQL为为主主本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQLNoSQL在系统架构中的应用在系统架构中的应用以NoSQL为辅以NoSQL为主以NoSQL为缓存本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统
34、计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。内存模式内存模式Memcached提供了相当高的读写性能,在互联网发展过程中,一直是缓存服务器的首选。NoSQL数据库Redis又为我们提供了功能更加强大的内存存储功能。跟Memcached比,Redis的一个key的可以存储多种数据结构Strings、Hashes、Lists、Sets、Sorted sets。Redis不但功能强大,而且它的性能完全超越大名鼎鼎的Memcached。Redis支持List、hashes等多种数据结构的功能,提供了更加易于使用的api和操作性能,比如对缓存的list数据的修改。以以NoS
35、QLNoSQL为为缓存缓存 由于NoSQL数据库天生具有高性能、易扩展的特点,所以我们常常结合关系数据库,存储一些高性能的、海量的数据。从另外一个角度看,根据NoSQL的高性能特点,它同样适合用于缓存数据。用NoSQL缓存数据可以分为内存模式和磁盘持久化模式。本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。持久化模式持久化模式虽然基于内存的缓存服务器具有高性能,低延迟的特点,但是内存成本高、内存数据易失却不容忽视。大部分互联网应用的特点都是数据访问有热点,也就是说,只有一部分数
36、据是被频繁访问的。其实NoSQL数据库内部也是通过内存缓存来提高性能的,通过一些比较好的算法把热点数据进行内存cache非热点数据存储到磁盘以节省内存占用使用NoSQL来做缓存,由于其不受内存大小的限制,我们可以把一些不常访问、不怎么更新的数据也缓存起来。以以NoSQLNoSQL为缓存为缓存本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。课程内容课程内容NoSQL介绍NoSQL在系统架构中的应用NoSQL产品介绍及对比NoSQL安装应用演示本标准适用于已投入商业运行的火力发电厂
37、纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQLNoSQL产品介绍及对比产品介绍及对比MemcacheRedisMongoDBOracle TimesTenHbase本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Memcache是什么?Memcache有什么特点?Memcache在什么场景下适用?Memcache具体怎么用?在用Memcache中碰到的问题?NoSQL-Memcache本
38、标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Memcache 是什么Memcache是个高性能的基于内存的分布式缓存系统,Memcache的分布式是基于客户端的Key的hash来做均衡,是个伪分布式的系统。Memcache有2个组件,一个客户端(java),一个服务器端c编写。NoSQL-Memcache本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Memc
39、ache 的特点基于内存(但是重启了后,数据丢失)。提供简单的get,set方法。缓存对象只能小于1M。安装,使用比较简单。NoSQL-Memcache本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Memcache 的使用场景中小型网站应用中来存放非可靠性的只读数据。例如存放用户的信息。网站的计数。数据库DAO前的行记录缓存。全局的代码参数。NoSQL-Memcache本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机
40、组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Memcache具体怎么用安装libevent 安装wget http:/ libevent-2.0.21-stable.tar.gz./configure-prefix=/usrmake make installNoSQL-Memcache本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Memcache具体怎么用memcache 安装wget http:/ memcached-1.4.15.tar.gz./config
41、ure-with-libevent=/usrmake make installNoSQL-Memcache本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Memcache的启动参数启动./memcached-d-m 10240-p 11211-u root启动参数启动参数说明-d选项是启动一个守护进程,后台挂起跑-m是分配给Memcache使用的内存数量,单位是MB-u是运行Memcache的用户-l是监听的服务器IP地址,如果有多个地址的话,-p是设置Memcache监听的端
42、口-c选项是最大运行的并发连接数,默认是1024,-P是设置保存Memcache的pid文件关闭killall memcached NoSQL-Memcache本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Memcache-Java客户端spymemcached 官方,单线程http:/www.couchbase.org/code/couchbase/java Java memcached clienthttp:/ memcache-client-forjava http:/
43、 无文件备份机制,机器重启,数据掉失。只能存放1M的内容,有一定的局限性。伪分布式存储,JAVA客户端做HASH的路由,节点的增加和宕机都是会造成数据的掉失。只提供了核心的2个get/set命令,无其他丰富的API节点的增加和减少导致的数据问题节点的增加和减少导致的数据问题NoSQL-Memcache本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Hash一致性问题解决方案1 主从模式,主从模式之间保持数据同步.2 一致性Hash算法.3 Redis来代替Memcache.No
44、SQL-Memcache本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Hash一致性NoSQL-Memcache本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Hash一致性NoSQL-Memcache本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补
45、指标。NoSQLNoSQL产品介绍及对比产品介绍及对比MemcacheRedisMongoDBOracle TimesTenHbase本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。NoSQL-RedisRedis 是什么?Redis 能干吗?Redis 有什么特点?Redis 在什么场景下适用?Redis 具体怎么用?在用Redis中碰到的问题?本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环
46、机组可参照本标准执行,并增补指标。Redis 是什么?Redis 是一个 用c语言写的类似Memcache 的key-value的存储系统,它比Memcache提供了更多的API接口和更好的并发性能,可以支持10万并发的读写,建议用Redis代替Memcahe。Redis 是基于内存的,因此部署Redis的机器对于内存是非常有高的要求的,Redis是会把数据实时写到内存中,再定时同步到文件。NoSQL-Redis本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Redis 能干嘛
47、?Redis 可以当作数据库来用,但是有缺陷,在可靠性上,没有Oracle关系型数据库来的稳定。可以作为持久层的Cache层。可以缓存下面的数据库结构。1.计数2.排行榜样,最新浏览的数据3.队列(订阅关系)NoSQL-Redis本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Redis 特点?完全居于内存,数据实时的读写内存,定时闪回到文件中读写速度快支持高并发量,官方宣传支持10万级别的并发读写支持机器重启后的,重新加载模式,不会掉数据NoSQL-Redis本标准适用于已投
48、入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Redis 适用场景?在非可靠数据存储中,可以作为数据持久层或者是数据缓存区。对于读写压力比较大,实时性要求比较高的场景下。关系型数据库不能胜任的模型下的场景。例如 在SNS中订阅关系。NoSQL-Redis本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Redis 具体用法?安装,启动,关闭,配置,Java访问操作安装$tar
49、xzf redis-2.6.7.tar.gz$cd redis-2.6.7$make installNoSQL-Redis本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照本标准执行,并增补指标。Redis 启动&关闭启动./src/redis-server /etc/redis.conf&关闭./src/redis-cli shutdownNoSQL-Redis本标准适用于已投入商业运行的火力发电厂纯凝式汽轮发电机组和供热汽轮发电机组的技术经济指标的统计和评价。燃机机组、余热锅炉以及联合循环机组可参照
50、本标准执行,并增补指标。Redis 的配置-基本配置 Redis的核心配置文件,只有一个,就是redis.conf 文件,下面是列举了核心的配置项。配置配置项 值字段意字段意义daemonizeno或者yes是不是需要在后台运行pidfile/var/run/redis.pid pid文件port6379启动端口bind127.0.0.1 绑定IP,只有制定的IP地址才能够访问redis实例timeout0一个客户端空闲多少秒后关闭连接databases16数据库数loglevelDebugVerboseNoticewarningdebug 开发和测试的时候配置verbose 比debug信息