1 / 40
文档名称:

MongoDB介绍.pptx

格式:pptx   大小:1,780KB   页数:40页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MongoDB介绍.pptx

上传人:892629196 2017/12/3 文件大小:1.74 MB

下载得到文件列表

MongoDB介绍.pptx

文档介绍

文档介绍:MongoDB简介
Agenda
MogoDB 介绍
1
MogoDB安装
2
MogoDB功能
3
MogoDB应用示例
4
MogoDB 介绍

MongoDB简介
MongoDB特性
MongoDB逻辑结构

MongoDB物理结构
Agenda
1
MongoDB 是一个可扩展、高性能、开源,无模式的文档型数据库
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的
它支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型
Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
传统的关系数据库一般由数据库(database)
、表(table)、记录(record)三个层次
概念组成,MongoDB是由数据库(database)
、集合(collection)、文档对象(document)
三个层次组成。MongoDB中没有列、行和关系
概念,这体现了模式自由的特点
MongoDB简介
MongoDB特性
高性能、易部署、易使用,存储数据非常方便。主要功能特性有:
面向集合存储,易存储对象类型的数据。
模式自由。
支持动态查询。
支持完全索引,包含内部对象。
支持查询。
支持复制和故障恢复。
使用高效的二进制数据存储,包括大型对象(如视频等)。
自动处理碎片,以支持云计算层次的扩展性。
支持JAVA,C++,PHP,C#等多种语言。
文件存储格式为BSON(一种JSON的扩展)。
可通过网络访问。
MongoDB特点
面向集合的存储:适合存储对象及JSON 形式的数据
动态查询:MongoDB 支持丰富的查询表达式。查询指令使用JSON 形式的标记,可轻易查询文档中内嵌的对象及数组
完整的索引支持:包括文档内嵌对象及数组。MongoDB 的查询优化器会分析查询表达式,并生成一个高效的查询计划
复制及自动故障转移:MongoDB 数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移
高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)
自动分片以支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器
MongoDB逻辑结构
MongoDB 的逻辑结构是一种层次结构。主要由:文档(document)、集合(collection)、数据库(database)这三部分组成的
MongoDB 的文档(document),相当于关系数据库中的一行记录。
多个文档组成一个集合(collection),相当于关系数据库的表。
多个集合(collection),逻辑上组织在一起,就是数据库(database)。
一个MongoDB 实例支持多个数据库(database)。



数据库1
数据库N
数据库T
集合1
集合N
文档1
文档N
文档1
文档N
实例 1
MongoDB逻辑结构
文档(Document)是MongoDB的核心概念
有序的键值对{key,value}
各个键值对的数据类型可以不一样。Key是唯一的,且只能是字符串
类型敏感和大小写敏感
每个文档都有一个特别的Key:”_ID”,相当于ROWID
集合(Collection)
一组文档,相当于表
无schema,表示在一个集合中,可以有无数不同形状的文档。即key也可以完全不同。
数据库(Database)
很多集合形成一个数据库
一个实例可以host多个数据库
每个数据库存放在单独的文件中
一个文档的举例:
MongoDB物理结构
MongoDB 的默认数据目录是/data/db,它负责存储所有的MongoDB 的数据文件。
文件和一些数据文件,而且这些数据文件会随着数据量的增加而变得越来越多。
有预分配空间的机制,每个预分配的文件都用0 进行填充,基于此MongoDB 始终保持额外的空间和空余的数据文件
数据库的每张表都对应一个命名空间,每个索引也有对应的命名空间。这些命名空间的元数据都集中在*.ns 文件中
MongoDB数据类型
null
布尔:ture|false
整数:123
浮点:
字符串:“hello world”
对象ID:用 new ObjectId()来申明。
日期:用 new Date()来申明
时间戳
数组:[“apple”,”blanan”,”pear”]
内嵌文档:{“username”: “jone”, “age”