概述

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

关系数据库:
  
关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。目前主流的关系数据库有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. 8-18-Exercise

    8-18-小练 A.HDU 1172   猜数字 采用枚举~[赤果果的暴力~] 代码: #include <iostream> #include <cstdio> #inclu ...

  2. C#性能优化的一些技巧

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:C#性能优化的一些技巧.

  3. Java 解析epub格式电子书,helloWorld程序,附带源程序和相关jar包

    秀才坤坤出品 一.epub格式电子书 相关材料和源码均在链接中可以下载:http://pan.baidu.com/s/1bnm8YXT 包括 1.JAVA项目工程test_epub,里面包括了jar包 ...

  4. android 中view的绘制过程

    view的绘制过程中分别会执行:onMeasure(会多次)计算view的大小,OnLayout(),确定控件的大小和位置 onDraw()绘制view 当Activity获得焦点时,它将被要求绘制自 ...

  5. 在Java中如何用String类中的indexof方法得到一个词的出现频率

    public class Test{ public static void main(String[] args) { String s="hello jack hello look me ...

  6. Xcode6中使用initWithTitle:title image:image selectedImage:自定义图片

    使用xcode6来运行项目,发现使用原生的tabbar上的图片不显示了. 这个问题是因为xcode6中的一些api方法被废弃了,同时tabbar上图片的渲染方式发生了改变. 先看xcode6中的tab ...

  7. drop table big_table 调试

    (gdb) thread apply all bt Thread (Thread )): # # /storage/innobase/os/os0sync.cc: # ) at /usr/src/my ...

  8. 硬菜点播台 | MySQL阿里实践经典案例之参数调优最佳实践

    http://mp.weixin.qq.com/s?__biz=MzA4NjI4MzM4MQ%3D%3D&mid=512708319&idx=1&sn=6af5f424d7cd ...

  9. 第一篇:GPU 编程技术的发展历程及现状

    前言 本文通过介绍 GPU 编程技术的发展历程,让大家初步地了解 GPU 编程,走进 GPU 编程的世界. 冯诺依曼计算机架构的瓶颈 曾经,几乎所有的处理器都是以冯诺依曼计算机架构为基础的.该系统架构 ...

  10. 通过NSURLProtocol拦截HTTP转HTTPS来整合SPDY的记录

    众所周知,iOS 9.0之后苹果引入ATS限制,苹果也推荐尽量不要使用HTTP通讯了,毕竟是很不安全的.而国内各个有(wu)节操的运营商也会经常篡改请求HTTP请求.所以如果可能,在不影响性能的情况下 ...