MongoDB基础(一):MongoDB简介

MongoDB介绍

MongoDB是一个C++语言编写的开源NoSQL数据库,目的是为Web应用程序提供高性能、高可用性且易于扩展的数据存储解决方案。MongoDB是NoSQL数据库中最热门的一种,是一种文档型数据库,MongoDB易于扩展,表结构自由,高性能。

官网:https://www.mongodb.com/

MongoDB历史

关系型数据库在很长时间里一直是数据库领域当之无愧的王者,例如MySQL,SQL Server和Oracle等,但在信息时代数据量的增大和Web2.0的数据结构复杂化情况下,关系数据库的缺陷也渐渐显露出来:

  • 大数据处理能力差,关系型数据库被设计为单机运行,在海量数据处理方面代价高昂
  • 程序产出效率低,程序开发时总是需要先设计数据库表结构
  • 数据结构变动困难,互联网项目时刻都在发展和改变,但数据库改变一个字段往往牵一发而动全身

为了解决以上问题,NoSQL数据库出现了,这类数据库的主要特点是菲关系型,水平可扩展,分布式与开源,另外他们还具有模式自由,最终一致性等特点,区别于关系型数据库,这类数据库更容易存储海量数据。NoSQL常用的存储模式有key-value形式,文档形式,列形式,图形式,XML形式等,而MongoDB则是这类数据库中的一个代表。

MongoDB数据库是10gen团队于2007年10月开始开发,并与2009年2月首度推出,目的是成为一个灵活,高效,易于扩展,功能完备的数据库。经过这几年的发展,MongoDB已经趋于稳定,更多的公司开始使用MongoDB。

MongoDB特点

  • 数据存储形式为BSON格式,一种类似JSON的形式
  • 面向集合存储,易于存储JSON和对象类型数据
  • 模式自由,一个集合可以存储不同类型的文档
  • 支持动态查询,MongoDB支持以JSON形式的丰富动态查询
  • 完整的索引支持
  • 支持复制和故障恢复
  • 二进制数据存储,MongoDB使用传统的高效二进制存储数据,可以将图片视频等转为二进制存储
  • 自动分片,MongoDB支持自动分片,水平扩展
  • 支持多种语言,C,C++,Python,Java,JS等

MongoDB应用

由于MongoDB可水平扩展和最终一致性的特性,因此适合以下场景:

  • 海量,低价值的数据(允许一定丢失,例如日志等)
  • 高伸缩性场景
  • 用于对象和JSON数据的存储
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值