MongoDB 介绍

Posted 悟-空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 介绍相关的知识,希望对你有一定的参考价值。

国内官网网站:http://www.mongoing.com/
 
  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应用程序
     缓存系统
     日志分析系统
 
 
 
 
 
 

以上是关于MongoDB 介绍的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB 数据库:MongoDB的介绍与安装

MongoDB介绍

MongoDB 教程介绍

MongoDB学习笔记 MongoDB介绍及安装

MongoDB系列之MongoDB工作原理简单介绍

MongoDB系列之MongoDB工作原理简单介绍