Redis 3.0.0正式版发布,全新的分布式高可用数据库

Redis 3.0.0 正式版终于到来了!最重要的新特性是集群(Redis Cluster),提供Redis功能子集(比如不支持多数据库)的分布式、容错的实现(最多支持1000结点)。

data/attachment/portal/201504/02/214413pwwqlzzmf2phf4xc.png

  Salvatore 'antirez' Sanfilippo在Google Groups里表示,这是Redis的重要时刻。“我相信今天的Redis 3.0.0将以某种方式完全改变Redis的面貌。”他强调,人们将认识到Redis是一个全新的东西,它的自动扩展、容错和高可用性都大大提高,从此能够在更大范围承担更关键的任务。(我总结一下老大的意思吧:Redis翻开了历史新的篇章……)

  antirez还透露,内置的集群功能持续干了很多年,虽然能找到一些时间密集开发,但也不时被其他特性完全打断,现在终于完成了。他预计社区能用好这些功能,积累必要的经验,还要一到两年。

  他还说,Redis 3.0.0实际上标志着一个新阶段和新的开发模式的开始。以后,大量已经开发的新功能将不再急于进入稳定版本,实际上Redis 3.0.0就放弃了很多新功能,回退到2.8,以保证新的稳定版本用户能够马上使用。

  他在帖子里重点提及的其他更新包括:

  1. 新的"embedded string"对象编码,提升缓存命中率。在某些工作负载(尤其是管道化的高负载)下速度大幅提高。

  2. 大大改进了回收键的LRU近似算法。

  3. AOF重写功能被完全重新开发了,以减少进程最终将积累的缓冲写入时,由于硬盘速度慢而导致的延迟。

  4.   而在发布声明中还列出了如下更新(相对于2.8):

  5. WAIT command to block waiting for a write to be transmitted to the specified number of slaves.

  6. MIGRATE connection caching. Much faster keys migraitons.

  7. MIGARTE new options COPY and REPLACE.

  8. CLIENT PAUSE command: stop processing client requests for a specified amount of time.

  9. BITCOUNT performance improvements.

  10. CONFIG SET accepts memory values in different units (for example you can use "CONFIG SET maxmemory 1gb").

  11. Redis log format slightly changed reporting in each line the role of the instance (master/slave) or if it's a saving child log.

  12. INCR performance improvements.

  详情可以点击 这里 查看。

  ITEye上powersoft同学之前翻译了Redis 3.0的文档,虽然还没有来得及更新,但还是有参考价值的:http://www.iteye.com/blogs/subjects/redis3

  Hacker News上antirez回答了社区提出的一些问题,颇有价值,整理翻译如下。

这是不是愚人节笑话啊?

  非也,我们一向有在4月1日发布的传统。去年HyperLogLog支持也是4月1日发布的嘛。而且那次因为HyperLogLog名字太科幻,好多人怎么都不肯相信这居然不是愚人节笑话呢。

  再说,开源软件嘛,怕什么愚人节,你下载代码看看不就啥都知道了。

Redis之外还有什么其他更好的选择啊?

 
 (这问题让antirez怎么答,总不能不谦虚吧。仔细听,他回答得很好。)这得看使用场景,基本上还是就事论事、具体情况具体分析。程序员的本事不就
体现在选择正确的技术,然后在不同情况下优化嘛。你要考虑数据模型是否匹配所要解决的问题,运维因素,持久化保证,性能(需要多少个结点),可扩展性,是
否简单(搞这么复杂以后会不会老要我来支持啊),等等。

  其他同学提到了memcached,有人评论:现在memcached已经只相当于Redis最简单的功能了,只能作为缓存。Redis不仅能缓存,还能承担很多存储任务。此外还有人提及HyperDex,但其ACID特性实现Warp是专有的产品。

  此前的这个大型NoSQL比较文章,仍然有一定参考价值:http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis


有了Cluster,Sentinel是不是就废啦。

  还没那么快,Sentinel还在与Cluster并行继续开发中。目前单实例场景下需要HA的话,它还是最佳选择。但长远(可能很长远哦)看,我们会用Cluster解决Sentinel的使用场景,不过在那之前我们会很早就告诉大家的。

谁能给我更详细地讲讲"embedded string"对象编码是啥,它针对什么工作负荷?能找到的文档都太老了。

  这事儿简单。一般Redis里会有包含类型字段的对象结构,还有一个指针指向实际的对象表示。假设类型是REDIS_STRING,就得有指针指向一个"sds"字符串(sds是字符串库用的名字)。

 
 现在有了embedded
string之后,就提供了一种特殊的字符串对象,用一个位置保持对象结构和字符串本身。这样内存利用更有效,而且能够大大改进内存本地性,所以差不多所
有使用字符串对象的东西(字符串,或者比较大的要用字符串对象作为集合值的集合对象)性能都更好。

  这种特殊字符串只用于小字符串(工作负荷里大多数字符串都不大)。

Redis

 
 Redis是一个开源的高级key-value(键-值)缓存与存储,以高性能著称。它也常被称为数据结构服务器,因为其中的键可以存各种数据结构包括
字符串、散列、列表、集合、有序集合、位图和hyperloglog。Redis的出现,很大程度补偿了memcached这类KV数据库的不足。不仅可
以用于缓存,也可以用于一些场景的存储,在很多情况下是关系数据库很好的补充。它提供了Python,Ruby,Erlang,PHP客户端,使用非常方
便。

原文链接:http://www.lupaworld.com/portal.php?mod=view&aid=251638

原创文章,作者:追马,如若转载,请注明出处:http://www.178linux.com/2399

(0)
追马追马
上一篇 2015-04-03 00:37
下一篇 2015-04-03 09:05

相关推荐

  • 磁盘管理

    一、知识整理 1、每个扇区:512字节;每个柱面:256个磁头*63个扇区*512字节,大概为8M。centos6中分区使用起始结束柱面;centos7中分区使用起始结束扇区。EBR:扩展分区的第一个扇区。 2、MBR:master root record,1982年,使用32位表示扇区数,分区不超过2T。其中,一共512bytes字节,446bytes为b…

    Linux干货 2016-08-29
  • 常用RAID级别浅析

    简介:    RAID为独立冗余磁盘阵列的简称,它可以通过软件或硬件技术把多个较小的磁盘整合成一个较大的磁盘。从而实现较大的 磁盘存储,容错及数据保护功能,较快的数据读写等功能. 实现方式:      硬件实现方式:通过bios参数调整来实现      软件实…

    2017-06-17
  • RAID磁盘列阵

                            RAID   RAID是英文Redundant Array o…

    Linux干货 2016-09-07
  • Linux 第三天: (07月26日) Linux使用帮助

    Linux 第三天: (07月26日) Linux使用帮助         whatis 显示命令的简短描述makewhatis centos6 制作数据库mandb centos7 制作数据库 help COMMAND 内部命令man bash 内部命令COMMAND –help -h 外部命令man C…

    Linux干货 2016-08-08
  • mysql进阶至mysql备份基础及备份工具

    一、mysql备份、恢复基础 备份:存储的数据副本 还原:把副本应用到线上系统,仅能恢复至备份操作时刻的数据状态。 硬件上的冗余并不能有效恢复逻辑操作上的错误。 备份:数据备份、服务配置文件备份、系统环境备份。程序的运行依赖于一定的系统环境,仅提供数据本身并不能确保恢复数据之后系统可用,数据备份的目的在于确保系统出现不可预料的灾难事故之后能够快速恢复运行,降…

    2016-11-18
  • Linux软件管理(rpm,yum)

    Linux的应用程序安装提供了两中格式的软件包:一种是软件开发者直接提供的源码包;另一种是发行版厂商提供事先编译好打包的软件包;用户需要根据需要来选择何种方式安装软件,作为系统管理运维人员,要想合理应用,必须熟悉这两者之间的内在联系以及各自的特性和差异; *软件包管理工具)   — RPM软件包管理工具  — YUM软件包前端管理工具 软…

    Linux干货 2016-08-29

评论列表(1条)

  • stanley
    stanley 2015-04-03 10:40

    终于有集群大招了 ~普大喜奔