`

初识MongoDB

 
阅读更多

MongoDB是什么

MongoDB的名字源自一个形容词humongous(巨大无比的),使用C++开发,是一个高性能(high-performance),可扩展(scalable),开源(open source)的文档型存储(document-Oriented Storage)的NoSQL数据库,它扩展了关系型数据库的众多功能,如辅助索引,范围查询和排序, MongoDB的功能非常丰富,比如内置的对MapReduce式聚合的支持,以及对地理空间索引的支持。

 

MongoDB的关键特性有哪些

1.丰富的数据类型

[1].MongoDB是面向文档的数据库, 不是关系型数据库, 放弃关系型数据库的主要原因是为了获取更加方便的扩展性, 基本思路就是将原来的行的换成了更加灵活的“文档”(document)模型,面向文档的方式可以将文档或数组内嵌起来,所以一条记录就可以表示非常复杂的层次关系, 使用面向对象语言的开发者恰恰这么看待数据, 所以非常自然。

 

[2].MongoDB没有模式,文档的键不会事先定义也不会固定不变, 由于没有模式需要更改,通常不需要迁移大量数据,不必将所有数据都放到一个模子里面, 应用层可以出来新增或丢失的键,这样开发者可以非常容易的更改数据类型。

 

2.容易扩展

[1].MongoDB从最初设计时就考虑了扩展问题, 它所采用的面向文档的数据模型使其可以自动在多台服务器之间分割数据, 它还可以平衡集群的数据和负载,自动重排文档, 这样开发者就可以专注于编写应用, 而不是考虑如何扩展,要是需要更大得容量, 只需在集群中添加新机器即可。

 

3.丰富的功能

[1].索引

  • MongoDB支持通用辅助索引, 能进行多种快速查询, 能提供唯一的,复合和地理空间索引能力。

[2].存储JavaScript

  • 开发人员不必使用存储过程了, 可以直接在服务器端存储javascript的函数和值了

[3].聚合

  • MongoDB支持MapReduce和其他聚合工具。

[4].固定集合

  • 集合的大小是有上限的,这对某些类型的数据(比如日志)特别有用。

[5].文件存储

  • MongoDB支持用一种容易使用的协议存储大型文件和文件的元数据。

4.不牺牲速度

  • 卓越的性能是MongoDB的主要目标, 也极大的影响了设计上的很多决定, MongoDB使用MongoDB传输协议作为与服务器交互的主要方式(与之对应的协议需要更多的开销,比如http/rest),它对文档进行动态填充, 预分配数据文件,用空间换取性能的稳定, 默认的存储引擎使用了内存映射文件, 将内存管理工作交给操作系统去完成, 动态查询优化器会“记住”执行查询的最高效的方式。

MongoDB的使用场景是什么

  • [1].Mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
  • [2].缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源 过载。
  • [3].大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
  • [4].高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库。Mongo的路线图中已经包含对MapReduce引擎的内置支持。
  • [5].用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询。
分享到:
评论

相关推荐

    Educoder的实训项目MongoDB代码.TXT

    Educoder实训项目MongoDB类项目的全部代码,项目发布人是国防科技大学的,亲测一个个通过

    MongoDB课件ppt大全1-12章节

    第1章 初识MongoDB.pptx 第2章 MongoDB的结构.pptx 第3章 MongoDB基本操作.pptx 第4章 数据外部管理工具.pptx 第5章 监控.pptx 第6章 安全和访问控制.pptx 第7章 数据管理.pptx 第8章 MongoDB 驱动.pptx 第9章 ...

    MongoDB入门学习

    对于新解除mongoDB数据的人来说,是一个很简单很有效的讲解,便于对mongoDB的初步认识和简单使用。

    深入云计算 MongoDB管理与开发实战详解pdf.part1

    1.5 初识MongoDB 1.5.1 MongoDB的特点 1.5.2 数据模型 1.5.3 扩展性 1.5.4 功能性 1.5.5 速度快 1.5.6 简便的管理 1.5.7 使用场合 1.6 本章小结 第2章 MongoDB基本原理与安装 2.1 数据库...

    Mongodb入门学习

    Mongodb起步书籍,对Mongodb的基本特性有系统的介绍,对初识Mongodb的同学有帮助

    深入云计算 MongoDB管理与开发实战详解pdf.part2

    1.5 初识MongoDB 1.5.1 MongoDB的特点 1.5.2 数据模型 1.5.3 扩展性 1.5.4 功能性 1.5.5 速度快 1.5.6 简便的管理 1.5.7 使用场合 1.6 本章小结 第2章 MongoDB基本原理与安装 2.1 数据库...

    MongoDB初识

    MongoDB入门资料,其中包括简介,语法,关键字等等。它是一种文档导向数据库管理系统,是基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。 其旨在为web应用提供可扩展...

    10天掌握MongoDB——02-初识增删改.pptx

    网鸟出品 本PPT根据《MongoDB: The Definitive Guide》原版制作而成; 如果有任何疑问请通过微博或QQ反馈给我; 网鸟QQ群 刺客巅峰(47700865) NoSQL(23152359)

    《10天掌握MongoDB》2012完整版.pdf[带书签]

    第二天:初识增删改 添加文档 删除文档 更新文档-文档更换1 更新文档-文档替换2 更新文档-UPSERT模式 更新文档-MULTI模式 更新文档-修改器 定位操作符("$")-神马是定位 定位操作符("$")-未知 FINDANDMODIFY-有神马...

    php对mongodb的扩展(初识如故)

    为什么说“初识如故”呢,因为mongodb的数据存储格式是一种由于MongoDB的文档结构为BJSON格式(BJSON全称:BinaryJSON),而BJSON格式本身就支持保存二进制格式的数据,因此可以把文件的二进制格式的数据直接保存到...

    《10天掌握MongoDB》PPTX完整版

    《10天掌握MongoDB》PPTX完整版 01-认识MongoDB 02-初识增删改 03-学会find 04-使用索引 05-聚合操作 06-进阶指南 07-服务器管理 08-MongoDB复制 09-MongoDB分片 10-分享实战经验

    php对mongodb的扩展(小试牛刀)

    好了废话不多说,今天主要说一下php连接、操作mongodb,如果你没有看上两期的内容,不知道如何安装php对mongodb的扩展的话请您返回去看《php对mongodb的扩展(初识如故) 》和《php对mongodb的扩展(初出茅庐)》 。...

    初识Linux内核,进程通信能这么玩 (1).mp4

    内容包括:C/C++,Linux,Nginx,golang,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,ffmpeg,流媒体, 音视频,CDN,P2P,K8S,Docker,Golang,TCP/IP,协程,嵌入式,ARM,DPDK等等。。。

    nosql 入门教程

    2.2.2 初识Thrift 33 2.3 小结 34 第3章 NoSQL接口与交互 36 3.1 没了SQL还剩什么 36 3.1.1 存储和访问数据 37 3.1.2 MongoDB数据存储与访问 37 3.1.3 MongoDB数据查询 41 3.1.4 Redis数据存储与访问 43 ...

    Node.js Web开发实战-(共14章)PPT.rar

    第1章 初识 Node.js.ppt 第2章 Javascript基础.ppt 第3章 Node.js基础入门.ppt 第4章 异步编程与包管理.ppt 第5章 http模块.ppt 第6章 Web开发中的模板引擎.ppt 第7章 Node.js中的文件操作.ppt 第8章 认识express...

    Java思维导图xmind文件+导出图片

    初识分布式架构与意义 如何把应用从单机扩展到分布式 大型分布式架构演进过程 分布式架构设计 主流架构模型-SOA架构和微服务架构 领域驱动设计及业务驱动规划 分布式架构的基本理论CAP、BASE以及其应用 什么...

    无服务器数据库架构介绍.docx

    初识无服务器架构 无服务器架构是云计算的一种运行模型,其含义是由云服务商动态地管理计算资源的分布。我们宝贵的计算资源的消费者本质上讲是函数执行。如果你用基于函数运行所消耗的内存和执行时间(四舍五入到...

    Node与Express开发.pdf

    第 1 章 初识 Express .......................................................................................................................1 1.1 JavaScript 革命 .........................................

Global site tag (gtag.js) - Google Analytics