1、MongoDB介绍
MongoDB作为非关系型数据库的典型,广泛应用于分布式文件存储,成为NoSQL数据库中比较热门的一种。
其复制集和分片的功能,可以作为WEB应用提高可扩展性的高性能数据存储解决方案之一。
在介绍MongoDB之前,首先介绍一下NoSQL,NoSQL泛指非关系型数据库,NoSQL通常用于超大规模数据的存储。(例如谷歌或FaceBook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
MongoDB作为NoSQL的典型代表,因其提供了一个面向文档存储以及操作起来比较容易等特点逐渐被大部分人所关注。
1.1、MongoDB主要特点
1.1.1、优点
面向文档存储,不需要严格的结构。
高性能、易部署、易使用,存储数据非常方便。
非结构化,基于文档。
具有强大的主流开发语言支持,如c#,java,PHP,Python等。
扩展方便,分片与复制集能够方便地实现冗余容灾与负载均衡。
1.1.2、缺点
吃内存,通常会做内存限制。
不支持事务操作,对于事务要求严格的系统不建议使用。
1.2、MongoDB相关概念:
1.2.1、数据库(database)
一个MongoDB中可以建立多个数据库。
MongoDB的默认数据库为test,该数据库存储在data目录中。
MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。
show dbs命令可以显示所有数据库的列表,若开启用户认证,则该操作需要先获取相应的权限。
db命令可显示当前所连接的数据库。
use dbname命令可实现切换数据库,同时也可用于新增数据库,dbname为数据库名。
1.2.2、集合(collections)
集合就是 MongoDB 的文档组,类似于 RDBMS (关系数据库管理系统:Relational Database Management
System)中的表格。
集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。
show collections命令可显示该数据库中所有的集合。
1.2.3、文档(document)
文档是一个键值(key-value)对(即BSON)。类似于RDBMS表中的数据,MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。
RDBMS 与mongodb对应的术语关系:
1.3、MongoDB基本操作
使用公司平台提供的一键安装包安装完成后,默认端口是27017。
安装完成后开启mongod服务:service mongod start
关闭mongod服务:service mongod stop mongod服务已加入开机启动中,
首次安装需要手动开启(service mongod start),重启服务器后会自动开启。
查看mongod进程是否已开启:ps -ef | grep mongod
开启mongod之后才能进入mongo 进入mongo: /usr/local/mongodb/bin/mongo
该方法默认进入本地端口为27017的mongod /usr/local/mongodb/bin/mongo –host
192.168.xxx.xxx –port xxxx 可指定连接的主机ip和端口