MongoDB 介绍

国内官网网站: http://www.mongoing.com/
官网中文翻译: http://docs.mongoing.com/manual-zh/
 
  MongoDB是一个可扩展、开源、表结构自由、用C++语言编写且面向文档的数据库,在Web应用程序提供高效性能、高可用性且易扩展的数据存储解决方案。
  MongoDB 是一个介于关系数据库和非关系数据库直接的产品,是非关系数据库中功能最丰富、最像关系数据库的NoSQL数据库;它支持的查询语言很是强大,其语法有点相似于面向对象的查询语言,能够实现相似关系数据里单表查询的绝大部分功能,切还支持对数据创建索引。
  
  索引类型:
    单键索引,多建索引 {x:1,y:1}
    数组索引:["apple","lemon"]
    全文索引: "i am a little bird."(中文)
    地理位置索引: 2D
 
  MongoDB还支持Google提供的MapReduce并行编程模式,为大数据分析提供了强有力的保障。
  MongoDB同时提供了与Hadoop的接口,与其它第三方数据分析工具完美结合。
 
 
关系型数据库(MySQL) MongoDB
database database
table collection
row document/object
 
 
 
 
 
SQL数据库 NoSQL数据库
实时一致性 简单便捷
事务 方便扩展
多表联合查询 更好的性能
 
 
 
 
 
 

基本单元:

     关系数据库---行
     
     MongoDB --document(用于JSON格式相似的键值对来存储,MongoDB叫BSON对象)
 
     

MongoDB 日志功能 Journaling

     对数据库的增、删、改 操做会记录在日志文件中。每100ms将内存中的数据刷到磁盘上,若是意外停机,在数据库从新启动时,MongoDB 经过Journaling日志功能恢复。
 
     

MongoDB 复制集 Replset  (冗余)

     一个复制集在生产环境中最少须要3台独立机器,主节点(primary),次节点(secondary),仲裁节点(只负责选出主节点)
     支持 备份、自动故障转移,
     
 
 

MongoDB 支持自动分片 Sharding(扩展)

     分片功能:实现海量数据的分布式存储
     分片一般与复制集配合起来使用,实现读写分离、负载均衡,
 

经常使用命令:

      mongod 启动数据库实例,负责数据库建立、删除等各项管理工做,运行在服务器端为客户端提供监听。
     
      mongo  进入交互模式对数据库系统进行管理。
     
      mongodump  建立BSON dump 文件的方法 例如:mongodump --port 27017 --db db1 --out /tmp/db1
 
      mongoexport 将MongoDB数据实例中的数据 导出来生成JSON 或CSV文件的工具 ; 例如 mongoexport --port 27017 --db db1 --collection  t1 --out  /tmp/t1.json
 
      mongoimport 将JSON或CSV文件内容 导入到MongoDB实例中的工具; 例如 mongoimport --port 27017 --db db1 --collection t1 --file /tmp/t1.json
 
     mongos 是分片中用到的进程,全部应用程序端的查询操做都会先由它分析,而后将查询定位到具体某一个分片上,做用与mongod 相似,客户端的mongo与它链接。
 
     mongofiles 提供了操做MongoDB分布式文件存储系统的命令行接口; 例如mongofiles --port 21707 --db mydb1 --local  /tmp/123.txt put 123.txt  (将/tmp/123.txt 上传到数据mydb1 中保存)
 
      mongostat 提供了一个展现当前正在运行的mongod实例状态工具,提供的数据只与运行的mongod或mongos 的实例相关。
     
     mongotop 提供一个分析MongoDB实例  在读写数据张的时间的跟踪方法。它提供的统计数据在美国collection 级别上。
     
     mongorestore
     mongooplog
 

MongoDB 适合的业务

     Web应用程序
     缓存系统
     日志分析系统
相关文章
相关标签/搜索