MongoDB入门
1 MongoDB介绍
1.1 介绍
- MongoDB是一个文档数据库(以JSON为数据类型),由C++进行编写
- MongoDB是一个介于关系和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
- 支持的数据结构为BSON,类似JSON的二进制存储格式,全称Binary JSON
- 原则上Oracle和Mysql能做的事情,MongoDB都能实现(包括ACID事务)
1.2 核心概念
SQL概念 | MongoDB概念 |
---|---|
数据库(database) | 数据库(database) |
表(table) | 集合(collection) |
行(row) | 文档(document) |
列(column) | 字段(filed) |
主键(primary key) | 字段(_id ) |
视图(view) | 视图(view) |
表连接(table joins) | 聚合操作($lookup) |
1.3 技术优势
- 基于灵活的JSON文档模型,非常适合敏捷开发
- (1)拓展容易,无需修改表结构
- (2)对于对象中数组类型的数据,无需额外创建一张表进行关联
- (3)横向拓展简单,轻松支持TB-PB数量级
1.4 应用场景
- (1)游戏:存储用户信息,用户装备、积分等
- (2)物流:存储订单信息,物流信息以内嵌数据形式存储在订单中,一次查询可以获取所有数据
- (3)社交:存储用户信息,以及用户表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能
- (4)物联网:存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度分析
- (5)视频直播:使用MongoDB存储用户信息,礼物等信息
- (6)大数据应用:使用MongoDB作为大数据的云存储系统,随时进行数据提取分析,掌握行业动态