版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
NoSQL产品性能评测2012-12-05杨琪科目的NoSQL产品的介绍。NoSQL产品的性能对比测试。具体的一个网站作为案列,分享下Redis,Memcache,Mongodb的使用情况和碰到的问题。NoSQL产品列表MemcacheRedisMongdbOracleTimesTenHBaseNoSQL-MemcacheMemcache是什么?Memcache有什么特点?Memcache在什么场景下适用?Memcache具体怎么用?在用Memcache中碰到的问题?Memcache是什么Memcache是个高性能的基于内存的分布式缓存系统,Memcache的分布式是基于客户端的Key的hash来做均衡,是个伪分布式的系统。Memcache有2个组件,一个客户端(java),一个服务器端c编写。Memcache的特点基于内存(但是重启了后,数据丢失)。提供简单的get,set方法。缓存对象只能小于1M。安装,使用比较简单。Memcache的使用场景中小型网站应用中来存放非可靠性的只读数据。例如存放用户的信息。网站的计数。数据库DAO前的行记录缓存。全局的代码参数。Memcache具体怎么用安装libevent安装wget/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gztar-zxvflibevent-2.0.21-stable.tar.gz./configure-prefix=/usrmakemakeinstallMemcache具体怎么用memcache安装wget/files/memcached-1.4.15.tar.gztar-zxvfmemcached-1.4.15.tar.gz./configure-with-libevent=/usrmakemakeinstallMemcache的启动参数启动./memcached-d-m10240-p11211-uroot启动参数启动参数说明-d选项是启动一个守护进程,后台挂起跑-m是分配给Memcache使用的内存数量,单位是MB-u是运行Memcache的用户-l是监听的服务器IP地址,如果有多个地址的话,-p是设置Memcache监听的端口-c选项是最大运行的并发连接数,默认是1024,-P是设置保存Memcache的pid文件关闭killallmemcachedMemcache-Java客户端Java客户端操作作MemcacheMemcache中碰到的问问题Memcache无文件备份份机制,机机器重启,,数据掉失失。只能存放1M的内容,有有一定的局局限性。伪分布式存存储,JAVA客户端做HASH的路由,节点的增加加和宕机都都是会造成成数据的掉掉失。只提供了核核心的2个get/set命令,无其其他丰富的的API节点的增加加和减少导导致的数据据问题Hash一致性问题题解决方案1主从模式,,主从模式式之间保持持数据同步步.2一致性Hash算法.3Redis来代替Memcache.Hash一致性Hash一致性NoSQL-RedisRedis是什么?Redis能干吗?Redis有什么特点点?Redis在什么场景景下适用??Redis具体怎么用用?在用Redis中碰到的问问题?Redis是什么?Redis是一个用用c语言写的类类似Memcache的key-value的存储系统统,它比Memcache提供了更多多的API接口和更好好的并发性性能,可以以支持10万并发的读读写,建议议用Redis代替Memcahe。Redis是基于内存存的,因此此部署Redis的机器对于于内存是非非常有高的的要求的,,Redis是会把数据据实时写到到内存中,,再定时同同步到文件件。Redis能干嘛?Redis可以当作数数据库来用用,但是有有缺陷,在在可靠性上上,没有Oracle关系型数据据库来的稳稳定。可以作为持持久层的Cache层。可以缓缓存下面的的数据库结结构。计数排行榜样,,最新浏览览的数据队列(订阅阅关系)Redis能干嘛?Redis可以当作数数据库来用用,但是有有缺陷,在在可靠性上上,没有Oracle关系型数据据库来的稳稳定。可以作为持持久层的Cache层。可以缓缓存下面的的数据库结结构。计数排行榜样,,最新浏览览的数据队列(订阅阅关系)Redis特点?完全居于内内存,数据据实时的读读写内存,,定时闪回回到文件中中读写速度快快支持高并发发量,官方方宣传支持持10万级别的并并发读写支持机器重重启后的,,重新加载载模式,不不会掉数据据Redis适用场景??在非可靠数数据存储中中,可以作作为数据持持久层或者者是数据缓缓存区。对于读写压压力比较大大,实时性性要求比较较高的场景景下。关系型数据据库不能胜胜任的模型型下的场景景。例如在SNS中订阅关系系。Redis具体用法??安装,启动动,关闭,,配置,Java访问操作安装$tarxzfredis-2.6.7.tar.gz$cdredis-2.6.7$makeinstallRedis–启动&关闭启动./src/redis-server/etc/redis.conf&关闭./src/redis-clishutdownRedis的配置-基本配置Redis的核心配置置文件,只只有一个,,就是redis.conf文件,下面面是列举了了核心的配配置项。
配置项
值字段意义daemonizeno或者yes是不是需要在后台运行pidfile/var/run/redis.pidpid文件port6379启动端口bind
绑定IP,只有制定的IP地址才能够访问redis实例timeout0一个客户端空闲多少秒后关闭连接databases16数据库数loglevelDebugVerboseNoticewarningdebug开发和测试的时候配置verbose比debug信息少点notice基本信息,生产环境建议配置这个warning严重错误的时候Redis的配置-快照配置
配置项
值字段意义save9001指出在多长时间内,有多少次更新操作,就将数据同步到数据文件rdb,在15分钟内,有1个key被改变就同步到文件中去rdbcompressionyes当导出到.rdb数据库时是否用LZF压缩字符串对象rdbchecksumyes存储和加载rdb文件时校验dbfilenamedump.rdb数据库的文件名dir./工作目录Redis的配置-同步配置
配置项
值字段意义slaveof6379主服务器地址masterauth<master-password>从服务器连接主服务器的时候的密码slave-serve-stale-dataYes/no当从库正在做复制的同步工作的时候,从库的工作模式,配置成yes了后继续相应客户的请求,配置成no了后,不相应客户的请求。slave-read-onlyyes配置从库为只读模式,这个属性只需要在主库上配置,在从库上配置没什么意义的repl-ping-slave-period10从库定时向主库发送Ping的命令repl-timeout60从库定时向主库发送Ping的命令的超时时间slave-priority100如果主库挂了的,会寻找找一个slave-priority最小的一个,来变成主库。Redis的配置-安全配置
配置项
值字段意义requirepassfoobaredredis的密码,可以理解成Oracle数据库的连接密码一样的。maxclients10000最大连接数maxmemory<bytes>最大内存数,给Redis使用的最大内存数。maxmemory-policyvolatile-lruvolatile-randomallkeys->randomvolatile-ttlnoeviction当Redis已经存到最大内存数的时候,这个时候 Redis使用的策略,下面是5个策略。volatile-lru->根据LRU算法生成的过期时间来删除。allkeys-lru->根据LRU算法删除任何key。volatile-random->根据过期设置来随机删除key。allkeys->random->无差别随机删。volatile-ttl->根据最近过期时间来删除(辅以TTL)noeviction->谁也不删,直接在写操作时返回错误Redis的配置-数据追加配配置
配置项
值字段意义appendonlynoRedis是异步的把数据写到文件中去的,有时候机器重启会导致正在写入的数据丢失掉的,如果appendonly属性配置成yes了后,Redis会把数据实时的写到appendonly.aof文件中去,一旦Redis重启的时候,就会加载这个文件的,那样的话,数据就不会丢掉了的.appendfilenameappendonly.aof累加文件名字appendfsyncNoAlwayseverysecalways马上立即写到操作系统的文件中去,准确性最高,但是代价也是最高的,速度比较慢了的,并且是IO开销是非常高的,配置成no不是立刻写,everysec每秒写一次no-appendfsync-on-rewriteno当Aoflog进行重写时,是否写日志时fsyncauto-aof-rewrite-percentage100当日志文件超过原始的日志文件的多少的时候,就开启重写机制auto-aof-rewrite-min-size64M这次写入大小,超过多少大小了后,就开启重写机制Java操作RedisJava客户端别表表Jedis官方推荐Jredis推荐JDBC-Jredis不推荐RJC不推荐Redis-protocol不推荐Java操作RedisRedisSelect*fromtablewhereuserIdin(1,2,3,4,5,6,7,8,9,10,1000)Redis高级特性主从模式复复制。发布订阅模模式。NoSQL-MongodbMongodb是什么?Mongodb能干吗?Mongodb有什么特点点?Mongodb在什么场景景下适用??Mongodb具体怎么用用?Mongdb是什么?Mongodb是一个底层层用C++语言编写的的一个分布布式文件存存储系统,,可以简单单的理解成成一个类Mysql数据库的分分布式文件件系统。Mongodb底层是用C++语言编写的的。一个分布式式的文件存存储系统Mongdb能干嘛?Mongdb特点?天生有分布布式的优点点(最强的的一个优点点)。海量文件,,文本类型型数据的存存储。性能卓越的的海量数据据的存储情情况下的读读写性能。。Mongodb适用场景??MySQL的代替品或或者是半代代替品(对对复杂查询询要求不高高的情况下下)读压力比写写的压力大大的情况下下的文件和和文本类型型的数据,,并且数据据量比较大大。Mongdb具体用法??安装,启动动,关闭,,配置,Java访问操作安装解压缩tar––xzvfmongodb-linux-i686-2.2.2.tgz新建数据库库目录mkdir–p/data/dbMongdb–启动&关闭启动./mongod&关闭服务端关闭闭没有挂起跑跑的话直直接ctrl+c挂起跑的话话的话直直接kill进程号客户端关闭闭db.shutdownerver()Java操作MongodbJava客户端列表表mongo-java-driver/mongodb/mongo-java-driverJava操作Mongodb连接Mongodb,新建集合,,插入文档档,查询文文档,删除除文档Java操作MongodbNoSQL-OracleTimesTenTimesTen是什么?TimesTen能干吗?TimesTen有什么特点点?TimesTen在什么场景景下适用??TimesTen具体怎么用用?在用TimesTen中碰到的问问题?OracleTimesTen是什么OracleTimesTen是HP实验室人员员在1992年做的一个个内存数据据库产品,,后来惠普普实验室的的人成立了了TimesTen公司,Oracle在2005年的时候把把TimesTen收购了的。。OracleTimesTen特点及时响应完完全居于于内存,对对于CPU,磁盘的IO压力非常低低。支持持事事物物兼容容标标准准SQL高性性能能高可可用用性性主从从模模式式TT的物物理理组组成成TT物理理结结构构Sharedlibraries:共享享库库::可可以以理理解解为为访访问问数数据据的的驱驱动动程程序序内存存中中的的数数据据结结构构::表表,,索索引引在在内内存存的的数数据据系统统进进程程::管理理程程序序::备备份份程程序序磁盘盘上上的的检检查查点点和和日日志志文文件件::数数据据和和日日志志存存入入到到磁磁盘盘文文件件上上。。TT的2个高高级级特特性性复制制负载载均均衡衡TimesTen复制制OracleTimesTen适用用场场景景OracleTimesTen特点点完全全居居于于内内存存,,对对于于CPU,磁盘盘的的IO压力力非非常常低低。。支持持事事物物兼容容标标准准SQLOracleTimesTen安装装脚脚本本tar––zxvftimesten112241.linux86.tar.gz解压缩缩文文件件./setup启动动安安装装文文件件一一路路enter回车车就就可可以以了了的的安装装后后的的进进程程查查看看,,一一共共有有4个进进程程。。启动动./ttdaemonadmin–start关闭闭./ttdaemonadmin-stopNoSQL-HBaseHBase是什什么么??HBase有什什么么特特点点??HBase在什什么么场场景景下下适适用用??HBase具体体怎怎么么用用??在用用HBase中碰碰到到的的问问题题??HBase是什什么么??Hbase是个个分分布布式式的的面面向向列列的的非非结结构构化化数数据据库库,,是是Hadoop的子子项项目目。。HBase是GoogleBigtable的开开源源实实现现。。HBase利用用HadoopHDFS作为为其其文文件件存存储储系系统统。。HBase利用用HadoopMapReduce来处处理理HBase中的的海海量量数数据据。。HBase利用用Zookeeper来管管理理。。HBase能干干嘛嘛??作为为存存储储层层来来存存储储非非可可靠靠性性的的海海量量数数据据,,如如日日志志,,评评论论,,访访问问记记录录HBase特点点??高可可靠靠性性高效效性性面向向列列可伸伸缩缩可在在廉廉价价PCServer搭建建大大规规模模结结构构化化存存储储集集群群HBase适用用场场景景??数据据量量巨巨大大,,千千万万或或者者是是亿亿级级别别以以上上。。实时时性性要要求求不不高高,,比比如如离离线线计计算算。。Hbase体系系结结构构HBase具体体用用法法??
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025木工劳务合同范本
- 海鲜市场木地板安装合同
- 二零二五年电子商务直播带货合作协议模板3篇
- 清洁设备租赁协议模板
- 2025年建筑材料租赁公司钢管租赁合同范本2篇
- 2025年度项目融资合同(基础设施)3篇
- 2025年度钢材供应与加工合作协议6篇
- 土地生态修复技术-洞察分析
- 线粒体蛋白翻译调控-洞察分析
- 全新医疗器械代加工合同下载
- 培训机构年终会议
- 2025河南荥阳市招聘第二批政务辅助人员211人高频重点提升(共500题)附带答案详解
- 2025年山东浪潮集团限公司招聘25人高频重点提升(共500题)附带答案详解
- JJF 2180-2024婴儿辐射保暖台校准规范
- 2024年财政部会计法律法规答题活动题目及答案一
- 中建X局设计参数指标库
- 2025年八省联考新高考语文试题解读及备考启示
- 和达投资集团(杭州)有限公司招聘笔试冲刺题2025
- GB/T 33130-2024高标准农田建设评价规范
- 网络安全事件关联分析-洞察分析
- 羊肉购销合同书样本
评论
0/150
提交评论