MongoDB2.6 新特性
MongoDB 2.6 已经在今天发布,当然,关注MongoDB的同志自然知道这个消息。
整个MongoDB2.6,个人觉得认证系统是一个重新设计的系统。当然,MongoDB 2.4.6开始,就已经在尝试新的基于Role的认证方式了,但是真正的成熟还是在2.6.0这个版本。
什么是基于角色Role的认证系统?
在以往的MongoDB中,官方一直推荐MongoDB应该在一个Trust的环境下运行,对于认证和安全性上的考虑是不充分的。
(MongoDB的安全性和读写的完整性以前一直被人诟病,WriteConcern解决了写数据的安全性,这次的RoleBase的认证机制,在一定程度上提高了MongoDB的安全性)
现在在MongoDB中创建的User,除了有用户名,密码等传统属性之外,还有一个Role的概念。
每个Role的操作权限是不同的,而且,根据细化的配置,可以将每个Role的权限定义的非常详细,
Role可以查询,修改某个数据库,某个数据表,都可以做到小粒度的定义。
每个用户可以同时拥有多个Role,这样的话,管理员可以对于各个用户的权限做到非常精确的控制了。
MongoDB的 具体实现 Role:
每个Role可以有多个Privilege,每个Privilege指定了可以访问的资源(可以指定数据集,数据库,精确到具体的某个数据集)
对于资源的可以执行的操作(Action),例如 数据集的查找 或者 更新。对于各种的操作已经做到非常小的粒度的细化了。
例如 添加用户 和 删除用户 已经是两个操作了(Action),而不是通常理解的,增删改是同样的操作。
(当然,可能也有人认为如此细化对于管理者来说也是一种负担。不过一个Role一旦精心设计之后,就可以分配给不同用户,一劳永逸了)
TextSearch全文检索
这个功能在 2.4.6里面就有的功能,这次的变化是,将这个TextSearch的放入了Aggerate里面了。
换句话说,原来的全文检索的结果是孤立的,现在可以作为聚合检索的一个部分了,文本检索的结果可以作为其他聚合操作的输入数据。
作为MongoDB5年里程碑的这个版本,还有其他很多对以往功能的增强。
作为一个长期观察MongoDB的人来说,我个人认为,现在是大家可以尝试MongoDB的一个时间点了。
2.6.0以前的版本的确有很多诟病,除了前面说过的读写的安全之外,还有很多设计上的问题。
经过2.4的很多演化后,很多东西都定型了:
主从(Master-Slaver)模型 被 Replication模型代替
加入基于Role的认证后,可以自定义角色(当然,系统也有一些内置的角色)
全文检索(很遗憾,不支持中文)的强化 具有特色的 地理聚合(很多处理地理坐标的内置函数)
TLL数据集(数据集里面的记录会慢慢自动删除掉,有点缓存的意思)Capped数据集(固定大小的数据集,在存储和读写上提高效率,牺牲灵活性)
Sharding支持了ShardKey
索引的内容丰富了不少,特别是有了text属性的索引,对于全文检索的帮助很大
最后,我想找个喜欢研究 C# MongoDB 的人,能够用业余时间和我一起将 MongoDB 的管理工具做下去
https://github.com/magicdict/MagicMongoDBTool
如果大家都愿意参与开发,我可以找台服务器,运行一些MongoDB的数据库做测试用。
据说在国外MongoDB的DBA很热,国内的情况不乐观,学好英语,如果有机会可以去国外找个机会。。。
MongoDB2.6 新特性的更多相关文章
- SQL Server 2014 新特性——内存数据库
SQL Server 2014 新特性——内存数据库 目录 SQL Server 2014 新特性——内存数据库 简介: 设计目的和原因: 专业名词 In-Memory OLTP不同之处 内存优化表 ...
- ElasticSearch 5学习(10)——结构化查询(包括新特性)
之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...
- [干货来袭]C#6.0新特性
微软昨天发布了新的VS 2015 ..随之而来的还有很多很多东西... .NET新版本 ASP.NET新版本...等等..太多..实在没消化.. 分享一下也是昨天发布的新的C#6.0的部分新特性吧.. ...
- CSS3新特性应用之结构与布局
一.自适应内部元素 利用width的新特性min-content实现 width新特性值介绍: fill-available,自动填充盒子模型中剩余的宽度,包含margin.padding.borde ...
- 【译】Meteor 新手教程:在排行榜上添加新特性
原文:http://danneu.com/posts/6-meteor-tutorial-for-fellow-noobs-adding-features-to-the-leaderboard-dem ...
- 跨平台的 .NET 运行环境 Mono 3.2 新特性
Mono 3.2 发布了,对 Mono 3.0 和 2.10 版本的支持不再继续,而且这两个分支也不再提供 bug 修复更新. Mono 3.2 主要新特性: LLVM 更新到 3.2 版本,带来更多 ...
- Atitit opencv版本新特性attilax总结
Atitit opencv版本新特性attilax总结 1.1. :OpenCV 3.0 发布,史上功能最全,速度最快的版1 1.2. 应用领域2 1.3. OPENCV2.4.3改进 2.4.2就有 ...
- es6 新特性2
es6其他几个非常有用的新特性. import export 这两个家伙对应的就是es6自己的module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成 ...
- ES6 新特性
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...
随机推荐
- Hello Mybatis 02 mybatis generator
接着上一篇文章通过Mybatis完成了一个User的CRUD的功能之后,这篇开始还需要建立一个Blog类,这样就可以模拟一个简单的微博平台的数据库了. 数据库准备 首先我们,还是需要在数据库中新建一个 ...
- buildbot入门系列—介绍篇
一.介绍 1. buildbot是一个开源的基于python的持续集成系统,它能够以下三种方式触发相应的自动构建和测试运行,从而迅速的发现问题所在,同时指出造成这个错误的开发人员,当然我们还可以通过页 ...
- EF架构~二级域名中共享Session
回到目录 对于一个有点规模的网站,都会有各个子网站,说是子网站,其实也都是独立的站点,一般通过二次域名来分开,如www.zzl.com,它可以有很多子网站,如image.zzl.com,file.zz ...
- lua二进制操作函数
由于 Lua 脚本语言本身不支持对数字的二进制操作(例如 与,或,非 等操作),MUSHclient 为此提供了一套专门用于二进制操作的函数,它们都定义在一个“bit”表中,使用时只要requre “ ...
- Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念
PO(persistant object) 持久对象 在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了.通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理.可以 ...
- Web信息架构——设计大型网站(第3版)(久负盛名经典再现,信息架构设计领域基石之作!)
Web信息架构——设计大型网站(第3版)(久负盛名经典再现,信息架构设计领域基石之作!) [美]]Peter Morville(彼得·莫维尔) Louis Rosenfeld(路易斯·罗森菲尔德) ...
- fir.im Weekly - 可能是 iOS 审核最全面的解决方案
ipv6 被拒绝,后台定位被拒绝--让很多国内 iOS 开发者心力交瘁.这是一份关于 iOS 审核的终极免费方案,作者iOSWang对最近iOS 审核被拒问题给出了比较全面的方案:Solve-App- ...
- 使用 flow.ci 实现 Android 自动化测试与持续集成
在上篇文章--如何实现 Android 应用的持续部署中,我们使用的是 flow.ci + Github + fir.im 实现 Android 应用的持续部署.对于 Android 开发者,他们可能 ...
- Mybatis 缓存
1. 一级缓存:其存储作用域为 Session,当 Session flush 或 close 之后,该Session中的所有 Cache 就将清空. 2. 二级缓存与一级缓存其机制相同,不同在于其存 ...
- TSql 分层和递归查询
1,需求分析 在TSql中实现层次结构,例如有这样一种数据结构,省,市,县,乡,村,如何使用一张表表示这种数据结构,并且允许是不对称的,例如,上海市是个直辖市,没有省份. create table d ...