NoSQL & NewSQL家族:后起之秀及RethinkDB的告别

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,通用型 2核4GB
简介:

目录:

【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版本发布

 

MongoDB 近日发布最新版本3.4,以下是3.4的新功能一览。

 

更多内容可以参考MongoDB中文社区:http://www.mongoing.com/archives/3586

 

1分片集群(Sharded Cluster)

 

0? Sharding Zones

 

分片集群里引入了 Zone 的概念,主要取代现在的 tag-aware sharding 机制,能将某些数据分配到指定的一个或多个 shard 上。

 

0? Faster Balancing

 

  • 使用wiredtiger 引擎时,moveChunk 的secondaryThrottle选项默认设置为 false,即不用等待迁移的数据复制到secondary节点

  • 支持并行的 chunk 迁移,对于包含 N 个 shard 的 sharding 集群,MongoDB 最多可以同时跑 N/2 个迁移任务。

 

2复制集(Replica Set)

 

0? 支持 Linearizable Read Concern

 

"linearizable" Read Concern 级别保证,一定能读到 WriteConcern 为 majority,并且确认时间在读请求开始之前的数据,该级别仅在查询结果只有单个文档的情况下有效。

 

0? 提升全量同步

 

  • 在拷贝数据的时候,同时建立所有的索引(以前版本只有_id索引是在同步数据时建立的)

  • 拷贝数据的阶段,secondary 不断拉取新的 oplog,确保 secondary 的 local 数据库有足够的空间来存储这些临时数据。

     

0? Decimal Type

 

MongoDB 3.4 新增对[decimal128 format]的支持,最多支持34位小数位。

 

0? Aggregation

 

MongoDB 在3.4版本增加了大量的 aggregation 操作符,特别是Facet Search和Graph Lookup 。

 

0? Collation and Case-Insensitive Indexes

 

MongoDB 3.4 开始支持 [collation](https://docs.mongodb.com/master/reference/collation/),在之前的版本里,文档里存储的字符串,不论是中文还是英文,不论大小写,一律按字节来对比,引入 collation 后,支持对字符串的内容进行解读,可以按使用的 locale 进行对比,也支持对比时忽略大小写。

 

0? 视图(Views)

 

MongoDB 3.4里增加了对[只读视图](https://docs.mongodb.com/master/core/views/#reference-views)的支持,视图将集合里满足某个查询条件的数据虚拟成一个特殊的集合,用户可以在特殊的集合上做进一步的查询操作。

 

0? 工具(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的架构如下图:

 

0?wx_fmt=png

 

Redis Cluster特性如下:

  1. 高可用:集群自动恢复机制(强调一点就是每个主节点必须有从节点)。

  2. 高性能:集群不需要proxy代理,没有单redis节点中复杂的merge操作。

  3. 集群的扩展性,官方文档给出的是它能线性扩展到上千个节点。

  4. 丰富的集群命令:cluter addslots/delslots,cluster meet,cluster nodes, cluster info,cluster replicate、cluster setslot等。

 

Redis Cluster高可用、高性能、易扩展等特性,使得Redis Cluster已经越来越多的应用在各大互联网的生产环境。

 

相比于之前的Redis2.8版本,3.0版本还有以下的新增或者优化:

 

  1. 提升了AOF重写的速度;

  2. 升级LRU算法让keys更好的回收;

  3. 迁移连接缓存从而能更快的迁移keys,并且migrate操作提供了copy/replace选项;

  4. 灵活的内存设定:使用config set设定内存时接受不同的内存值表达,例如config set maxmemory 1gb;

  5. client pause timeout命令暂停客户端的命令;

  6. incr操作的性能提升等。

 

Redis 3.2版本发布

 

Redis最新版本为3.2.6(2016年12月6日),Redis 3.2这个大版本相对于3.0版本,最重要的是增加了GEO地理信息存储,底层是采用有序集合(sorted set)的方式存储,可以使用丰富的GEO命令实现“摇一摇”、“附近的人”等基于地理位置信息的功能。

 

除了上面的GEO,该版本还在下面几个方面进行了优化:

 

  1. Redis cluster:migrate性能提升10倍;Redis cluster slots rebalancing

  2. 在API接口实现上发生了重要的变化

  3. 新增BITFIELD命令

  4. 内存优化:同样的数据存储比之前消耗更少的内存。

  5. 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发布

 

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

 

Apache Geode 1.0版本正式发布

 

在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近期将发布RC1版本

 

TiDB 目前版本Beta 4,近期即将发布 RC1 版本,总体目标是让 TiDB 在性能、稳定性、安全性、文档方面达到可商用级别。

 

RC1 的几个主要改进:

 

  1. SQL 优化器改进,进一步下推更多算子,提升 MPP 性能

  2. 基于 myloader / mydumper 的数据导入提速

  3. 提升稳定性,完善了过载保护机制

  4. 与 Kubernetes 整合,实现在 K8S 上的数据库编排部署,以及一键部署工具

  5. 实现 TiDB 与 MySQL 互为主备的实时数据同步方案

 

更进一步文档请阅读:

https://github.com/pingcap/docs-cn

 

二、RethinkDB

 

RethinkDB深情告别

 

RethinkDB的开发工作始于2009年7月份,用C++、JavaScript和Bash编写。它采用AGPL开源许可证来发布。最后一个稳定版本是2016年5月2日发布的版本2.3.2。

 

近期RethinkDB对其为实时Web开发的开源、可扩展的JavaScript对象标注(JSON)数据库进行了一场深情告别。

 

该公司关闭后,RethinkDB团队随之搬家,预计工程团队会加入Stripe Inc.,而Stripe是完全成熟的软件平台和工具包,面向在线支付。

 

感谢名单

 

感谢本期提供宝贵信息和建议的专家朋友,排名不分先后。

 

20161223103712237.jpg

原文发布时间为:2016-12-23

本文来自云栖社区合作伙伴DBAplus

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
18天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL是关系型DB,依赖预定义的表格结构,适合结构化数据和复杂查询,但扩展性有限。NoSQL提供灵活的非结构化数据存储(如JSON),无统一查询语言,但能横向扩展,适用于大规模、高并发场景。选择取决于应用需求和扩展策略。
110 1
|
2月前
|
存储 NoSQL 关系型数据库
面试题18: NOSQL数据库
面试题18: NOSQL数据库
|
3月前
|
存储 NoSQL API
一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库
一个小巧、快速、轻量级的 .NET NoSQL 嵌入式数据库
135 0
|
1月前
|
存储 NoSQL 关系型数据库
四种类型的nosql数据库
随着互联网的发展,传统关系型数据库已经不能满足大数据时代的需求。NoSQL数据库应运而生,它们具有高可扩展性、高性能和高可用性等优点。本文将介绍四种主要类型的NoSQL数据库,分别是键值存储数据库、文档存储数据库、列存储数据库和图形数据库。这些数据库在不同的场景下有着不同的应用,可以满足不同的需求。
|
1月前
|
存储 缓存 NoSQL
|
3月前
|
多模数据库 Cloud Native NoSQL
Nosql学习之路:云原生多模数据库Lindorm训练营第一弹来啦
Lindorm训练营系列将通过一系列由浅入深的高质量课程和丰富的动手实验,将理论与实践结合,带你从入门到成为高阶开发者。参营学习还有机会获得惊喜彩蛋~
|
3月前
|
缓存 NoSQL MongoDB
在使用NoSQL数据库时,你遇到过哪些挑战?如何解决这些挑战?
在使用NoSQL数据库时,你遇到过哪些挑战?如何解决这些挑战?
27 0
|
12天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
|
12天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
12天前
|
关系型数据库 MySQL 数据库
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)

热门文章

最新文章