• 1. mongodb介绍新业务部 陈华 2015-04-02
  • 2. 大纲什么是Mongodb 主要特性 与关系型数据库的差异 3.0版本的新特性 适用场景
  • 3. NoSql 产品Key-Value类型:Redis ,Oracle BDB 列存储类型:HBase 文档型:MongoDb 图像数据库:InfoGrid,Neo4J
  • 4. 什么是Mongodb?NoSql领域的典型代表 NoSQL(NoSQL = Not Only SQL ) 由C++语言开发 (OO思想)面向对象的思想实现 文档型数据库 开源数据库
  • 5. 表格?集合文档(document)替代 "行" (row), "collection" 替代 " table"
  • 6. document >>>>> Collection
  • 7. 主要特性丰富的数据类型 丰富的功能 容易扩展 便于管理
  • 8. 数据类型丰富的数据类型 null,布尔,整数,浮点数日期,字符串,正则表达式,代码(js) 二进制数据,数组,内嵌文档 _id 或者ObjectId :文档的唯一ID 注意:单个文档的最大为16M
  • 9. 主要功能 丰富的功能 索引功能 Js替代存储过程 聚合函数:MapReduce ,聚合函数(count,distinct,group) 文件存储:图像文件 提供备份恢复等日常功能 提供性能监控等工具
  • 10. 容易扩展 大型机非常昂贵,一旦达到极限花在多钱也没法买到更好的机器 而买一台普通的机器加入集群则非常廉价 主从复制,副本集,分片 三种模式
  • 11. 关于副本集(Replica Set) 没有固定的 ”master “ 异常时内部的选举机制 一个副本集可以最多支持12个成员,但是只有7个成员可以参与投票
  • 12. sharding 自动分片 将集合切分成若干的小块,每块分散在不同的片里 通过mongos 路由进程负责协调数据和片的对应关系 数据被分片后会自动备份两份(一般未非同一机架上)
  • 13. 简便的管理 如果主服务器挂掉,Mongodb会自动切换到备份服务器上,并且将备份服务器提升为活跃服务器 分布式环境下,自动集成和配置新节点
  • 14. 弱事物型 缺点??? getLastError() 锁机制 2.6版本以前对文档的修改需要锁整个库(db级别的锁)
  • 15. 主要进程 windows 版本:251M, 13个主要进程
  • 16. Query
  • 17. Query查询机制第一次查询 : 加载到内存 后续查询 :从内存读取
  • 18. Data Modification
  • 19. like Sql?
  • 20. update
  • 21. remove
  • 22. JoinMongodb是否可以写Join操作?????? 很遗憾,不行 有商业机构专门实现此驱动,但收费
  • 23. 一些内部实现 BSON (Binary JSON):文档是个抽象的概念 通讯协议:在TCP/IP上简单封装 数据文件:一个库多个文件,依次倍增,最大2GB 不能控制写入到磁盘的顺序,新版本在研发
  • 24. 与关系型数据库的差异
  • 25. mongodb3.0 新特性
  • 26. 主要改进降低运营开销高达95% 支持WiredTrger 存储引擎 多达50副本集成员的全局分销 7-10倍更好地写入性能 减少高达80%的存储与压缩 插件式存储引擎API :第三方的存储引擎厂商加入Mongodb提供了方便
  • 27. WiredTiger存储引擎WiredTiger通过多版本控制(MVCC)实现了文档锁 压缩 内存可配置 通过wiredTiger.engineConfig.cacheSizeGB参数可以配置运行时MongoDB内存使用大小,默认为物理内存的一半
  • 28. 一些建议建议使用64位版本 :32位版本只能存储2GB左右的数据 数据以BSON形式存储在文档中,将文档控制在16 MB以内 要确保写入正确,建议用户使用getLastError 一个设计良好的schema能够让MongoDB的性能达到最佳 MongoDB默认情况下是区分大小写的 建议用户确保输入正确的数据类型 Replica Set的选举机制,必须保证Replica Set成员数目为奇数 MongoDB中不存在join,可以考虑重新设计MongoDB的schema
  • 29. 使用场景对事物的要求? 对锁的要求? 访问量? 数据量? 后期的扩展型要求?
  • 30. The End!3Q