MongoDB 教学大纲
1. NOSQL历史和产生原因
2 主流的NOSQL介绍 数据库类型 | | | | CouchDB | | 特点:DB一致性,易于使用 使用许可: Apache 协议: HTTP/REST 双向数据复制 持续进行或临时处理 处理时带冲突检查 因此,采用的是master-master复制(见编注2) MVCC - 写操作不阻塞读操作 可保存文件之前的版本 Crash-only(可靠的)设计 需要不时地进行数据压缩 视图:嵌入式 映射/减少 格式化视图:列表显示 支持进行服务器端文档验证 支持认证 根据变化实时更新 支持附件处理 因此,CouchApps(独立的 js应用程序) 需要 jQuery程序库 | 适用于数据变化较少,执行预定义查询,进行数据统计的应用程序。适用于需要提供数据版本支持的应用程序。 如CMS系统,数据统计汇总 | Redis | | 特点:运行异常快 使用许可: BSD 协议:类 Telnet 1. 读写操作异常快 2. 较复杂的数据格式 sets, 链表,hash 3. 事务支持 4. 消息订阅 pub/sub 5. 主从同步复制 6. 硬盘回写 7. 第三方sharding支持 | 适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序
股票价格、数据分析、实时数据搜集、实时通讯 配置下发,全局实时数据 | Mongodb | | 特点:保留了SQL一些友好的特性(查询,索引)。 使用许可: AGPL(发起者: Apache) 协议: Custom, binary( BSON) 1. 支持javascript表达式 2. 硬盘回写 3. 主从复制和集群功能 4. 内建分片机制 5. 较快读写性能 6. 大格式数据支持 7.空数据库大约占 192Mb 8. 事务支持 | 1.大数据量查询和汇总 2.分布式部署,和水平扩展 数据统计汇总 业务数据库,替代Mysql | Neo4j | | 特点:基于关系的图形数据库 使用许可: GPL,其中一些特性使用 AGPL/商业许可 协议: HTTP/REST(或嵌入在 Java中) 1.可独立使用或嵌入到 Java应用程序 2.图形的节点和边都可以带有元数据 3.很好的自带web管理功能 4.使用多种算法支持路径搜索 5.使用键值和关系进行索引 6.支持事务(用 Java api) 7.使用 Gremlin图形遍历语言 8.支持 Groovy脚本 9.支持在线备份,高级监控及高可靠性支持使用 | 适用于图形一类数据。这是 Neo4j与其他nosql数据库的最显著区别 例如:社会关系,公共交通网络,地图及网络拓谱 | HBase | | 特点:支持数十亿行X上百万列 使用许可: Apache 协议:HTTP/REST (支持 Thrift,见编注4) 1. 采用分布式架构 Map/reduce 2. 对实时查询进行优化 3. 高性能 Thrift网关 4. 通过在server端扫描及过滤实现对查询操作预判 5. 支持 XML, Protobuf, 和binary的HTTP 6. 对配置改变和较小的升级都会重新回滚 7. 不会出现单点故障 | 适用于偏好BigTable:)并且需要对大数据进行随机、实时访问的场合 报表,数据挖掘 | Memcache | | | |
Mongodb内部文件和内存管理1) Database 2) Collection 3) Document
MongoDB的安装和启动、关闭
1) MongoDB的数据类型 2) MongoDB表的创建、删除 MongoDB shell的增删改查 mongoDB的多表查询 3) mongoDB的JDBC连接 java实现MongoDB的增删改查和多表查询 4) mongoDB的mapreduce特性 5) mongoDB的索引 普通索引 唯一索引 复合索引 多值索引 6) 索引管理 创建索引 删除索引 索引重建 7) mongoDB的设计模式 一对多 多对多 树 8) mongoDB的分页操作 skip和limit sort排序 9) mongoDB分布式集群、分片 10) MongoDB的备份与恢复机制 11) MongoDB主要特性 n ReplicaSet l Automatic failover l 轻松增删数据结点 n Sharding l 自动分片 l 自动数据迁移 l mongos自动路由 n 数据管理及监控 l 对单个文档的原子更新 l 对任意属性可建立索引 l 数据监控命令工具丰富 n 查询支持 l 丰富的查询语法 l 查询优化及监控机制完善 12) 监控及诊断 Database Profiler Mongostat 其他常用监控工具 db.serverStatus()数据库实例各项详细信息 db.stats()数据文件大小及索引大小等信息 iostat/vmstat MMS/Munion/Nagios…
后续更新中。。。。。
|