MongoDB.1---什么是MongoDB
一. NoSQL是什么?
当时我学开发的时候,接触的都是Oracle,MySQL等关系型数据库软件RDBMS,用的都是SQL语句,曾经一度以为数据库就是RDBMS,对数据的各项操作只能通过sql来实现,但是近年来,越来越多的听看到一个概念---NoSQL,从哪看到的呢,当然是企业的招聘需求了...
NoSQL又是什么?关系型数据库都是针对于表,字段,视图,各类约束来进行实现数据的存储,NoSQL存储数据的方式则是多种多样的:
- 文档存储:类似于内容管理系统,旨在存储文档,以及为文档编制索引,从而加快 访问速度;
- 图形存储:旨在存储任意复杂数据集合,并使用三元组表示数据元素之间的关系, 例如“Bob is 35” ;
- 键值存储:支持使用关键字(例如 “Joe Smith”)及其相关值(例如他的地址)填 充数据库;
- 表格存储:类似于关系系统,旨在使用类似于电子表格的格式存储数据,支持搜索 和检索条目;
- XML 存储:专门存储 XML 内容,使用针对 XML 文档的查询语。
总之,不用再使用sql来进行数据的增删该查操作,这就是NoSQL。
NoSQL 不再使用传统的表、行和列,我们可以将它构建为查询包含松 散定义的字段的文档组。IBM 数据库服务器副总裁兼首席技术官 Curt Cotner 说:“这意 味着开发人员能够摆脱关系方法的束缚,不必在执行更改时实施保护、检查和平衡。利用 NoSQL,开发人员可以毫无负担地直接进行更改。
传统关系型数据库的优势在哪?
SQL 数据库提供了完全原子性、一致性、隔离性和持久性 (ACID) 特征相比,而NoSQL架构往往仅提供了不甚可靠的一致性保证,叫做“最终一致性”,即数据存储更新最终将在整个基础设施和应用程序间得到传播,但在任意时间点,用户都可能会发现更新并 未完全传播完成,尚未出现在用户界面之中。财务交易中,SQL 的 ACID 特征有助于保证交易准确执行,即便系统因电力中断或其他故障而中断的情况下也是如此。原子性能保证不出现不完整的事务。一致性特征能确保所有更新都能立即得到传播,在整个系统内保持 一致。隔离性表示必须保证任何事务都无法干扰其他事务。持久性意味着,即便数据库崩溃, 事务也永远不会丢失。
显然最终一致性是不够理想的,成熟的数据库管理系统也提供了高可用性和数据压缩等优势,这都是新兴的 NoSQL 系统还没来得及发展成型的优势。高可用性对于保证业务关键应用程序的正常运行至关重要,而压缩能够显著减少数据存储所需的内存量。
二.MongoDB是什么?
MongoDB是一个NoSQL 项目,一个开放源码、面向文档的数据库,它在类似于JSON的文档集合存储数据。MongoDB 相比其他 NoSQL 数据库的优势之一是它强大的、基于文档的查询语言,由于查询非常容易转换,这使得从关系数据库到 MongoDB 的过渡变得简单。MongoDB 是用 C++ 语言编写的。它在类似于 JSON 的文档中存储数据(使用 BSON,一个 JSON 的二进制版本),存储数据的方式是使用Key/Value对。MongoDB 优于其他文档数据库的一个特性是它很容易将 SQL 语句转换成 MongoDB 查询函数调用。这使得当前使用关系数据库的组织很容易迁移到 MongoDB。它也很容易安装和使用,有二进制和驱动程序两种形式,兼容主流操作系统和编程语言。
Windows环境下安装MongoDB,
1.这是下载地址http://www.mongodb.org/downloads,我选择的是Windows Server 2008 R2 64-bit and later, with SSL support x64这个版本,
2.把压缩文件解压到 C:\ 驱动器,这将创建一个名称类似于 mongodb-win32-i386-1.6.4 的文件夹。为了简便,将这个文件夹重命名为 mongo 。接下来,需要创建一个数据目录。在 Windows 资源管理器中,转到 C:\ 驱动器的根目录下并创建一个名为 data 的新文件夹。在此文件夹中,创建一个名为 db 的文件夹。
3.启动 MongoDB 服务器。使用 Windows 资源管理器导航至 C:\mongo\bin 并双击 mongod.exe。关闭打开的命令提示符窗口将会停止 MongoDB 服务器。因此,将 MongoDB 服务器设置为 Windows 服务更为方便,打开命令提示符窗口 (启动 > 运行 >,输入 cmd
并按 确定),输入以下命令,
> cd \mongo\bin > mongod --install --logpath c:\mongo\logs --logappend --bind_ip 127.0.0.1 --directoryperdb
有下面的提示就是安装成功,
all output going to c:\mongo\logs Creating service MongoDB. Service creation successful. Service can be started from the command line via 'net start "MongoDB"'.
将Mongo作为服务安装后,可以用以下命令启动它:> net start "MongoDB"
服务启动后就可以开始使用了,另开一个命令窗口,
确认位于 c:\mongo\bin 文件夹中并输入以下命令:> mongo ;
另一种方法是,在 Windows 资源管理器中导航至 C:\mongo\bin 并双击 mongo.exe。