|
前言
NoSQL假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,泛指非关系型的数据库预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。随着互联网不竭的成长假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,传统的关系数据库在对付新互联网形式的网站假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,出格是超大范围和高并发的SNS范例的纯静态网站已经显得力有未逮假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,表露了很多难以克服的题目假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,而非关系型的数据库则由于其自己的特点获得了很是敏捷的成长预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。NoSQL数据库的发生就是为领会决大范围数据调集多重数据品种带来的应战假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,特别是大数据利用困难预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。现在天首要讲用得比力多的三个NoSQL:Memcached、Redis、MongoDB预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
Memcached
优点
[ol]Memcached可以操纵多核上风假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,单实例吞吐量极高假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,可以到达几十万QPS(取决于key、value的字节巨细以及办事器硬件性能假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,平常情况中QPS高峰大约在4-6w左右)预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。适用于最洪流平扛量预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。支持间接设置为session handle预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
[/ol]
弱点
[ol]只支持简单的key/value数据结构假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,不像Redis可以支持丰富的数据范例预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。没法停止持久化假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,数据不能备份假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,只能用于缓存利用假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,且重启后数据全数丧失预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。没法停止数据同步假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,不能将MC中的数据迁移到其他MC实例中预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。Memcached内存分派采用Slab Allocation机制治理内存假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,value巨细散布差别较大时会形成内存操纵率下降假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,并激发低操纵率时仍然出现踢出等题目预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。需要用户重视value设想预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
[/ol]
Redis
优点
[ol]支持多种数据结构假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,如 string(字符串)、 list(双向链表)、dict(hash表)、set(调集)、zset(排序set)、hyperloglog(基数预算)预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。支持持久化操纵假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,可以停止aof及rdb数据持久化到磁盘假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,从而停止数据备份或数据规复等操纵假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,较好的避免数据丧失的手段预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。支持经过Replication停止数据复制假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,经过master-slave机制假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,可以实时停止数据的同步复制假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,支持多级复制和增量复制假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,master-slave机制是Redis停止HA的重要手段预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。单线程请求假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,一切号令串行履行假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,并发情况下不需要斟酌数据分歧性题目预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。支持pub/sub消息定阅机制假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,可以用来停止消息定阅与告诉预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。支持简单的事务需求假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,但业界利用处景很少假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,并不成熟预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
[/ol]
弱点
[ol]Redis只能利用单线程假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,性能受限于CPU性能假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,故单实例CPU最高才能够到达5-6wQPS每秒(取决于数据结构假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,数据巨细以及办事器硬件性能假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,平常情况中QPS高峰大约在1-2w左右)预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。支持简单的事务需求假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,但业界利用处景很少假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,并不成熟假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,既是优点也是弱点预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。Redis在string范例上会消耗较多内存假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,可以利用dict(hash表)紧缩存储以下降内存耗用预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
[/ol]
MongoDB
优点
[ol]更高的写负载假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,MongoDB具有更高的插入速度预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。处置很大的范围的单表假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,当数据表太大的时辰可以很轻易的朋分表预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。高可用性假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,设备M-S不但方便而且很快假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,MongoDB还可以快速、平安及自动化的实现节点(数据中心)故障转移预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。快速的查询假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,MongoDB支持二维空间索引假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,比如管道假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,是以可以快速及切确的从指定位置获得数据预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。MongoDB在启动后会将数据库中的数据以文件映照的方式加载到内存中预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。假如内存资本相当丰富的话假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,这将极大地进步数据库的查询速度预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。非结构化数据的爆发增加假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,增加列在有些情况下能够锁定全部数据库假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,大概增加负载从而致使性能下降假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,由于MongoDB的弱数据结构形式假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,增加1个新字段不会对旧表格有任何影响假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,全部进程会很是快速预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
[/ol]
弱点
[ol]不支持事务预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。MongoDB占用空间过大 预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。MongoDB没有成熟的保护工具预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
[/ol]
Memcached、Redis、MongoDB的区分
1.性能
三者的性能都比力高假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,总的来说:Memcached和Redis差不多假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,要高于MongoDB预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
2.便当性
Memcached数据结构单一预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。Redis丰富一些假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,数据操纵方面假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,Redis更好一些假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,较少的收集IO次数预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。MongoDB支持丰富的数据表达假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,索引假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,最类似关系型数据库假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,支持的查询说话很是丰富预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
3.存储空间
Memcached可以点窜最大可用内存假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,采用LRU算法预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。Redis在2.0版本后增加了自己的VM特征假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,冲破物理内存的限制;可以对key value设备过期时候(类似memcached)预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。MongoDB合适大数据量的存储假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,依靠操纵系统VM做内存治理假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,吃内存也比力利害假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,办事不要和此外办事在一路预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
4.可用性
Memcached自己没稀有据冗余机制假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,也没需要;对于故障防备假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,采用依靠成熟的hash大概环状的算法假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,处理单点故障引发的发抖题目预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。Redis假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,依靠客户端来实现散布式读写;主从复制时假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,每次从节点重新毗连主节点都要依靠全部快照,无增量复制假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,因性能和效力题目假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,所以单点题目比力复杂;不支持自动sharding,需要依靠法式设定分歧hash 机制预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。一种替换计划是假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,不用redis自己的复制机制假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,采用自己做自动复制(多份存储)假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,大概改成增量复制的方式(需要自己实现)假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,分歧性题目和性能的权衡预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。MongoDB支持master-slave,replicaset(内部采用paxos选举算法假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,自动故障规复),auto sharding机制假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,对客户端屏障了故障转移和切分机制预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
5.牢靠性
Memcached不支持假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,凡是用在做缓存假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,提升性能预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。Redis支持(快照、AOF):依靠快照停止持久化假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,aof增强了牢靠性的同时假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,对性能有所影响预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。MongoDB从1.8版本起头采用binlog方式支持持久化的牢靠性预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
6.分歧性
Memcached在并发场景下假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,用cas保证分歧性预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。Redis事务支持比力衰假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,只能保证事务中的每个操纵持续履行预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。MongoDB不支持事务预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
7.数据分析
MongoDB内置了数据分析的功用(mapreduce)假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,其他两者不支持预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
8.利用处景
Memcached:用于在静态系统中削减数据库负载假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,提升性能;做缓存假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,进步性能(合适读多写少假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,对于数据量比力大假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,可以采用sharding)预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。Redis:数据量较小的高性能操纵和运算上预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。MongoDB:首要处理海量数据的拜候效力题目预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
总结分析
1.如果简单的存取key-value(主如果读)这样的数据用Memcached好一些预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。如果要支持数据持久化假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,量也不大假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,操纵很频仍假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,大都据范例(如调集、散列之类的)假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,用列表范例做行列之类的高级利用假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,就用Redis假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,但假如是数据量比力大时就采用MongoDB预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
2.Memcached的很多客户端加倍成熟稳定假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,Redis协议比Memcached复杂预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。Redis不成能比Memcached快?可是测试成果根基是Redis占绝对上风预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
3.云数据库Memcached版实例中的数据是存储在内存中的假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,当出现宕机、机房断电等意外假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,或是云数据库Memcached版实例在一般升级保护时假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,内存中的数据均会丧失预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。是以假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,云数据库Memcached版不能作为持久化的数据存储办事利用预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。Redis的数据都寄存在内存中假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,假如没有设置持久化假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,Redis重启后数据就全丧失了假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,因而需要开启Redis的持久化功用假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,将数据保存到磁盘上假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,当Redis重启后假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,可以从磁盘中规复数据假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,实现持久化预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
4.对于Redis和MongoDB来说假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,大师一般称之为Redis缓存、MongoDB数据库预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。Redis首要把数据存储在内存中假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,其“缓存”的性质远大于其“数据存储“的性质假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,其中数据的增删改查也只是像变量操纵一样简单;MongoDB却是一个“存储数据”的系统假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,增删改查可以增加很多条件假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,就像SQL数据库一样灵活预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。
5.MongoDB和Redis都是NoSQL假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,采用结构型数据存储预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。两者在利用处景中假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,存在一定的区分假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,这也首要由于两者在内存映照的处置进程假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,持久化的处置方式分歧预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。MongoDB倡议集群摆设假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,更多的斟酌到集群计划假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,Redis更偏重于进程顺序写入假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,虽然支持集群假如您的虚拟主机处事出现流量超标预警可以参考下述几点停止排查和优化,也仅限于主-从形式预警可以参考下述几点停止排查和优化需要将这两个部分毗连起来。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|