MongoDB学习笔记(一)MongoDB概述和安装

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介:
概述

  

  

 

  关键词:关系数据库、非关系数据库

关系数据库:
关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。目前主流的关系数据库有oracle、SQL、access、db2、sqlserver,sybase等
oracle数据库oracle公司(中文名叫甲骨文公司)的,还有SQL,accessdb2IBM的(中文名称是国际商务机器公司)。主流的关系数据库还有微软的Sql server,Sybase公司的sybase,(英孚美)软件公司的informix以及免费的MySQL等。

非关系数据库(NoSQL):
提出另一种理念,他以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。
目前出现的NoSQL(Not only SQL,非关系型数据库)有不下于25种,除了Dynamo、Bigtable以外还有很多,比如Amazon的SimpleDB、微软公司的AzureTable、Facebook使用的Cassandra、类Bigtable的Hypertable、Hadoop的HBase、MongoDB、CouchDB、Redis以及Yahoo!的PNUTS等等。这些NoSQL各有特色,是基于不同应用场景而开发的,而其中以
MongoDB和Redis最为被大家追捧。
1)满足极高并发读写需求的Key-Value数据库:RedisTokyo CabinetFlare
  Key-value类型数据库的特点是把这个数据库系统都加载到内存,定期通过异步操作把数据库刷到磁盘上,因为是纯内存操作,这类数据库性能非常快,但是缺点就是数据库容量受物理内存限制,无法用于海量数据的读写。
2) 满足海量数据读写和面向文档的数据库: MongoDB,CouchDB
  面向文档的数据库保证海量数据存储的同时,还具有良好的查询性能,注意:这里只是提高了读性能,而写性能却无法做到显著提高。
3) 满足高扩展性和可用性的面向分布式计算的数据库:Cassandra,Hadoop,HBase,Voldemort
  面向scale能力的数据库其实主要解决的问题领域和上述两类数据库还不太一样,它首先必须是一个分布式的数据库系统,由分布在不同节点上面的数据库共同构成一个数据库服务系统,并且根据这种分布式架构来提供online的,具有弹性的可扩展能力,例如可以不停机的添加更多数据节点,删除数据节点等等。

MongoDB
MongoDB基于文档的存储的(而非表),是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似jsonbjson格式,因此可以存储比较复杂的数据类型。模式自由(schema-free),意味着对于存储在MongoDB数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

       Mongo主要解决的是海量数据的访问效率问题。因为Mongo主要是支持海量数据存储的,所以Mongo还自带了一个出色的分布式文件系统GridFS,可以支持海量的数据存储。由于Mongo可以支持复杂的数据结构,而且带有强大的数据查询功能,因此非常受到欢迎

  MongDB是文档数据库,其中的集合相当于关系数据库中的表,文档相当于关系数据库的表中的数据行,如果还是不是很了解MongoDB,那么看一下这里:http://my.oschina.net/23102160/blog/101651 这里说得还是比较通俗易懂的!

Windows下安装和使用

  

 

推荐两个系列:http://www.cnblogs.com/huangxincheng/category/355399.html
http://www.cnblogs.com/lipan/category/273923.html

1、新建一个文件夹,当作MongoDB的安装目录。例:D:\MongoDB
2、将下载好的文件 mongodb-win32-i386-2.4.3.zip 解压,将解压出来的4个文件复制到D:\MongoDB目录下
3、在目录D:\MongoDB下新建一个文件夹Data,当作存放数据库的地方
准备工作完成,开始配置
4、Win+R键打开CMD窗口
输入  D:
输入  cd MongoDB\bin
输入  mongod --dbpath D:\MongoDB\Data

 

  至此,配置成功,并开启了MongoDB数据库服务!!!默认的端口号:28017
5、在不关闭第4步的命令框的前提下,打开浏览器访问:http://localhost:28017/
出现:You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
说明服务已经开启
6、在不关闭第4步的命令框的前提下,Win+R在调出一个命令框
输入  D:
输入  cd MongoDB\bin
输入  mongo
即可连接上MongoDB的test数据库  (本机为32为Win7系统)

7、连接成功之后,可看http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html 按照步骤,来用命令操作数据库
8、在第5、6步中,我们有强调在不关闭第4步调出的命令框下,这是因为第4步的操作是开启MongoDB数据库服务,如果关闭窗口的话,就关闭了MongoDB数据库服务,也就无法对数据库操作了。
9、通过命令使MongoDB数据库服务在后台运行 ??????
后台运行:-fork命令,但是在用的时候必须要和-logpath命令一起用,来指定日志输入位置
网上查到是:mongod -dbpath D:\MongoDB\Data -logpath D:\MongoDB\log\test.log -fork 
但是在本机上运行时,总是提示could not read from config file
此方式在CentOS系统下的MongoDB就可以.......
fork在windows中无法用的吗?
关闭后台:
10、将命令配置到文件中,直接用命令执行文件即可 ?????  
在D:/MongoDB/Bin目录下新建db.txt文件,在内部输入
dbpath=D:/MongoDB/Data
logpath=D:/MongoDB/Log/test.log
logappend=true
port=27017(我没写)
然后在命令中输入: mongod -f db.txt

  ---但是,如果在db.txt中添加 fork=true ,就识别不了fork命令

11、把MongoDB数据库服务做成Windows服务
安装服务:mongod --dbpath=D:/MongoDB/Data --logpath=D:/MongoDB/Log/test.log --logappend --serviceName MongoDB --install
开启服务:net start MongoDB
关闭服务:net stop MongoDB
卸载服务:mongod --dbpath=D:/MongoDB/Data --logpath=D:/MongoDB/Log/test.log --logappend --serviceName MongoDB --remove
如图:

  在服务列表中查看:

 

用CMD对文件进行操作

要进行文件编辑的话:edit  X:\XXXXX.TXT
查看文件内容的话:type X:\XXXXX.TXT
也可以用:start X:\XXXXX.txt
Mongo可以支持复杂的数据结构,而且带有强大的数据查询功能,因此非常受到欢迎
CentOS下安装和使用

  



在CentOS桌面版本下安装:
1.在官方网站上下载相应的版本 http://www.mongodb.org/downloads
2.例如:在usr/local目录下新建文件夹MongoDB,将下载好的.tgz文件解压,并将其中的三个文件放入新建的MongoDB文件夹
3.在MongoDB文件夹中再新建一个文件夹Data用来存放数据库
准备工作已经完成,开始安装
4.打开命令终端
输入    cd /usr/local/MongoDB
再输入  ./bin/mongod -dbpath=./Data
OK....


5.在浏览器上输入 http://localhost:27017
出现You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
配置成功,并且开启了MongoDB数据库服务  

6.在不关闭第4步的前提下,再打开一个命令终端,去连接数据库
输入   cd /usr/local/MongoDB
再输入  ./bin/mongo

7. MongoDB数据库服务后台运行,需要利用fork参数,但同时必须要和logpath在一起用,来指定日志的位置,之后就可以关闭窗口,MongoDB服务就会在后台运行了
输入  ./bin/mongod --dbpath=./Data --logpath=./Log/test.log --fork
如果在logpath参数后面在加一个logappend表示日志追加,默认情况下是覆盖的
输入  ./bin/mongod --dbpath=./Data --logpath=./Log/test.log --logappend --fork
后台运行:如下图  

8.关闭后台MongoDB服务
在db shell 模式下输入如下命令:db.shutdownServer()
#killall mongod 或者是  kill [pid] 不建议使用



本文转自武沛齐博客园博客,原文链接:http://www.cnblogs.com/wupeiqi/archive/2013/05/12/3074478.html,如需转载请自行联系原作者

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
4月前
|
NoSQL MongoDB 数据安全/隐私保护
|
28天前
|
NoSQL MongoDB Docker
docker安装MongoDB
docker安装MongoDB
21 0
|
2月前
|
NoSQL 关系型数据库 MySQL
Windows、Linux、Mac安装数据库(mysql、MongoDB、Redis)#0
不同系统下进行MySQL安装、MongoDB安装、Redis安装【2月更文挑战第5天】
439 5
Windows、Linux、Mac安装数据库(mysql、MongoDB、Redis)#0
|
3月前
|
存储 JSON NoSQL
【MongoDB】<文档型数据库>Windows&Liunx安装MongoDB(无错完整)
【1月更文挑战第26天】【MongoDB】<文档型数据库>Windows&Liunx安装MongoDB(无错完整)
|
3月前
|
存储 NoSQL MongoDB
学习如何使用 Python 连接 MongoDB: PyMongo 安装和基础操作教程
Python 需要一个 MongoDB 驱动程序来访问 MongoDB 数据库。我将使用 MongoDB 驱动程序 PyMongo 建议您使用 PIP 来安装 PyMongo。PIP 很可能已经安装在您的 Python 环境中。将命令行导航到 PIP 的位置,然后键入以下内容:
92 1
|
3月前
|
NoSQL 安全 Linux
百度搜索:蓝易云【CentOS7安装MongoDB教程】
这些是在CentOS 7上安装MongoDB的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
132 0
|
4月前
|
NoSQL MongoDB 数据库
MongoDB【部署 03】Windows系统安装mongodb并设置用户名密码(无需安装mongosh)及SpringBoot集成报错 Command failed with error 18
MongoDB【部署 03】Windows系统安装mongodb并设置用户名密码(无需安装mongosh)及SpringBoot集成报错 Command failed with error 18
133 0
|
4月前
|
NoSQL MongoDB Docker
百度搜索:蓝易云【Scrapy框架之Docker安装MongoDB教程。】
现在,你已经成功在Scrapy框架中使用Docker安装并配置了MongoDB。你可以在Scrapy爬虫中使用MongoDB进行数据存储和处理。
218 0
|
4月前
|
NoSQL 关系型数据库 应用服务中间件
Linux安装 OpenResty、Nginx、PHP、Mysql、Redis、Lua、Node、Golang、MongoDB、Kafka等
Linux安装 OpenResty、Nginx、PHP、Mysql、Redis、Lua、Node、Golang、MongoDB、Kafka等
86 0
|
4月前
|
存储 NoSQL 关系型数据库
Mongo DB 安装及基础操作
MongoDB是一种开源的、基于文档的NoSQL数据库管理系统。它是由10gen(现为MongoDB Inc.)开发和维护的。MongoDB的设计目标是提供灵活的、可扩展的数据存储解决方案,适用于各种类型的应用程序。
76 2