首先给两个MongoDB的学习地址:
http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html
www.runoob.com/mongodb/mongodb-windows-install.html
MongoDB是一个基于分布式文件存储的数据库。c++编写。为web应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富,最像关系数据库的。
NoSQL(Not Only SQL)不仅仅是SQL 。用于超大规模数据的存储。
关系数据库管理系统(RDMBSs) 遵循ACID规则:
Atomicity原子性 Consistency一致性 Isolation独立性 Durability持久性
对关系型数据库与非关系型数据库的比较进行延伸一下:http://blog.csdn.net/robinjwong/article/details/18502195
关系数据库中,导致性能欠佳的最主要原因是多表的关联查询,以及复杂的数据分析类型的复杂sql报表查询。瓶颈:高并发读写、海量数据的读写、扩展性。
NoSQL用于指代那些非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。
关系型数据库的最大特点就是事务的一致性,另一个特点就是固定的表结构。
非关系型数据库的分类:
1)面向高性能并发读写的key-value数据库,Redis,Tokyo Cabinet,Flare
2)面向海量数据访问的面向文档数据库,MongoDB及CouchDB
3)面向可扩展性的分布式数据库,可适应数据量的增加以及数据结构的变化。
分布式系统(distribute system)由多台计算机和通信的软件组件通过计算机网络连接(本地网络和广域网)组成。具有高度的内聚性和透明性。
MongoDB将数据存储为一个文档,数据结构由键值(key-value)对组成。类似于json对象,字段值可以包含其他文档,数组及文档数组。
安装MongoDB服务的问题总结:
mongod.cfg文件用来指定data路径和log路径。
logpath= c:\data\log\mongod.log
dbpath= c:\data\db
在cmd命令行中输入mongod --config “C:\Program Files\MongoDB\Server\3.4\mongod.cfg” --install
注意最好把bin目录加入环境变量path中。输入时,双引号必须加,否则错误。--install就可以在计算机中新建Mongod服务,可以通过任务管理器来控制启动和关闭服务。不过似乎不管用。最后还是在桌面新建个txt,保存cmd命令(mongod --config "C:\Program Files\MongoDB\Server\3.4\mongod.cfg"),通过这种方式启动mongod服务。
MongoDB概念
文档、集合、数据库
数据库:一个mongodb中可以建立多个数据库。admin、local、config
文档:是一组键值对(BSON)。文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型。文档中的键值对是有序的。
集合:就是MongoDB文档组。
元数据
MongoDB数据类型:
几个重要的进程:
Mongod.exe为启动此数据库实例进程对应的可执行文件,是整个MongoDB中最核心的内容,负责数据库的创建、删除等各项管理工作,运行在服务器端为客户端提供监听。
mongo进程是一个与mongod进行进行交互的javascript shell进程,它提供了一些交互的接口函数用于系统管理员对数据库系统进行管理。
mongodump提供从mongod实例上创建BSON dump文件的方法。备份
mongorestore能利用dump文件重建数据库。还原
mongofiles提供了一个操作MongoDB分布式文件存储系统的命令行接口。常用的命令如下:
mongofiles --port 40009 --db mydocs --local D:\算法导论学习资料.pdf put algorithm_introduction.pdf 它表示将本地文件D:\算法导论学习资料.pdf上传到数据库mydoc中保存。
适用MongoDB数据库的场景:web应用程序 缓存系统 日志分析系统
不支持关系数据库中的join操作和事务。