mongo的由来
  截取自英文俚语humongous,意为”巨大的”,是否表明mongodb在设计之初就是为大数据量处理而生呢?

mongodb是个啥
  mongodb是个可扩展、高性能、开源、面向文档(document-oriented)的数据库,由c++实现。
  http://www.mongodb.org/ 官网首页最显著的位置用了”agile”和”scalable”这两个词来形容它:
  (1)agile:轻快的,敏捷的;
  (2)scalable:可扩展;

mongodb的特点
  (1)面向文档的存储:类JSON文档作为存储,不固定表模式(schema-free);
  (2)全文索引支持(full index support);
  (3)多副本与高可用性(replication & availability);
  (4)自动分片(auto-sharding);
  (5)支持多种类型的查询;
  (6)快速原地更新(fast in-place updates):大部分更新操作无需申请新的空间;
  (7)map/reduce支持;
  (8)gridfs:各种size大小的集群文件支持;

wikipedia对mongodb的特性描述
  (1)面向文档,以一种类JSON的格式管理记录,且能支持丰富的查询,支持索引;
  (2)跨平台,支持windows,linux,solaris,OS X等;
  (3)查询结果支持游标操作;
  (4)点对点查询(Ad hoc queries):
    任何字段(field)都能被查询到,支持范围查询(range queries),正则表达式查询(regular expression),
    用户自定义js函数查询,内嵌字段查询(nestad field);
  (5)索引支持:
    支持单key索引,复合索引,唯一索引,内嵌字段索引;
    查询执行时,mongodb的查询优化器会尝试多种查询计划,并挑选最优的计划执行;
  (6)集函数支持(aggregation function):即使在map/reduce上,也有类似SQL的group by支持;
  (7)文件存储支持,实现了一套GridFS的协议,用来存储和检索文件;
  (8)主从、副本的支持:
    mongodb支持主从结构,主db能执行读操作与写操作,从db从主db拷贝数据,从db只能执行读操作;
  (9)sharding:
    mongodb用sharding技术来支持水平扩展,它与Google的BigTable扩展方式十分类似;

一些与mysql的相似点与不同
  (1)一个服务可以支持多个数据库;
  (2)一个数据库可以支持多个表,在mongodb中,以集合(collection)代替了表(table)的概念;
  (3)mysql是关系型的数据库,即RDBMS,而mongodb是schema-free的,它更像一个键值存储系统(kv),但与kv不同的是,它又能像mysql的模式一样,能修改文档内的数据,并对内部数据进行索引;
mongodb文档以BSON格式存储,即Binary JSON,BSON是一种二进制交换格式,类似Google Protocol Buffer;

一分钟了解mongodb(转)的更多相关文章

  1. 10分钟完成 mongodb replSet 部署

    开始: ------------------------------------------------------------------------------------------------ ...

  2. 【转载】一分钟了解两阶段提交2PC(运营MM也懂了)

    上一期分享了"一分钟了解mongoDB"[回复"mongo"阅读],本期将分享分布式事务的一种实现方式2PC. 一.概念 二阶段提交2PC(Two phase ...

  3. 30分钟让你了解MongoDB基本操作

    今天记录下MongoDB的基本操作,这只是最基本的,所以是应该掌握的. 数据库 数据库是一个物理容器集合.每个数据库都有自己的一套文件系统上的文件.一个单一的MongoDB服务器通常有多个数据库. 集 ...

  4. 30分钟让你了解MongoDB基本操作(转)

    今天记录下MongoDB的基本操作,这只是最基本的,所以是应该掌握的. 数据库 数据库是一个物理容器集合.每个数据库都有自己的一套文件系统上的文件.一个单一的MongoDB服务器通常有多个数据库. 集 ...

  5. 十分钟搞定mongodb副本集

    mongodb副本集配置 最近项目中用到了mongodb,由于是用mongodb来记录一些程序的日志信息和日常的统计,为了增加应用的可靠性,一直在找mongodb集群的一些资料,下面是对最近做的一个小 ...

  6. 【MongoDb入门】15分钟让你敢说自己会用MongoDB了

    一.MongDB是什么呢,我该如何下手呢? MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. 如果小伙伴你的机器上还没有安装Mon ...

  7. 5分钟掌握智联招聘网站爬取并保存到MongoDB数据库

    前言 本次主题分两篇文章来介绍: 一.数据采集 二.数据分析 第一篇先来介绍数据采集,即用python爬取网站数据. 1 运行环境和python库 先说下运行环境: python3.5 windows ...

  8. mongoDB系列之(一):10分钟玩转mongoDB

    1. mongoDB是什麽 mongodb是时下流行的NoSql数据库,它的存储方式是文档式存储,并不是Key-Value形式. 存储在集合中的文档,被存储为键-值对的形式.键用于唯一标识一个文档,为 ...

  9. MongoDB数据库 5分钟快速上手

    安装 本次安装使用docker镜像,安装无障碍,一行命令即可解决 # 安装镜像并启动 可以自行修改命令中的参数 ## 账户 tanoak 密码 123123 ## -p 27018:27017 映射端 ...

随机推荐

  1. Visual Studio for Mac 使用笔记

    无法打开控制台运行程序 Project -> Project Options -> Run -> Configurations -> Default 勾选Run on exte ...

  2. js 监听浏览器刷新还是关闭事件 - 转

    监听页面关闭: window.onbeforeunload = function() { //鼠标相对于用户屏幕的水平位置 - 窗口左上角相对于屏幕左上角的水平位置 = 鼠标在当前窗口上的水平位置 v ...

  3. c#二维码资料

    几个主要的C#二维码开发资料,用于学生的本科毕业论文参考 https://blog.csdn.net/xwnxwn/article/details/72636417 C# ZXing.Net生成二维码 ...

  4. RTX二次开发SDK需要注意的地方

    1.如果是ASP.net二次开发调用的,线程池必须开发 Enable 32-bit Applications设置为true. 因为RTX的调用接口很多是32位的.否则会报一下错误 RootObj =  ...

  5. Java学习01 (第一遍)

    java se - 桌面 java ee - 网页 Jdk :Jre 区别Jdk-开发环境必要Jre-运行环境需要Jdk包含Jre,安装完Jdk就可以了 Javac Demo1.java-Javac ...

  6. shiro中的授权

  7. centos7.x修改网卡名字

    1.编辑/etc/default/grub 加入如下代码 net.ifnames=0 biosdevname=0 2. 在执行以下 grub2-mkconfig  -o /boot/grub2/gru ...

  8. 学JS的心路历程Day28 - PixiJS -基础(二)

    材质暂存(texture cache) 昨天有说到,图片要放入stage前,需要先把图片转成Sprite的特殊图片物件. 但是我们也可以先将图片放进材质暂存(texture cache). 什么是「材 ...

  9. hdu2973-YAPTCHA-(欧拉筛+威尔逊定理+前缀和)

    YAPTCHA Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  10. 弹窗切换page进行关闭

    beforeRouteLeave(to,from,next){ //这里写关闭弹窗 // 这里跳转路由 MessageBox.close(); next() // next()别漏,不然不跳转 }