MongoDB技术架构介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

物联网系统一般需求 高并发写入 海量数据 聚合分析
MongoDB 功能 内存数据库性能, 异步落盘 分片,水平扩展写能力。 Sharding分片 聚合框架,MapReduce。
案例4:美国大都会集团(客户行为分析)
保险营销、客服系 统
大数据分析平 台
MongoDBConnector for Hadoop • • • • • Insurance policies Demographic data Customer web data Call center data Real-time churn detection • 客 户行 为分析 • 流失度 预言 • 客 户标签
个投 票节点可以防止平局的出现,通过多数选票来选举出新的主节点
。由 于投票节点仅提供投票功能,故无需一个专用的物理机。
45
Priority 0节点
Priority0节点的选举优先级为0,不会被选举为Primary。比如你跨 机房A 、B部署了一个复制集,并且想指定Primary必须在1机房,这时 可以将B机房 的复制集成员Priority设置为0,这样Primary就一定会是 A机房的成员。(注意:如果这样部署,最好将大多数节点部署在A机房,否 则网络分区时可能无法选出Primary)。
5
NoSQL的优势
低成本
高可扩展性
高并发:大数据下读写能力较强。
分布式计算 没有复杂的关系 处理海量数据 半结构化存储:半结构化数据
6
NoSQL数据库四大家族
列存储:Hbase
键值(Key-Value)存储:Redis 图像存储:Neo4J 文档存储 :
客户成功计划
24 x 7 支持
监控报警 自动化与配 置
查询优化 备份与恢复
模式可视化 数据挖掘
可视化 分析 报表
On-Demand
在线培训
商业订阅
REST API
加密
Ad-Hoc 查询
平台认证
LDAP & Kerberos
审计
FIPS 140-2
MongoDB企业版服务器
38
MongoDB版本选择
MongoDB技术架构介绍
技术创新,变革未来
目录
MongoDB基本介绍
复制集&分片集
MongoDB加固
2
MongoDB基本介绍
NoSQL简介 MongoDB是什么?
MongoDB的关键特性
GridFS MongoDB体系结构 MongoDB适用场景 MongoDB用户案例 MongoDB版本选择 是否使用MongoDB
15
高性能和丰富的查询语言
高性能
MongoDB提供高性能的数据持久化。尤其是,
支持嵌入式数据模型可减少数据库系统上的I/O活动。
索引支持更快的查询,并且可以包括嵌入式文档和数组的键。
丰富的查询语言
MongoDB支持丰富的查询语言来支持读写操作(CRUD ) 以及,
数据聚合。
文本搜索和地理空间查询。
16
高可用性和数据持久化
MongoDB的复制集(副本集)提供:
自动故障转移。
数据冗余。
数据持久化:
副本集是一组保持相同数据 集的MongoDB服务器,提供 冗余和增加数据可用性。
17
水平可扩展
18
支持多种存储引擎
• MMAPv1存储引擎:<3.2 默认存储引擎是MMAPv1
• WirdeTiger存储引擎:>=3.2 默认存储引擎是WiredTiger
28
MongoDB用户案例
案例1:功案例
某企业方 案 解决 商 IoT 平台方案 - 车联网, 智慧城市,智慧家庭等 - MongoDB用来储存原始时序数据 - 4分片 8个节点 - 每秒数万次写入 德国最大的工具生产厂家 - 联网工具 - Geofencing,状态监控 - 2.5TB data的分析从10个小时到3分钟
360度客户视图 客户全景视图 客户单一视图
MetLife - “The Wall”
项目挑战性
● 70多个业务系统,源自于不同年代。 ● 数亿级付款和赔付记录。 ● 上亿保单记录。
关系型数据库 – 难以继任
● 要求统一的模式: 70多个不同的模式难以合并。 ● 一个表可能需要数百上千个不同字段,很多会是空字段。 ● 处理亿级数据性能欠佳。
12
MongoDB文档支持不同的数据类型
(JSON/BSON支持的数据类型)
13
MongoDB关键特性
高性能
丰富的查询语言 高可用性 水平可扩展性 支持多种存储引擎
14
MongoDB( Nexus 架构)
关系型 非关系型
强大 查询功能
灵活模式
强一致性
扩展性
二 级索引
性能
Relational + NoSQL
从关系型数据库开始…
● 2 年时间 ● 2千多万美元投入后
采用MongoDB后:
● 2 个星期建好原型。 ● 3个月后上线。
MongoDB版本选择
MongoDB高级企业版
MongoDB Ops Manager
MongoDB Compass
MongoDB Connector for BI
紧急补丁
11
BSON 二进制的JSON,JSON文档的二进制编码存储格式。 BSON有JSON没有的数据类型:Date和BinData。 MongoDB中document以BSON形式存放。
> db.meeting.insert({meeting:"SHOUGJune",Date:"2015-0615"});
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
41
复制集的作用
高可用
防止设备(服务器、网络)故障 。 提供自动failover 功能。
灾难恢复
当发生故障时,可以从其他节点恢复。
功能隔离
用于分析、报表,数据挖掘,系统任务等。 用于备份。
42
复制集架构及角色
MongoDB复制集由一组mongod实例(进程)组成,包含一个 Primary节点和多个Secondary节点。
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索引 全文检索 数据压缩 存储限制 表分区
关系型: Oracle, MySQL, PostgreSQL
21
GridFS
MongoDB体系结构
跨平台
Linux、Unix、Mac、Windows 整体架构相同
MongoDB Server
实例、数据库及其对应关系
数据逻辑结构
文档、集合、数据库
数据存储
元数据、实际数据
23
数据逻辑结构
社交场景
使用MongoDB存储存储用户信息,以及用户发表的朋友圈信息,
Hale Waihona Puke 通过地理位置索引实现附近的人、地点等功能。
27
物联网场景
使使用MongoDB存储所有接入的智能设备信息,以及设备汇 报 的日志信息,并对这些信息进行多维度的分析。
视频直播
使用MongoDB存储用户信息、礼物信息等。
。。。
MongoDB
7
DB-Engines Ranking
8
MongoDB是什么?
Not Mango!
Humongous: 巨大
非关系型数据库:没有固定的行列组织模式。 开源:MongoDB是由C++语言编写的,是一个基于分
布式文件存储的开源数据库系统。
文档型数据库:并非word和pdf文档。MongoDB 将数 据存储为一个文档,数据结构由键值(name=>value)对组 成。MongoDB 文档类似于JSON对象。字段值可以包含 其他文档,数组及文档数组。
39
是否使用MongoDB
如果上述有1个 Yes,可以考虑 MongoDB,2个及以上的 Yes, 选择 MongoDB 绝不会后悔!!!
40
复制集基本介绍
复制集的作用 复制集架构及角色 Oplog
复制集数据同步流程
复制集选举
复制集配置
写关注机制 复制集读选项 复制集应用
43
主节点
接收所有来自客户端的写操作,MongoDB Driver(客户端)的所有 数据都写入Primary,Primary通过将所有数据集的变动记录到oplog 中以支持复制的Secondary从Primary同步写入的数据,以保持复制 集 内所有成员存储相同的数据集,提供数据的高可用。 一个复制集只能有一个主节点。由于在一个复制集中只有一个成 员 能够接收写操作,复制集为所有来自主节点的读提供了严格的一 致性 校验 。
46
Hidden节点
Hidden节点不能被选为主(Priority为0),并且对Driver不可见。 因Hidden节点不会接受Driver的请求,可使用Hidden节点做一些数 据备份、离线计算的任务,不会影响复制集的服务。
47
Delayed节点
Delayed节点必须是Hidden节点,并且其数据落后与Primary一段 时间(可配置,比如1个小时)。因Delayed节点的数据比Primary落 后一段时间,当错误或者无效的数据写入Primary时,可通过 Delayed 节点的数据来恢复到之前的时间点。
• 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
副本节点
将主节点上的oplog复制过来并应用这些操作来修改其自己的数
据 集以确保从节点的数据集与主节点的数据集一致。一旦主节点不 可用 了,复制集就会将一个从节点选举成为新的主节点。
44
特殊的副本节点
仲裁节点
仲裁节点(投票节点)中并不包含数据集,投票节点的作用仅仅 是 在选举过程中参与投票。当复制集的成员个数为偶数时,添加一
3
NoSQL简介
NoSQL是什么? NoSQL:非关系型数据库。
NoSQL有时也称作Not Only SQL的缩写,是对不同
于传统的关系型数据库的数据库管理系统的统称。 NoSQL简史 1998年Carlo Strozzi首次提出(不提供SQL功能的关
系型数据库)。
2009年Eric Evans再次提出NoSQL概念。 NoSQL、Relational Database相铺相成。
YES ROW-level YES YES YES YES NO YES
YES
YES 64TB YES
NO
NO 384EB YES
YES
YES NO YES
YES
NO NO YES(分片)
YES
YES NO YES(分片)
存储引擎比较
20
键值型: Redis, Couchbase 文档型:
宽表型: Cassandra, HBase
26
MongoDB实际应用场景举例:
游戏场景
使用MongoDB存储游戏用户信息,用户的装备、积分等直接
以 内嵌文档的形式存储,方便查询、更新。
物流场景
使用MongoDB存储订单信息,订单状态在运送过程中会不断
更 新,以MongoDB内嵌数组的形式来存储,一次查询就能将订单 所 有的变更读取出来。
层次关系
文档(document)、集合(collection)、数据库(database)
层次关系图
24
MongoDB与RDBMS数据结构逻辑对比
25
MongoDB适用场景
移动应用
内容管理
360度信息面板,数据总线
物联网
电商,产品信息
云化方案
实时分析
大数据分析计算 大数据
商情分析
大数据计算
相关文档
最新文档