mongodb简介

起源

在2007年的后期,一家知名的在线广告公司DoubleClick的创始人兼CTO Dwight Merriman希望能够构建一个用于开发、托管并具有自动缩放Web应用程序的在线服务,他发现当时还没有一个开源的数据库平台能够做到,于是他和他的团队花了一年多的时间,构建了MongoDB的原型。

特点

MongoDB 是由C++语言编写的,是一个面向文档的开源数据库系统。它具有如下特点:

  • 易于使用
    MongoDB是一个面向文档的数据库,与关系数据库相比不再有”行”的概念,取而代之的是文档的模型。面向文档的方法能够用一条记录表现复杂的层次关系。另外它没有数据表的预定义,因此根据需要添加删除字段变得容易了。

  • 易于扩展
    MongoDB的设计采用横向扩展,面向文档的数据模型使它能容易的在多台服务器之间进行数据分割。

  • 丰富的功能
    MongoDB作为一款通用型数据库,还提供了索引,聚合,文件存储等功能。

  • 卓越的性能
    MongoDB能对文档进行动态填充,也能预分配数据文件以利用额外的空间来换取稳定的性能。MongoDB把尽可能多的内存用作缓存,试图每次查询自动选择正确的索引。总之MongoDB在各方面的设计都旨在保持它的高性能。

应用场景

mongodb 以其优异的性能和方便简单的特性在很多业务场景中得到了使用,下面举例说明一些常见的场景。

  • 游戏场景,使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新。
  • 物流场景,使用 MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以 MongoDB 内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。
  • 社交场景,使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能。
  • 物联网场景,使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析。

你可能感兴趣的:(mongodb)