实验指导:
31.1 实验目的
1.了解NoSQL 数据库的原理;
2.理解NoSQL数据库的结构;
3.比较MongoDB和Hbase的区别;
4.能对MongoDB的存储格式有一定的了解;
5.能正确的使用MongoDB并能进行简单使用。
31.2 实验要求
1.正确的搭建MongoDB数据库环境;
2.能正常启动MongoDB的服务和服务的连接;
3.能在MongoDB的的shell中进行一些简单的使用。
31.3 实验原理
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
特点:高性能、易部署、易使用,存储数据非常方便。
主要功能特性有:
1.面向集合存储,易存储对象类型的数据;
2.模式自由;
3.支持动态查询;
4.支持完全索引,包含内部对象;
5.支持查询;
6.支持复制和故障恢复;
7.使用高效的二进制数据存储,包括大型对象(如视频等);
8.自动处理碎片,以支持云计算层次的扩展性;
9.支持Ruby,Python,Java,C++,PHP等多种语言;
10.文件存储格式为BSON(一种JSON的扩展);
11.可通过网络访问。
所谓“面向集合”(Collenction-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。
模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。
存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各种复杂的文件类型。我们称这种存储形式为BSON(Binary JSON)。
31.4 实验步骤
本实验总体分为几个步骤:
1.启动MongoDB服务;
2.连接MongoDB服务;
3.启动MongoDB的shell,执行一些简单命令。
详细如下:
31.4.1 启动MongoDB
首先在MongoDB的安装目录下建立一个数据目录。然后进入MongoDB安装目录下的bin目录,启动MongoDB服务。
[root@master ~]# cd /usr/cstor/mongodb/ [root@master mongodb]# mkdir data [root@master mongodb]# bin/mongod --dbpath ./data &
31.4.2 连接使用MongoDB
使用命令连接到MongoDB服务。
[root@master mongodb]# bin/mongo
31.4.3 连接启动MongoDB的shell,执行一些简单命令。
连接到MongoDB之后,进入shell环境之后执行如下的简单操作,以此来熟悉MongoDB的操作。
31.4.3.1 创建一个Collection
如图31-1所示:
> db.createCollection("weather");
图31-1
31.4.3.2 插入单条数据
如图31-2所示:
> db.weather.save({temp:31,location:"nanjing"});
图31-2
31.4.3.3 插入多条数据
如图31-3所示:
> for(var i = 0;i < 30;i++) { db.weather.save({tep:i,location:"nanjing"}) };
图31-3
31.4.3.4 简单遍历
如图31-4所示:
> db.weather.find();
图31-4
31.4.3.5 复杂遍历
如图31-5所示:
> var c=db.weather.find(); >while(c.hasNext()){printjson(c.next())};
图31-5
31.4.3.6 查找数据
如图31-6所示:
> db.weather.find({location:"najing"})
图31-6
31.4.3.7 更新数据
如图31-7所示:
>db.weather.update({location:"nanjing"},{$set:{location:"shanghai"}},false,true);
图31-7
31.4.3.8 删除数据
如图31-8所示:
> db.weather.remove({location:"shanghai"})
图31-8
31.4.3.9 删除Collection
如图31-9所示:
>db.weather.drop() ;
图31-9
31.5 实验结果
本实验的实验步骤中对每一个命令都有明确截图,请读者自行进行参考。
实验操作:
步骤1:启动MongoDB
步骤2:连接MongoDB
步骤3:创建Collection
步骤4:添加数据
步骤5:遍历Collection
步骤6:查找数据
步骤7:更新数据
步骤8:删除数据
步骤9:删除Collection