MongoDB

MongoDB简介

   MongoDB时一个高性能,开源,无模式的文档型数据库,时当前NoSQL数据库中比较热门的一种。它在需要场景下可用于替代传统的关系型数据库或键/值存储方式

   传统的关系性数据库一般由数据库(database),表(table),记录(record)三个层次概念组成,MongoDB则是由数据库(database),集合(collection),文档对象(document)三个层次组成,MongoDB对应关系型数据库中的表,但是集合中没有列,行和关系的概念,这体现了模式自由的特点

MongoDB的特点

    高性能,易部署,易是哟个,存储数据非常方便

MongoDB的功能

  • 面向集合的存储:适合存储对象及JSON形式的存储
  • 模式自由
  • 动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组
  • 完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划
  • 查询监视:Mongo包含一个监视工具,用于分析数据库操作的性能
  • 复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标时提供冗余及自动故障转移
  • 高效的传统存储方式:支持二进制数据及大型对象(如图片)
  • 自动分片及支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器
  • 自动处理碎片,以及支持云计算层次的扩展性
  • 支持Phthon,PHP,Ruby,C,C#,Javascript,Perl及C++语言的驱动程序,社区中也提供了对Erlang及.NET等平台的驱动程序
  • 支持存储格式为BSON(一种jJSON的扩展)
  • 可通过网络访问
  • 支持完全索引,包含内部对象

MongoDB的适用场合

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏漏斗社区

工具|NESSUS的高级扫描方法

开篇之时,斗哥就想问你一句,上周的NESSUS基础扫描任务的创建方法6不6 ?不知各位小伙伴们装进心窝了没?!这周斗哥经过深思熟虑,最终慎重决定将NESSUS的...

9556
来自专栏北京马哥教育

【MySQL拾遗】mysql主从复制以及扩展

一、MySQL简单复制相关概念: mysql复制的意义:Mysql复制是使得mysql完成高性能应用的前提 mysql复制的机制: SLAVE端线程: ...

3574
来自专栏desperate633

TCP/IP之网络层服务网络层服务虚电路网络数据报网络数据报网络与虚电路网络的对比

网络层提供的服务是,主机与主机的数据传输。发送主机向接收主机发送数据段( segment)。首先,发送主机将来自传输层的数据段封装到数据报中,然后传输给接收主机...

871
来自专栏鸿的学习笔记

关于数据库的一些学习笔记

一、锁、并发 一个很有趣的事实:容易理解的模型性能都不好,性能好的模型都不容易理解。(性能好,这就意味着锁的颗粒度很少,这样就需要更多的细节) 事务单元: 一个...

962
来自专栏魏艾斯博客www.vpsss.net

域名 A 记录和 CNAME 记录区别在哪?如何选择?

经常会有网友做域名解析的时候问:域名 A 记录和 CNAME 记录区别在哪?什么是 A 记录,什么是 CNAME 记录,如何选择等等,对于新手来说搞不清楚这两个...

4.1K1
来自专栏iOS开发攻城狮的集散地

Core Data /FMDB/SQLite/

2196
来自专栏JetpropelledSnake

Linux学习笔记之Linux计划任务Crontab

cron 是 UNIX, SOLARIS,LINUX 下的一个十分有用的工具。通过 cron 脚本能使计划任务定期地在系统后台自动运行。

1872
来自专栏吴伟祥

Maven与nexus 转

开始在使用Maven时,总是会听到nexus这个词,一会儿maven,一会儿nexus,当时很是困惑,nexus是什么呢,为什么它总是和maven一起被提到呢?

1684
来自专栏小特工作室

WinForm中ClickOnce发布至广域网

  ClickOnce智能客户端,是微软提供比较早的一项技术,用于实现WinForm开发的应用程序能够自动更新,省去给每台客户端升级带来的困扰。   从网上的贴...

2637
来自专栏Laoqi's Linux运维专列

nginx keepalive_timeout 设置策略问题分析

3007

扫码关注云+社区

领取腾讯云代金券