MongoDB 概念介绍

1、MongoDB 应用场景

传统的关系型数据库,在数据操作的"三高"需求以及应对Web2.0的网站需求面前,显得力不从心。

  • High performance -对数据库高并发读写的需求。
  • Huge Storage -对海量数据的高效率存储和访问的需求。
  • High Scalability && High Availability-对数据库的高可扩展性和高可用性的需求。

而 MongoDB 可应对"三高"需求,具体的应用场景如:

① 社交场景:使用MongoDB存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能。

② 游戏场景:使用MongoDB存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、高效率存储和访问。

③ 物流场景:使用MongoDB存储订单信息,订单状态在运送过程中会不断更新,以MongoDB内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。

④ 物联网场景:使用MongoDB存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析。

⑤ 视频直播:使用MongoDB存储用户信息、点赞互动信息等。

这些应用场景中,数据操作方面的共同特点是:

  • 数据量大
  • 写入操作频繁(读写都很频繁)
  • 价值较低的数据,对事务性要求不高

在架构选型上,除了上述的三个特点外,如果你还犹豫是否要选择它?可以考虑以下的一些问题:

  • 应用不需要事务及复杂join支持
  • 新应用,需求会变,数据模型无法确定,想快速迭代开发应用需要2000-3000以上的读写QPS(更高也可以)
  • 应用需要TB甚至PB级别数据存储
  • 应用发展迅速,需要能快速水平扩展应用要求存储的数据不丢失
  • 应用需要99.999%高可用
  • 应用需要大量的地理位置查询、文本查询
2、MongoDB 体系结构

MongoDB是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,是NoSQL数据库产品中的一种。是最像关系型数据库(MySQL)的非关系型数据库。

它支持的数据结构非常松散,是一种类似于JSON的格式叫BSON,所以它既可以存储比较复杂的数据类型,又相当的灵活。

MongoDB中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结构。MongoDB文档类似于JSON对象,即一个文档认为就是一个对象。字段的数据类型是字符型,它的值除了使用基本的一些类型外,还可以包括其他文档、普通数组和文档数组。

3、MongoDB 数据模型
4、MongoDB 特点

高性能:MongoDB 提供高性能的数据持久化

  • 嵌入式数据模型的支持减少了数据库系统上的 I/O 活动
  • 索引支持更快的查询, 并且可以包含来自嵌入式文档和数组的键 (文本索引解决搜索的需求, TTL 索引解决历史数据自动过期的需求, 地理位置索引可以用于构件各种 O2O 应用)
  • mmapv1, wiredtiger, mongorocks (rocksdb) in-memory 等多引擎支持满足各种场景需求
  • Gridfs 解决文件存储需求

高可用 :MongoDB 的复制工具称作副本集 (replica set) 可以提供自动故障转移和数据冗余

高扩展

  • 水平扩展是其核心功能一部分
  • 分片将数据分布在一组集群的机器上 (海量数据存储, 服务能力水平扩展)
  • MongoDB 支持基于片键 创建数据区域, 在一个平衡的集群当中, MongoDB 将一个区域所覆盖的读写只定向到该区域的那些片

丰富的查询:MongoDB支持丰富的查询语言, 支持读和写操作(CRUD), 比如数据聚合, 文本搜索和地理空间查询等. 无模式(动态模式), 灵活的文档模型

相关推荐
大气层煮月亮36 分钟前
Oracle EBS ERP开发——报表生成Excel标准模板设计
数据库·oracle·excel
云和数据.ChenGuang1 小时前
达梦数据库的命名空间
数据库·oracle
三三木木七1 小时前
mysql拒绝连接
数据库·mysql
蹦跶的小羊羔1 小时前
sql数据库语法
数据库·sql
唐古乌梁海1 小时前
【mysql】InnoDB的聚簇索引和非聚簇索引工作原理
数据库·mysql
我变秃了也没变强1 小时前
pgsql配置密码复杂度策略
数据库·postgresql
PawSQL1 小时前
企业级SQL审核工具PawSQL介绍(1) - 六大核心能力
数据库·sql·oracle
幼稚园的山代王1 小时前
NoSQL介绍
数据库·nosql
猫林老师2 小时前
HarmonyOS线程模型与性能优化实战
数据库·分布式·harmonyos
沃达德软件2 小时前
视频图像数据库基础服务
数据库·图像处理·人工智能·计算机视觉·视觉检测