MongoDB技术架构介绍
3
NoSQL简介
NoSQL是什么? NoSQL:非关系型数据库。
NoSQL有时也称作Not Only SQL的缩写,是对不同
于传统的关系型数据库的数据库管理系统的统称。 NoSQL简史 1998年Carlo Strozzi首次提出(不提供SQL功能的关
系型数据库)。
2009年Eric Evans再次提出NoSQL概念。 NoSQL、Relational Database相铺相成。
15
高性能和丰富的查询语言
高性能
MongoDB提供高性能的数据持久化。尤其是,
支持嵌入式数据模型可减少数据库系统上的I/O活动。
索引支持更快的查询,并且可以包括嵌入式文档和数组的键。
丰富的查询语言
MongoDB支持丰富的查询语言来支持读写操作(CRUD ) 以及,
数据聚合。
文本搜索和地理空间查询。
YES ROW-level YES YES YES YES NO YES
YES
YES 64TB YES
NO
NO 384EB YESO NO YES(分片)
YES
YES NO YES(分片)
存储引擎比较
20
键值型: Redis, Couchbase 文档型:
宽表型: Cassandra, HBase
11
BSON 二进制的JSON,JSON文档的二进制编码存储格式。 BSON有JSON没有的数据类型:Date和BinData。 MongoDB中document以BSON形式存放。
> db.meeting.insert({meeting:"SHOUGJune",Date:"2015-0615"});
层次关系
文档(document)、集合(collection)、数据库(database)
层次关系图
24
MongoDB与RDBMS数据结构逻辑对比
12
MongoDB文档支持不同的数据类型
(JSON/BSON支持的数据类型)
13
MongoDB关键特性
高性能
丰富的查询语言 高可用性 水平可扩展性 支持多种存储引擎
14
MongoDB( Nexus 架构)
关系型 非关系型
强大 查询功能
灵活模式
强一致性
扩展性
二 级索引
性能
Relational + NoSQL
MongoDB MMAPv1 NO Collection-level YES NO YES NO YES YES
MongoDB WiredTiger NO Document-level YES NO YES NO YES YES
事务
锁粒度 Geospatial MVCC Replication 外键 数据库集群 B-TREE索引 全文检索 数据压缩 存储限制 表分区
MongoDB技术架构介绍
技术创新,变革未来
目录
MongoDB基本介绍
复制集&分片集
MongoDB加固
2
MongoDB基本介绍
NoSQL简介 MongoDB是什么?
MongoDB的关键特性
GridFS MongoDB体系结构 MongoDB适用场景 MongoDB用户案例 MongoDB版本选择 是否使用MongoDB
16
高可用性和数据持久化
MongoDB的复制集(副本集)提供:
自动故障转移。
数据冗余。
数据持久化:
副本集是一组保持相同数据 集的MongoDB服务器,提供 冗余和增加数据可用性。
17
水平可扩展
18
支持多种存储引擎
• MMAPv1存储引擎:<3.2 默认存储引擎是MMAPv1
• WirdeTiger存储引擎:>=3.2 默认存储引擎是WiredTiger
MongoDB
7
DB-Engines Ranking
8
MongoDB是什么?
Not Mango!
Humongous: 巨大
非关系型数据库:没有固定的行列组织模式。 开源:MongoDB是由C++语言编写的,是一个基于分
布式文件存储的开源数据库系统。
文档型数据库:并非word和pdf文档。MongoDB 将数 据存储为一个文档,数据结构由键值(name=>value)对组 成。MongoDB 文档类似于JSON对象。字段值可以包含 其他文档,数组及文档数组。
5
NoSQL的优势
低成本
高可扩展性
高并发:大数据下读写能力较强。
分布式计算 没有复杂的关系 处理海量数据 半结构化存储:半结构化数据
6
NoSQL数据库四大家族
列存储:Hbase
键值(Key-Value)存储:Redis 图像存储:Neo4J 文档存储 :
10
MongoDB和JSON
JSON JSON:JavaScript Object Notation(JavaScript对象表
示法)。
JSON:是存储和交换文本信息的语法。类似 XML。 JSON数据库语句可以容易被解析。 Web 应用大量使用。 NAME-VALUE 配对。 MongoDB第一版支持。
4
为什么使用NoSQL? • 90% of the world’s data was created in the last two years • 80% of enterprise data is unstructured • Unstructured data growing 2x faster than structured
关系型: Oracle, MySQL, PostgreSQL
21
GridFS
MongoDB体系结构
跨平台
Linux、Unix、Mac、Windows 整体架构相同
MongoDB Server
实例、数据库及其对应关系
数据逻辑结构
文档、集合、数据库
数据存储
元数据、实际数据
23
数据逻辑结构
• In-Memory存储引擎:Changed in version 3.2.6
19
MySQL InnoDB
MySQL NDB YES ROW-level YES NO YES YES(From 7.3) YES YES
Oracle YES ROW-level YES YES YES YES YES YES