分类
大小:145.8M更新:2017-10-29
类别:数据库类系统:WinAll,WinXP
MongoDB是一个介于关系数据库和非关系数据库之间的产品, 是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。 Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持 对数据建立索引。
之所以喜欢MongoDB,主要是因为在动态语言中使用它是如此的简单,自然。到目前为止,我已经在两个项目(Encode 和 Sparrw)中使用过它了,虽然对这个选择我非常满意,但是有些问题我还是没有注意到,这些问题让我抓了好几个小时的头皮才解决。如果你有多台机器,然后为数据库多分配几台机器,那么有些问题可以迎刃而解,但是我的项目是运行在单个(虚拟)服务器之上的低流量Web应用程序。
MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB
在32位模式运行时支持的最大文件尺寸为2GB。
MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。
MongoDB默认的数据目录为:C:\data\db。如果不用默认目录,则需要在在mongod.exe命令后加--dbpath参数。
创建数据目录。我创建的是D:\dev\mongodb-win32-x86_64-2.4.5\data\db
创建日志目录及其文件。我创建的是D:\dev\mongodb-win32-x86_64-2.4.5\log及D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt。
1、启动MongoDB
打开cmd窗口(cmd.exe),进入D:\dev\mongodb-win32-x86_64-2.4.5\bin,执行mongod.exe命令,见下图。
mongod.exe --logpath=D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt --dbpath=D:\dev\mongodb-win32-x86_64-2.4.5\data\db!
--logpath 参数是设定日志文件的路径。
--dbpath 参数是设定数据库文件的存放路径。
mongod.exe命令的所有参数选项可通过mongod.exe --help查看。
2、作为服务进行安装
使用管理员权限打开windows的cmd窗口,进入D:\dev\mongodb-win32-x86_64-2.4.5\bin目录。
mongod.exe --install --logpath=D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt --dbpath=D:\dev\mongodb-win32-x86_64-2.4.5\data\db
--install 参数是设定安装为服务器!
设置为服务后,即可在cmd(管理员权限打开的windows cmd窗口)窗口用服务的方式启动或停止MongoDB。
net start mongodb 启动mongodb服务
net stop mongodb 启动mongodb服务
3、进入shell环境界面
进入sheelMongoDB后,在cmd窗口进入D:\dev\mongodb-win32-x86_64-2.4.5\bin目录,输入mongo.exe,则可以进入shell环境界面。
面向集合存储,易存储对象类型的数据。
模式自由。
支持动态查询。
支持完全索引,包含内部对象。
支持查询。
支持复制和故障恢复。
使用高效的二进制数据存储,包括大型对象(如视频等)。
自动处理碎片,以支持云计算层次的扩展性
支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。
文件存储格式为BSON(一种JSON的扩展)
可通过网络访问
MongoDB 2.6 已经在今天发布,当然,关注MongoDB的同志自然知道这个消息。
整个MongoDB2.6,个人觉得认证系统是一个重新设计的系统。当然,MongoDB 2.4.6开始,就已经在尝试新的基于Role的认证方式了,但是真正的成熟还是在2.6.0这个版本。
TextSearch全文检索
这个功能在 2.4.6里面就有的功能,这次的变化是,将这个TextSearch的放入了Aggerate里面了。
换句话说,原来的全文检索的结果是孤立的,现在可以作为聚合检索的一个部分了,文本检索的结果可以作为其他聚合操作的输入数据。
作为MongoDB5年里程碑的这个版本,还有其他很多对以往功能的增强。
作为一个长期观察MongoDB的人来说,我个人认为,现在是大家可以尝试MongoDB的一个时间点了。
2.6.0以前的版本的确有很多诟病,除了前面说过的读写的安全之外,还有很多设计上的问题。
经过2.4的很多演化后,很多东西都定型了:
主从(Master-Slaver)模型 被 Replication模型代替
加入基于Role的认证后,可以自定义角色(当然,系统也有一些内置的角色)
全文检索(很遗憾,不支持中文)的强化 具有特色的 地理聚合(很多处理地理坐标的内置函数)
TLL数据集(数据集里面的记录会慢慢自动删除掉,有点缓存的意思)Capped数据集(固定大小的数据集,在存储和读写上提高效率,牺牲灵活性)
Sharding支持了ShardKey
索引的内容丰富了不少,特别是有了text属性的索引,对于全文检索的帮助很大
MongoDB的2.4已经发布,其中包括新的功能,如文本搜索,基于散列的分片。
主要功能和增强功能:
基于散列分片
Capped 阵列
文本搜索(测试版)
地理空间增强
更快的计数
聚合框架的改进
基于角色的权限
工作集分析器
改进复制
在以往的MongoDB中,官方一直推荐MongoDB应该在一个Trust的环境下运行,对于认证和安全性上的考虑是不充分的。
(MongoDB的安全性和读写的完整性以前一直被人诟病,WriteConcern解决了写数据的安全性,这次的RoleBase的认证机制,在一定程度上提高了MongoDB的安全性)
现在在MongoDB中创建的User,除了有用户名,密码等传统属性之外,还有一个Role的概念。
每个Role的操作权限是不同的,而且,根据细化的配置,可以将每个Role的权限定义的非常详细,
Role可以查询,修改某个数据库,某个数据表,都可以做到小粒度的定义。
每个用户可以同时拥有多个Role,这样的话,管理员可以对于各个用户的权限做到非常精确的控制了。
MongoDB的 具体实现 Role:
每个Role可以有多个Privilege,每个Privilege指定了可以访问的资源(可以指定数据集,数据库,精确到具体的某个数据集)
对于资源的可以执行的操作(Action),例如 数据集的查找 或者 更新。对于各种的操作已经做到非常小的粒度的细化了。
例如 添加用户 和 删除用户 已经是两个操作了(Action),而不是通常理解的,增删改是同样的操作。
(当然,可能也有人认为如此细化对于管理者来说也是一种负担。不过一个Role一旦精心设计之后,就可以分配给不同用户,一劳永逸了)
数据库开发工具(Navicat Essentials Premium)数据库类Mv 12.1.20 x86 / x64官方版
查看SQLPrompt智能提示插件数据库类Mv6.5.0.323 特别版
查看Database.NET(多数据库管理工具)数据库类Mv30.4.7463.1免费多语绿色中文版
查看达思sql数据库修复软件数据库类Mv3.0官方版
查看PLSQL Developer数据库类Mv11.0.5 官方中文版
查看SQLite数据库管理开发工具(Navicat for SQLite)数据库类Mv15.0.14.0官方中文版
查看CYQ.DBImort 数据库反向工程及批量导数据库工具数据库类M3.5 中文版
查看智软自定义表单引擎数据库类MV6.2
查看Navicat Premium 12.1.15 注册机数据库类M中文版
查看Navicat for PostgreSQL数据库类M11.2.16 官方中文版
查看数据库编辑器(Active Table Editor)数据库类Mv5.3.3.2官方版
查看Navicat Data Modeler数据库类Mv2.1.18 pc版
查看数据库管理软件Valentina Studio Pro数据库类Mv9.1.2 官方最新版
查看SQL查询工具(DB Solo)数据库类Mv5.2.5官方版
查看DBC2000 PRo数据库类MV5.65 中文注册版
查看sql server 2000数据库管理数据库类M简体中文版
查看数据库管理器(Beekeeper Studio)数据库类Mv1.2.0官方版
查看数据库管理软件Database Master数据库类Mv10.6.155.0219 官方版
查看power designer数据库类Mv16.5 汉化版
查看MS SQL SERVER数据库修复工具数据库类Mv3.0 中文绿色版
查看BOM数据比较工具数据库类.01M1.2最新版
查看Oracle数据库管理工具包KeepTool数据库类Mv10.1.3.2 破解版
查看C++游戏开发引擎(Cocos2d-x)数据库类Mv3.14 最新版
查看数据库同步工具SQLiteSync数据库类Mv1.5.0 官方版
查看点击查看更多