MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。在这里我们有必要先简单介绍一下非关系型数据库(NoSQL)
1 什么是NoSQL
NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
2 关系型数据库 PK 非关系型数据库
| 关系型数据库 | NoSQL数据库 |
|---|---|
| 高度组织化结构化数据 | 代表着不仅仅是SQL |
| 结构化查询语言(SQL) | 没有声明性查询语言 |
| 数据和关系都存储在单独的表中 | 没有预定义的模式 |
| 数据操作语言,数据定义语言 | 键-值对存储,列存储,文档存储,图形数据库 |
| 严格的一致性 | 最终一致性,而非ACID属性 |
| 基础事务 | 非结构化和不可预知的数据 |
| CAP定理 | |
| 高性能,高可用性和可伸缩性 |
3 NoSQL数据库分类
| 类型 | 典型代表 | 特点 |
|---|---|---|
| 列存储 | Hbase Cassandra Hypertable |
顾名思义,是按照列存储数据的。最大的特点是方便存储结构化和半结构化的数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势 |
| 文档存储 | MongoDB CounchDB |
文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。 |
| Key-value存储 | Tokyo Cabinet/Tyrant Berkelery DB Memcache Redis |
可以通过key快速查询到其value。一般来说,存储不管value的格 |

本文介绍了MongoDB的基本概念,包括NoSQL数据库的定义和与关系型数据库的对比,CAP理论,以及MongoDB的数据结构。还详细阐述了MongoDB的适用和不适用场景,如实时数据存储、数据缓存等。最后,提供了MongoDB在Windows和Linux环境下的安装步骤,以及如何使用Studio3T客户端。
最低0.47元/天 解锁文章
2473

被折叠的 条评论
为什么被折叠?



