概述

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

关系数据库:
  
关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。目前主流的关系数据库有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数据库:Redis,Tokyo Cabinet,Flare
  Key-value类型数据库的特点是把这个数据库系统都加载到内存,定期通过异步操作把数据库刷到磁盘上,因为是纯内存操作,这类数据库性能非常快,但是缺点就是数据库容量受物理内存限制,无法用于海量数据的读写。
2) 满足海量数据读写和面向文档的数据库: MongoDB,CouchDB
  面向文档的数据库保证海量数据存储的同时,还具有良好的查询性能,注意:这里只是提高了读性能,而写性能却无法做到显著提高。
3) 满足高扩展性和可用性的面向分布式计算的数据库:Cassandra,Hadoop,HBase,Voldemort
  面向scale能力的数据库其实主要解决的问题领域和上述两类数据库还不太一样,它首先必须是一个分布式的数据库系统,由分布在不同节点上面的数据库共同构成一个数据库服务系统,并且根据这种分布式架构来提供online的,具有弹性的可扩展能力,例如可以不停机的添加更多数据节点,删除数据节点等等。

MongoDB
  
MongoDB是基于文档的存储的(而非表),是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。模式自由(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桌面版本下安装:

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] 不建议使用


MongoDB笔记(一)MongoDB概述和安装的更多相关文章

  1. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB

    MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...

  2. Linux系统运维笔记(四),CentOS 6.4安装 MongoDB

    Linux系统运维笔记(四),CentOS 6.4安装 MongoDB 1,下载 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6 ...

  3. MongoDB学习笔记二:使用Docker安装MongoDB

    目录 Docker安装MongoDB Docker给MongoDB设置用户密码 NoSQL Manager for MongoDB连接 为admin赋权限 上一个笔记介绍了Windows下安装Mong ...

  4. MongoDb 学习笔记(一) --- MongoDb 数据库介绍、安装、使用

    1.数据库和文件的主要区别 . 数据库有数据库表.行和列的概念,让我们存储操作数据更方便 . 数据库提供了非常方便的接口,可以让 nodejs.php java .net 很方便的实现增加修改删除功能 ...

  5. MongoDB笔记(一):MongoDB介绍及Windows下安装

    一.前言 MongoDB火了也蛮久了,关于简介看看这里吧.项目中一直没用上,最近闲的慌就自己学了下,顺便记录下以便今后复习. 本系列是基于MongoDB 2.4.8 windows 64位讲解,后面的 ...

  6. 小白学习MongoDB笔记(一)·下载及安装MongoDB

    下载地址:http://dl.mongodb.org/downloads.我选的64位的 windows64-bit 2008 R2.当时版本为3.0.7 文件格式为.msi 借用“一线码农”的话: ...

  7. MongoDB笔记:windows环境安装及连接本地数据库

    下载MongoDB 2.4.9版 mongodb官网下载:http://www.mongodb.org/downloads 直接下载地址:http://fastdl.mongodb.org/win32 ...

  8. MongoDB笔记

    mongodb简介 MongoDB 是一个基于分布式文件存储的数据库.存储的是Bson结构的文档(二进制的JSON),内部执行引擎为JS解释器,把文档存储为BSON结构,在查询时,转换为JS对象,可以 ...

  9. Mongodb学习笔记一(Mongodb环境配置)

    Mongodb学习 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成.Mo ...

随机推荐

  1. Altium Designer 多通道设计

    转chenzelin2009的csdn博客:http://blog.csdn.net/chenzelin2009/article/details/5751251# Altium Designer的多图 ...

  2. 杀死当前Excel进程

    说明: 代码编写过程中,有时需要杀死当前Excel进程,而不影响其他Excel进程. 代码如下: 添加引用: //杀死当前进程的API引用 using System.Runtime.InteropSe ...

  3. Android FM模块学习之二 FM搜索频率流程

    上一篇大概分析了一下FM启动流程,若不了解Fm启动流程的,能够去打开前面的链接先了解FM启动流程,接下来我们简单分析一下FM的搜索频率流程. 在了解源代码之前.我们先看一下流程图: 事实上从图中能够看 ...

  4. Visual C++ 2012/2013的内存溢出检測工具

    在过去,每次编写C/C++程序的时候,VLD差点儿是我的标配.有了它,就能够放心地敲代码,随时发现内存溢出. VLD最高可支持到Visual Studio 2012.不知道以后会不会支持Visual ...

  5. Android 开发第三天

    今天学习的内容

  6. JVM笔记6:JVM类加载机制

    虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析.初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制 从类被加载到虚拟机内存中开始,到卸载出内存为止 ...

  7. §12 循环101-while循环

    §12   循环101-while循环 While和for具有一定的可替换性.语法如下: while test body continue终止当次循环,break退出整个循环. 注意while之后要用 ...

  8. Sql Server 与CLR集成

    .NET编程和SQL Server ——Sql Server 与CLR集成   一.SQL Server 为什么要与CLR集成 1. SQL Server 提供的存储过程.函数等十分有限,经常需要外部 ...

  9. Asp.net上传出现“超过了最大请求长度”的问题解决方法

    在开发ASP.NET网站后台管理系统时,我们可能会遇到这样的问题:上传大于4M的文件时,会提示错误:错误信息如下: 1.异常详细信息:超过了最大请求长度. 2.引发异常的方法:Byte[] GetEn ...

  10. Unity3D 之UGUI 滑动条(Slider)

    这里来讲解下UGUI 滑动条(Slider)的用法 控件下面有三个游戏对象 Background -->背景 Fill Area --> 前景区域 Handle Slide Area -- ...