深入了解MongoDB:灵活的文档型数据库与应用案例

什么是MongoDB ?

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。

在高负载的情况下,添加更多的节点,可以保证服务器性能。

MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

主要特点

  • MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
  • 你可以在 MongoDB 记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road") 来实现更快的排序。
  • 你可以通过本地或者网络创建数据镜像,这使得 MongoDB 有更强的扩展性。
  • 如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上,这就是所谓的分片。
  • MongoDB 支持丰富的查询表达式。查询指令使用 JSON 形式的标记,可轻易查询文档中内嵌的对象及数组。
  • ...

历史

  • 2007年10月,MongoDB 由10gen团队所发展。2009年2月首度推出。
  • 2012年05月23日,MongoDB 2.1 开发分支发布了!该版本采用全新架构,包含诸多增强。
  • 2012年06月06日,MongoDB 2.0.6 发布,分布式文档数据库。
  • 2013年04月23日,MongoDB 2.4.3 发布,此版本包括了一些性能优化,功能增强以及 bug 修复。
  • ...

MongoDB 下载

你可以在 MongoDB 官网下载该安装包,地址为:https://www.mongodb.com/download-center#community。MonggoDB 支持以下平台:

  • OS X 32-bit
  • OS X 64-bit
  • Linux 32-bit
  • ...

语言支持

MongoDB 有官方的驱动如下:

  • C
  • C++
  • C# / .NET
  • Erlang
  • ...

MongoDB 工具

有几种可用于 MongoDB 的管理工具。

监控

  • MongoDB 提供了网络和系统监控工具 Munin,它作为一个插件应用于 MongoDB 中。
  • ...

GUI

  • Fang of Mongo -- 网页式,由 Django 和 jQuery 所构成。
  • ...

MongoDB 应用案例

下面列举一些公司 MongoDB 的实际应用:

  • Craiglist上使用MongoDB的存档数十亿条记录。
  • FourSquare,基于位置的社交网站,在Amazon EC2的服务器上使用MongoDB分享数据。
相关推荐
得物技术1 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
可涵不会debug5 小时前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom5 小时前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
麦兜*6 小时前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
Slaughter信仰6 小时前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十章知识点问答(10题)
java·jvm·数据库
麦兜*6 小时前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring
-Xie-6 小时前
Mysql杂志(十六)——缓存池
数据库·mysql·缓存
七夜zippoe6 小时前
缓存与数据库一致性实战手册:从故障修复到架构演进
数据库·缓存·架构
一个天蝎座 白勺 程序猿7 小时前
Apache IoTDB(5):深度解析时序数据库 IoTDB 在 AINode 模式单机和集群的部署与实践
数据库·apache·时序数据库·iotdb·ainode