MongoDB入门!是什么?有什么优点?什么时候选用?

MongoDB 入门

1. MongoDB 是什么

MongoDB是一种强大、灵活、且易于拓展的通用型数据库。
它是一种面向文档的数据库,是最著名的NoSql(非关系型)数据库之一

2.MongoDB 有什么特点

  1. 易于使用
    MongoDB是一种面向文档的数据库,不再有关系型数据库中“行(Row)”的概念,取而代之的是“文档(Document)”,通过在文档中嵌套文档,可以表现更加复杂的数据。
    另外,MongoDB不再有预定义模式,文档的键(Key)和值(Value)不再被约束成固定的大小和类型,而是可以变化的,非常容易使用。

  2. 易于拓展
    数据库拓展分为横向拓展和纵向拓展两种,纵向拓展简单来说就是采用更强的计算机,以应对更大的负载;横向拓展简单来说就是采用更多的计算机,通过分摊负载来应对更大的负载。纵向扩展很简单,但是成本高昂且有上限,
    相对而言,横向扩展更加灵活。
    MongoDB的设计采用横向扩展的方式,面向文档使得它更加容易在多台机器之间进行数据分割。另外,MongoDB能够自动处理跨集群的数据和负载,自动重新分配文档,以及将用户的请求路由转发到正确的机器上

  3. 丰富的功能
    除了CRUD(增删改查)外,MongoDB还支持索引(Index)、聚合(aggregation)、特殊的集合类型、文件存储等。

  4. 卓越的性能
    MongoDB的一个主要设计目标就是高性能,MongoDB能对文件进行动态填充,也能预分配数据文件以利用额外的空间来换取稳定的性能。

3. 什么时候选用MongoDB

(1)超大的数据量。
(2)高频率的读写操作。
(3)价值较低的数据,对事务性要求不高。
(4)灵活的“表结构”。
在架构选型上,除了上述的三个特点外,如果你还犹豫是否要选择它?可以考虑以下的一些问题:

  • 应用不需要事务及复杂 join 支持
  • 新应用,需求会变,数据模型无法确定,想快速迭代开发
  • 应用需要2000-3000以上的读写QPS(更高也可以)
  • 应用需要TB甚至 PB 级别数据存储
  • 应用发展迅速,需要能快速水平扩展
  • 应用要求存储的数据不丢失
  • 应用需要99.999%高可用
  • 应用需要大量的地理位置查询、文本查询
    如果上述有1个符合,可以考虑 MongoDB,2个及以上的符合,选择 MongoDB 绝不会后悔。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值