- 1、本文档共69页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Mongodb分享李响2015-07-17主要内容1. 背景2. MongoDB入门3. 索引4. 复制5. 分片6. 管理与监控7. 使用优化案例1.背景1.1 从集中式到分布式1.2 从sql到nosql1.3 分布式一致性问题1.4 CAP和BASE理论1.1 从集中式到分布式集中式的问题:计算、存储能力瓶颈单点问题分布式的问题:通信异常网络分区三态节点故障一致性1.2 从SQL到NoSQLSQL建立在严格的关系模型基础之上,通常支持复杂的事务操作,提供严格的数据一致性、完整性约束,并且支持关联查询等。复杂事务,关联查询等特性影响读写性能,同时限制了关系型数据库的分布式扩展能力。NoSQLnon-relationalnot only sql是对SQL的补充:高并发读写海量数据高可扩展和高可用性还无法替代SQL:复杂事务,严格的一致性读写实时性join与SQL不同,NoSQL没有统一的标准,种类繁多(key-value,列式,文档,图),根据业务选择适合的1.3 分布式一致性问题强一致性弱一致性…最终一致性鱼和熊掌:分布式系统中数据一致性和系统性能之间的关系1.4 CAP和BASE理论CAPC:ConsistencyA:AvailabilityP:Partition?tolerance分布式系统中,P是基础,所以 一般只能在C、A之间进行取舍。MongoDB处于哪一部分?BASEBasically?Available,Soft?state,Eventually?consistent2.MongoDB入门2.1 什么是MongoDB2.2 存储引擎与版本选择2.3 mongo shell2.4 mongodb数据模型2.5 数据类型2.6 bson2.7 GridFS2.8 模式设计2.9 CRUD2.1 什么是MongoDBMongoDB是面向文档的,无模式(schema-less)的,支持二级索引,支持冗余、自动故障转移,支持数据分片、负载均衡,易扩展,能为海量数据提供支撑的非关系型数据库。MongoDB不支持跨多个文档的复杂事务,但保证单文档操作原子性。MongoDB不支持联接(join)。MongoDB不支持MVCC(3.x wiredTiger引擎支持)。2.2 存储引擎版本2.8(3.0)开始支持插件式存储引擎MMAPv1WiredTiger(since 3.0)2.2 存储引擎-MMAPv1(1)读写锁不支持MVCCVersion 2.2 : 只支持进程级锁,一个Mongod实例一个锁。2.2 ≤ Version 2.8 : 支持库级锁,一个db一把锁。3.0.0 ≤ Version支持 collection 级别的锁。内存内存映射文件交由操作系统管理,不能 手动配置管理无强制内存量要求缓存索引、热数据等2.2 存储引擎-MMAPv1(2)Journal日志Journal日志,是MongoDB的预写日志WAL(类似Mysql的Redo log)。因为Journal日志文件是磁盘上连续分配的空间,MongoDB在运行时通过顺序追加的方式记录,通过顺序IO来改善写性能。同时,后台会定时刷写Journal日志文件以将写操作持久化到数据文件。通过这种两次写的方式,当Mongodb因为一次非正常退出(比如崩溃),重启mongod进程后会根据journal下的文件来恢复数据以达到数据一致,防止数据丢失。同时,一次正常的退出时MongoDB会刷写并删除journal目录下所有文件。journal除了故障恢复的作用之外,还可以提高写入的性能,通过批量提交(batch-commit)的方式减少IO次数,一般默认100ms刷新一次到journal,可通过下面参数修改:mitIntervalMs值越低,刷新输出频率越高,journal的持久性也就越高(故障意外情况下丢失的数据越少),但同时意味着更多的磁盘IO。2.0以上版本默认开启的,可以通过nojournal = true 或--nojournal关闭,但建议开启。Journal文件是以“j._”开头命名的,且是append only的,如果1个journal文件满了1G大小,mongodb就会新创建一个journal文件来使用,一旦某个journal文件所记载的写操作都被使用过了,mongodb就会把这个journal文件删除。通常在journal文件所在的文件夹下,只会存在2~3个journal文件,除非你使用mongodb每秒都写入大量的数据。使用 smallfiles 这个运行时选项可以将journal文件大小减至128M大小。2.2 存储引擎-MMAPv1(3)数据文件每个db有1个.ns(namespace)和若干个数据文件(.n)构成数据文件随着数据的增多而增
您可能关注的文档
- Miss Zou女人的魅力和资本.ppt
- ME-C培训.ppt
- MFC设计模式.doc
- MODBUS TCP.pptx
- Microsoft Dynamics CRM大客户销售管理解决方案.pptx
- midas GTS NX 地铁、隧道专题.pptx
- mosfet负反馈放大电路(二).doc
- MPLS VPN基础课件.ppt
- MR原理与伪影.ppt
- MTK手机基带工作原理.ppt
- 安全生产考核奖惩制度3篇.doc
- 颅脑损伤病人的护理查房【优质公开课】精品PPT课件模板.pptx
- 二零二二年度德州继续教育公需科目《公共事务管理与服务能力》试题及答案.pdf
- 二零二二年度党风廉政建设知识竞赛题库(含答案).pdf
- 二零二二年度度枣庄市专业技术人员继续教育公需科目培训班互动题.pdf
- 二零二二年度儿童保健学试题库(含答案).pdf
- 二零二二年度第十九届中国东南地区数学奥林匹克竞赛高一试题(含答案).pdf
- 二零二二年度动物卫生监督题库(含答案).pdf
- 黑龙江省大庆市重点中学2023-2025学年高一下学期2月开学考试英语试题(含解析).docx
- 二零二二年度法检书记员招考《公基》测试题库(含答案).pdf
文档评论(0)