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的重要時刻?!拔蚁嘈沤裉斓腞edis 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之外還有什么其他更好的選擇?。?/strong>

 
?。ㄟ@問題讓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.www58058.com/2399

(0)
追馬追馬
上一篇 2015-04-03
下一篇 2015-04-03

相關推薦

  • 內核編譯

    單內核體系設計、但充分借鑒了微內核設計體系的優點,為內核引入模塊化機制。 內核組成部分核心,一般為bzImage,通常在/boot目錄下,名稱為vmlinuz-VERSION-RELEASE;: kernel: 內核 kernel object: 內核對象,一般放置于/lib/modules/VERSION-RELEASE/ [ ]: N [M]: M [*…

    Linux干貨 2015-11-06
  • 解決CentOS SSH 連接慢

    1、關閉DNS反向解析在linux中,默認就是開啟了SSH的反向DNS解析,這個會消耗大量時間,因此需要關閉。配置文件路徑 vim /etc/ssh/sshd_configUseDNS=no 在配置文件中,雖然UseDNS yes是被注釋的,但默認開關就是yes 2、關閉SERVER上的GSS認證在authentication gssapi-with-mic…

    Linux干貨 2018-01-10
  • 邏輯卷配置管理

    邏輯卷管理邏輯卷創建1、fdisk t 8e //修改分區類型 2、pvcreate  /dev/sd{a7,b} //創建物理卷pvs pvdisplay   //查看物理卷信息 3、vgcreate  vg0  /dev/sd{a7,b}  //創建卷組v…

    Linux干貨 2016-08-30
  • X86平臺系統啟動流程 (Blog 9)

    POST –> BootSeqence(BIOS) –> Bootloader(MBR) –> Kernel(initrd) –> init(/etc/inittab)

    2017-11-27
  • mogilefs部署

    mogilefs實驗環境: 1.需要兩臺tracker主機 2.一臺mariadb 3.nginx_mogilefs_module模塊要編譯安裝 在tracker主機: 1.上下載rpm包 mkdir mogilefs/ cd mogilefs lftp 172.16.0.1 get MogileFS-Server-2.46-2.el7.centos.noa…

    Linux干貨 2017-08-08
  • Linux的哲學思想

    Linux的哲學思想 一切皆文件 不管是普通的文件、目錄,還是跟硬件相關的字符設備、塊設備、套接字等在Linux中都被當作文件來進行統一的操作管理。 單個程序完成簡單的功能,復雜的功能由多個程序組合而成 單個程序只實現簡單功能,保證了其高效運行,而復雜功能由多個簡單程序組合而成,也能保證一定的高效性。 盡量避免與用戶交互 程序從啟動開始到結束不需要用戶參與,…

    Linux干貨 2017-07-02

評論列表(1條)

  • stanley
    stanley 2015-04-03 10:40

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

欧美性久久久久