1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案。 b MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系型数据库的。它支持的数据结构非常松散,会将数据存储为一个文档,数据结构由键值对(key=>value)组成,是类似于json的bson格式,字段值可以包含其它文档、数组和文档数组,因此可以存储比较复杂的数据类型。 c MongoDB最大的特点就是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系型数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 d MongoDB的主要特点(来自于网上,主要为了我们初步了解) d.1 MongoDB提供了一个面向文档存储,操作起来比较简单和容易的非关系型数据库。 d.2 你可以在MongoDB记录中设置任何属性的索引来实现更快的排序。 d.3 你可以通过本地u或者网络创建数据镜像,这使得MongoDB含有更强的扩展性。 d.4 如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其它节点上,这就是所谓的分片。 d.5 MongoDB支持丰富的查询表达式,查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象和数组。 d.6 MongoDB使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段。 d.7 MongoDB中的Map/Reduce主要是用来对数据进行批量处理和聚合操作,Map函数调用emit(key,value)遍历集合中所有的记录,将key于value传递给Reduce函数进行处理。另外Map函数和Reduce函数是使用JavaScript编写的,所以可以通过db.runCommand和mapreduce命令来执行MapReduce操作。 d.8 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
d.9 MongoDB允许在服务端执行脚本,可以用JavaScript编写某个函数,直接在服务端执行,也可以吧函数的定义存储在服务端,下次直接调用即可。 d.10 MongoDB支持各种编程语言:RUBY、PYTHON、JAVA、C++、PHP、C#等多种语言并且MongoDB的安装也非常简单。 e 因为想将日志管理集中到MongoDB,所以简单学习了一下,将学习的心得分享给大家。 f MongoDB官网: g MongoDB学习网站:
2.准备工作
a 通过上面简单的介绍之后我们已经了解了MongoDB的基本信息,那么接下来我们首先需要在Linux下搭建它并且来使用它。 b MongoDB包下载地址: c 操作需要的软件以及系统如下:虚拟机(Vmware),虚拟机中安装的CentOS系统,Xshell,Xftp, MongoDB包。
3.MongoDB安装
a 通过上面简单的准备工作之后,我们已经拥有了可以安装的包和发布的环境,如果上面没有准备充分,请自行准备,下面我们开始进行搭建环境
b 使用XShell连接Centos,连接成功后使用命令跳转到local下面创建自己的文件夹kencery,在此文件夹下面创建mongoDB文件夹,命令如下:
b.1 (1):cd usr/local/ (2):mkdir kencery (3):cd kencery/ (4):mkdir mongoDB(5):cd mongoDB/
c 然后使用Xftp将在上面下载的mongoDB包(mongodb-linux-x86_64-3.2.8.tgz)复制到mongoDB文件夹里面,并且将包解压,解压之后命名为mongoDB,如图所示:
c.1 tar -zxvf mongodb-linux-x86_64-3.2.8.tgz
c.2 mv mongodb-linux-x86_64-3.2.8 mongodb
d 解压之后跳转到mongodb下进行操作(cd mongodb/),如图所示:
e 如上图所示,您发现多了两个文件夹,一个是db,一个是logs,这两个文件夹是我们自己创建的,db文件夹的作用是存放数据库目录,logs文件夹的作用是存放mongoDB的操作日志信息,命令如下(此命令的执行在软件包解压重命名之后跳转到mongdb下面的执行):
e.1 mkdir db
e.3 mkdir logs
f 添加完成之后,启动mongoDB,验证是否安装成功,这里指定的数据库目录选项为mongodb下创建的db,命令如下,如图所示,则提示启动成功。
f.1 ./bin/mongod --dbpath /usr/local/kencery/mongoDB/mongodb/db
d MongDB请命令参数说明: