目錄:
【nosql家族】
mongodb
mongodb 3.4版本釋出
redis
redis 3.2版本釋出
hbase
apache hbase v1.2.4釋出
geode
apache geode 1.0版本正式釋出
【newsql家族】
tidb
tidb近期将釋出rc1版本
rethinkdb
rethinkdb深情告别
感謝名單
nosql家族
一、mongodb
mongodb 近日釋出最新版本3.4,以下是3.4的新功能一覽。
更多内容可以參考mongodb中文社群:http://www.mongoing.com/archives/3586
1、分片叢集(sharded cluster)
sharding zones
分片叢集裡引入了 zone 的概念,主要取代現在的 tag-aware sharding 機制,能将某些資料配置設定到指定的一個或多個 shard 上。
faster balancing
使用wiredtiger 引擎時,movechunk 的secondarythrottle選項預設設定為 false,即不用等待遷移的資料複制到secondary節點
支援并行的 chunk 遷移,對于包含 n 個 shard 的 sharding 叢集,mongodb 最多可以同時跑 n/2 個遷移任務。
2、複制集(replica set)
支援 linearizable read concern
"linearizable" read concern 級别保證,一定能讀到 writeconcern 為 majority,并且确認時間在讀請求開始之前的資料,該級别僅在查詢結果隻有單個文檔的情況下有效。
提升全量同步
在拷貝資料的時候,同時建立所有的索引(以前版本隻有_id索引是在同步資料時建立的)
拷貝資料的階段,secondary 不斷拉取新的 oplog,確定 secondary 的 local 資料庫有足夠的空間來存儲這些臨時資料。
decimal type
mongodb 3.4 新增對[decimal128 format]的支援,最多支援34位小數位。
aggregation
mongodb 在3.4版本增加了大量的 aggregation 操作符,特别是facet search和graph lookup 。
collation and case-insensitive indexes
mongodb 3.4 開始支援 [collation](https://docs.mongodb.com/master/reference/collation/),在之前的版本裡,文檔裡存儲的字元串,不論是中文還是英文,不論大小寫,一律按位元組來對比,引入 collation 後,支援對字元串的内容進行解讀,可以按使用的 locale 進行對比,也支援對比時忽略大小寫。
視圖(views)
mongodb 3.4裡增加了對[隻讀視圖](https://docs.mongodb.com/master/core/views/#reference-views)的支援,視圖将集合裡滿足某個查詢條件的資料虛拟成一個特殊的集合,使用者可以在特殊的集合上做進一步的查詢操作。
工具(mongodb tools)
mongodb 3.4 引入 mongoreplay 工具,可用于監控并記錄 mongod 上執行的指令并 replay 到另一個 mongod 執行個體上,該工具可用于代替 mongosniff。
對新版本功能感興趣的同學可以下載下傳 mongodb-3.4 來試玩下。
二、redis
提到redis不得不提redis的3.0版本,該版本于2015-4-1 ga,它的ga代表着redis cluster已經足夠成熟,對傳統“zk+twemproxy+redis+redis-sentinel”這種複雜緩存架構帶來較大的沖擊。redis cluster的架構如下圖:
redis cluster特性如下:
高可用:叢集自動恢複機制(強調一點就是每個主節點必須有從節點)。
高性能:叢集不需要proxy代理,沒有單redis節點中複雜的merge操作。
叢集的擴充性,官方文檔給出的是它能線性擴充到上千個節點。
豐富的叢集指令:cluter addslots/delslots,cluster meet,cluster nodes, cluster info,cluster replicate、cluster setslot等。
redis cluster高可用、高性能、易擴充等特性,使得redis cluster已經越來越多的應用在各大網際網路的生産環境。
相比于之前的redis2.8版本,3.0版本還有以下的新增或者優化:
提升了aof重寫的速度;
更新lru算法讓keys更好的回收;
遷移連接配接緩存進而能更快的遷移keys,并且migrate操作提供了copy/replace選項;
靈活的記憶體設定:使用config set設定記憶體時接受不同的記憶體值表達,例如config set maxmemory 1gb;
client pause timeout指令暫停用戶端的指令;
incr操作的性能提升等。
redis最新版本為3.2.6(2016年12月6日),redis 3.2這個大版本相對于3.0版本,最重要的是增加了geo地理資訊存儲,底層是采用有序集合(sorted set)的方式存儲,可以使用豐富的geo指令實作“搖一搖”、“附近的人”等基于地理位置資訊的功能。
除了上面的geo,該版本還在下面幾個方面進行了優化:
redis cluster:migrate性能提升10倍;redis cluster slots rebalancing
在api接口實作上發生了重要的變化
新增bitfield指令
記憶體優化:同樣的資料存儲比之前消耗更少的記憶體。
lua腳本優化:複制功能以及遠端lua腳本調試器編寫簡單任務
三、hbase
hbase – hadoop database,是一個高可靠性、高性能、面向列、可伸縮的分布式存儲系統,利用hbase技術可在廉價pc server上搭建起大規模結構化存儲叢集。
hbase是google bigtable的開源實作,類似google bigtable利用gfs作為其檔案存儲系統,hbase利用hadoop hdfs作為其檔案存儲系統;google運作mapreduce來處理bigtable中的海量資料,hbase同樣利用hadoop mapreduce來處理hbase中的海量資料;google bigtable利用 chubby作為協同服務,hbase利用zookeeper作為對應。
apache hbase v1.2.4 于2016年11月7日釋出,hbase 1.2.4是hbase 1.2.x系列中的第四個維護版,在該版本中修複了自1.2.3發行以來的35個bug,主要更新:
sub-task
[hbase-14734] - bindexception when setting up minikdc
[hbase-15984] - given failure to parse a given wal that was closed cleanly, replay the wal.
[hbase-16101] - procedure v2 - perf tool for wal
[hbase-16522] - procedure v2 - cache system user and avoid ioexception
[hbase-16970] - clarify misleading scan.java comment about caching
improvement
[hbase-15315] - remove always set super user call as high priority
[hbase-16033] - add more details in logging of responsetooslow/toolarge
[hbase-16667] - building with jdk 8: ignoring option maxpermsize=256m
[hbase-16972] - log more details for scan#next request when responsetooslow
[hbase-17004] - refactor integrationtestmanyregions to use @classrule for timing out
[hbase-17006] - add names to threads for better debugability of thread dumps
[hbase-17165] - add retry to loadincrementalhfiles tool
task
[hbase-16340] - ensure no xerces jars included
[hbase-16518] - remove old .arcconfig file
[hbase-16748] - release 1.2.4
[hbase-16749] - hbase root pom.xml contains repo from people.apache.org/~garyh
完整更新日志:
https://issues.apache.org/jira/secure/releasenote.jspa?version=12338116&stylename=&projectid=12310753&create=create&atl_token=a5kq-2qav-t4ja-fded%7c4402d8283e6ee19870bd680ad801c940e7e64bc7%7clout
下載下傳位址:http://apache.fayea.com/hbase/1.2.4/hbase-1.2.4-bin.tar.gz
四、geode
在2016年11月21日 apache 基金會宣布 gemfire的開源版本 apache geode 已從 apache 孵化器畢業, 正式成為 apache 的頂級項目, apache geode 1.0 正式釋出。
geode增強了以前 gemfire 分布式系統的高可用和彈性收縮功能, 提升了它的管理和監控功能。
1、高可用功能增強
在分布式系統中, 由于網絡故障導緻, 成員節點的失聯比較難于處理. 在geode中, 增加了使用多點傳播發現系統成員。
在出現大面積失聯的情況下,叢集中的節點可以自動重連協調器。
同時, geode加強了client api 自動重連叢集的功能, 同時在斷開連接配接的時間段,用戶端向伺服器發送的資料保持不丢失。
另外,geode添加新的 api 可以對 gateway 網關接收和發送資料進行負載均衡。
2、管理監控功能增強
geode 新增加了易于使用的管理監控工具, 可以輕松地對 geode 的性能進行監控。包括對統計目前的狀态和曆史性能, 提供指令行直接對叢集中的節點進行管理。
geode有幾個重要的更新:
使用 apache log4j 2 更新内部日志系統
增強了 ssl 安全配置和 ldap 認證配置
增強了pdx 序列化配置, 包括使用别名重命名 pdx 類
增強了 geode查詢功能和索引建立, 包括索引提示和建立多索引的功能
增強了geode對記憶體資料的批處理功能
增加了rest api endpoints 和 ssl 配置功能
官方網站位址:http://geode.apache.org/
newsql家族
一、tidb
tidb 是基于 google spanner & f1 實作的分布式 newsql 資料庫,目标定位支援100% 的 oltp + 80%的 olap,除了底層的 rocksdb 存儲引擎之外,分布式 sql 解析層、分布式 kv 存儲引擎(tikv)完全自主設計和研發。
tidb 是開源且網絡接口和文法 mysql 相容的,可以簡單了解為一個可以無限水準擴充的 mysql,提供分布式事務、跨節點 join、保證跨資料中心的資料的強一緻性(acid 跨行事務支援)、故障自恢複的高可用、提供更快的查詢和寫入吞吐;對業務沒有任何侵入性,簡化開發,利于維護和平滑遷移。
tidb 目前版本beta 4,近期即将釋出 rc1 版本,總體目标是讓 tidb 在性能、穩定性、安全性、文檔方面達到可商用級别。
rc1 的幾個主要改進:
sql 優化器改進,進一步下推更多算子,提升 mpp 性能
基于 myloader / mydumper 的資料導入提速
提升穩定性,完善了過載保護機制
與 kubernetes 整合,實作在 k8s 上的資料庫編排部署,以及一鍵部署工具
實作 tidb 與 mysql 互為主備的實時資料同步方案
更進一步文檔請閱讀:
https://github.com/pingcap/docs-cn
二、rethinkdb
rethinkdb的開發工作始于2009年7月份,用c++、javascript和bash編寫。它采用agpl開源許可證來釋出。最後一個穩定版本是2016年5月2日釋出的版本2.3.2。
近期rethinkdb對其為實時web開發的開源、可擴充的javascript對象标注(json)資料庫進行了一場深情告别。
該公司關閉後,rethinkdb團隊随之搬家,預計工程團隊會加入stripe inc.,而stripe是完全成熟的軟體平台和工具包,面向線上支付。
感謝本期提供寶貴資訊和建議的專家朋友,排名不分先後。
原文釋出時間為:2016-12-23
本文來自雲栖社群合作夥伴dbaplus