MongoDB是一款功能强大的数据库软件,最显著的特点是它开源且免费!用户可以完全免费使用MongoDB的基本版本,并且支持商用。无论企业规模大小,MongoDB都能提供高效的解决方案,适用于各行各业的开源数据库。它特别适合敏捷开发,因为MongoDB的架构可以随着应用的变化而灵活调整。同时,它也提供了传统数据库的一些重要功能,比如二级索引、完整的查询系统以及强一致性。MongoDB帮助企业提高敏捷性和可扩展性,通过它,企业能够创建新应用,提升客户合作效率,缩短产品上市周期,降低运营成本。
官方中文支持的MongoDB查询语言非常强大,语法类似于面向对象的查询语言,能够实现类似关系型数据库的单表查询功能。
MongoDB采用面向集合的存储方式,适合存储各种对象类型的数据。
数据模式灵活,可随时变动。
支持动态查询操作。
支持完全索引,包括内嵌对象。
支持高效查询。
具备复制和故障恢复机制。
使用高效的二进制存储,支持大文件(如视频等)的存储。
自动处理碎片化问题,以便支持大规模的云计算扩展。
支持多种编程语言,包括Ruby、Python、Java、C++、PHP等。
文件存储格式为BSON(基于JSON的扩展格式)。
可以通过网络进行访问。
MongoDB的设计目标是将键值存储和传统关系型数据库(RDBMS)的优势结合起来,它能够在高性能和高度可扩展性之间找到平衡。根据官方网站的介绍,MongoDB适用于以下场景:
● 网站数据:MongoDB特别适合用于实时数据的插入、更新和查询,并且具备复制和扩展功能,能满足网站实时数据存储的需求。
● 缓存:MongoDB的高性能使其也可以作为缓存层使用。即便在系统重启后,由MongoDB管理的持久化缓存可以避免下层数据源过载。
● 大规模低价值数据:使用传统关系型数据库存储这些数据可能成本过高,因此,MongoDB成为更具成本效益的选择。
● 高度可扩展的场景:MongoDB非常适合部署在由数十甚至数百台服务器构成的系统中,且其未来的更新路线图已包括内置支持MapReduce引擎。
● 存储对象和JSON数据:MongoDB的BSON格式非常适合存储文档格式的数据,并支持高效的查询。
然而,MongoDB也有一定的局限性,以下几个场景可能不太适用:
● 高度事务性系统:例如银行或会计系统。这些应用需要支持复杂的事务,而传统的关系型数据库在这方面更为合适。
● 传统商业智能应用:面向特定问题的商业智能数据库通常会提供高度优化的查询功能,这种情况下,数据仓库可能是更好的选择。
● 需要使用SQL的场景。
MongoDB的默认数据目录为:C:datadb。如果希望使用不同的目录,可以在执行mongod.exe命令时指定--dbpath参数。
首先,创建数据目录。我选择的目录为D:devmongodb-win32-x86_64-2.4.5datadb。
接着,创建日志目录及相关文件,目录为D:devmongodb-win32-x86_64-2.4.5log,日志文件为D:devmongodb-win32-x86_64-2.4.5loglog.txt。
1、启动MongoDB
打开命令行窗口(cmd.exe),进入D:devmongodb-win32-x86_64-2.4.5bin目录,执行mongod.exe命令,如下所示。
mongod.exe --logpath=D:devmongodb-win32-x86_64-2.4.5loglog.txt --dbpath=D:devmongodb-win32-x86_64-2.4.5datadb
--logpath 参数用于指定日志文件的路径。
--dbpath 参数用于指定数据库文件的存储路径。
有关mongod.exe命令的更多参数选项,可以通过执行mongod.exe --help查看。
2、作为服务安装
使用管理员权限打开Windows的命令行窗口,进入D:devmongodb-win32-x86_64-2.4.5bin目录。
执行以下命令将MongoDB安装为服务:
mongod.exe --install --logpath=D:devmongodb-win32-x86_64-2.4.5loglog.txt --dbpath=D:devmongodb-win32-x86_64-2.4.5datadb
--install 参数使MongoDB作为服务进行安装。
安装为服务后,可以通过命令行在管理员模式下启动或停止MongoDB服务。
启动服务:net start mongodb
3、进入Shell环境
要进入MongoDB的Shell环境,可以在命令行窗口输入mongo.exe,进入后会出现MongoDB的Shell界面。
MongoDB是为了可扩展性、高性能和高可用性而设计的数据库,它支持从单机部署到大型复杂的多数据中心架构。通过内存计算,MongoDB能够提供卓越的读写性能。同时,它的本地复制和自动故障转移功能使得应用程序能够实现企业级的可靠性和灵活的操作能力。
显示全部