Loading

MongoDB简介及部署

一、什么是MongoDB

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

RDBMS——传统NoSQL

MongoDB特性

MongoDB的设计哲学

MongoDB与RDBMS存储结构

MongoDB与RDBMS最大的区别在于:没有固定的行列组织数据结构

MongoDB数据存储格式——JSON

JSON
——MongoDB 使用JSON(JavaScript ObjectNotation)文档存储记录。
——JSON数据库语句可以容易被解析
——Web 应用大量使用
——NAME-VALUE 配对
{
product: “car”, 
brand: “Benz”,
color: “blue”
 } 

MongoDB数据存储格式——BSON

BSON
——二进制的JSON,JSON文档的二进制编码存储格式
——BSON有JSON没有的Date和BinData
——MongoDB中document以BSON形式存放

> db.meeting.insert({meeting:“M1 June",Date:"2017-06-15"}); 
灵活的数据格式
——文档里嵌入文档里嵌入文档里嵌入文档…

{
_id: ObjectID("1"),
username: “Silence”,
regDate: “10-10-2015”,
scores: {
math: "80",
english: "200"
}
}
文档里嵌入了文档


{
_id: ObjectID("1"),
username: “Silence”,
regDate: “10-10-2015”,
scores: {
math: "80",
english: "200"
}
Attr:[“a1”,”a2”]
}
一个KEY对应一个数组

丰富的功能

JSON 文档模型
动态的数据模式
二级索引强大
查询功能
自动分片
水平扩展
自动复制
高可用
文本搜索
企业级安全
聚合框架MapReduce
大文件存储GridFS

水平扩展

支持多种存储引擎

存储引擎对比

数据逻辑结构

层次关系
——文档(document)
——集合(collection)
——数据库(database)
层次关系图

 

MongoDB与RDBMS数据结构逻辑对比

MongoDB适用场景

网站数据
缓存
大尺寸、低价值的数据
高伸缩性的场景
用于对象及JSON数据的存储

 

posted @ 2018-07-18 21:47  KubeSec  阅读(565)  评论(0编辑  收藏  举报