MongoDB(1)----基础概念

爱⌒轻易说出口 提交于 2020-02-07 21:36:14

在这里插入图片描述

1.什么是MongoDB?

  MongoDB是由C++语言实现的一个基于分布式文件存储的开源数据库。旨在为Web应用提供可扩展的高性能数据存储解决方法。它介于关系型数据库(Sql)和非关系型数据库(NoSql)之间。

2.MongoDB数据存储结构?

  MongoDB将数据存储为一个文档,以键值对的形式(Key:Value结构)作为其数据结构。如下图所示:
在这里插入图片描述

3.MongoDB优缺点?

优点:

1)可以非常方便的为数据建立索引
2)可以通过网络或者本地创建数据镜像 ,使得MongoDB具有更强的扩展性
3)数据面向文档进行存储,操作起来简单
4)不存在Sql注入问题
5)支持大容量的数据存储
6)内置Sharding,分片简单
7)支持故障恢复

缺点:

1)不支持事务
2)复杂的聚合操作通过mapreduce创建,速度慢
3)无法进行关联表查询,不适合关系多的数据、
4)删除数据集合后不会自动释放空间

4.MongoDB的应用场景?

  当传统的关系型数据库无法满足高并发、海量数据存储访问、灵活扩展、等需求的时候,就可以将MongoDB作为一种解决方案。

总结:
1)程序有大量数据存储(TB甚至PB级别)
2)程序发展速度较快,要求具有快速扩展的能力
3)程序需要3000以上的QPS
4)数据模型暂时无法确定
5)数据价值较低,不需要事务支持和复杂的join操作

  如果有以上几点需求,那么MongoDB则是比较好的解决方案。

5.MongoDB常用的数据类型?

数据类型描述
String 字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。
Integer 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。
Boolean 布尔值。用于存储布尔值(真/假)。
Double 双精度浮点值。用于存储浮点值。
Min/Max keys 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
Array 用于将数组或列表或多个值存储为一个键。
Timestamp 时间戳。记录文档修改或添加的具体时间。
Object 用于内嵌文档。
Null 用于创建空值。
Symbol 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。
Date 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。
Object ID 对象 ID。用于创建文档的 ID。  (每个文档都有)
Binary Data 二进制数据。用于存储二进制数据。
Code 代码类型。用于在文档中存储 JavaScript 代码。

下一篇:工厂模式

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!