A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

MongoDB 教学大纲

1.      NOSQL历史和产生原因

2 主流的NOSQL介绍
  
数据库类型
  
开发语言
特性
应用场景
  
CouchDB
  
Erlang
特点:DB一致性,易于使用
  
使用许可: Apache
  
协议: HTTP/REST
  
双向数据复制
  
持续进行或临时处理
  
处理时带冲突检查
  
因此,采用的是master-master复制(见编注2)
  
MVCC - 写操作不阻塞读操作
  
可保存文件之前的版本
  
Crash-only(可靠的)设计
  
需要不时地进行数据压缩
  
视图:嵌入式 映射/减少
  
格式化视图:列表显示
  
支持进行服务器端文档验证
  
支持认证
  
根据变化实时更新
  
支持附件处理
  
因此,CouchApps(独立的 js应用程序)
  
需要 jQuery程序库
适用于数据变化较少,执行预定义查询,进行数据统计的应用程序。适用于需要提供数据版本支持的应用程序。
  
  
CMS系统,数据统计汇总
  
Redis
  
C
特点:运行异常快
  
使用许可: BSD
  
协议:类 Telnet
  
1.         读写操作异常快
  
2.         较复杂的数据格式 sets, 链表,hash
  
3.         事务支持
  
4.         消息订阅 pub/sub
  
5.         主从同步复制
  
6.         硬盘回写
  
7.         第三方sharding支持
  
适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序
  
  
股票价格、数据分析、实时数据搜集、实时通讯
  
  
配置下发,全局实时数据
  
Mongodb
  
C++
特点:保留了SQL一些友好的特性(查询,索引)
  
使用许可: AGPL(发起者: Apache)
  
协议: Custom, binary( BSON)
  
1.         支持javascript表达式
  
2.         硬盘回写
  
3.         主从复制和集群功能
  
4.         内建分片机制
  
5.         较快读写性能
  
6.         大格式数据支持
  
7.空数据库大约占 192Mb
  
8.  事务支持
1.大数据量查询和汇总
  
2.分布式部署,和水平扩展
  
  
数据统计汇总
  
业务数据库,替代Mysql
  
  
Neo4j
  
Java
特点:基于关系的图形数据库
  
使用许可: GPL,其中一些特性使用 AGPL/商业许可
  
协议: HTTP/REST(或嵌入在 Java)
  
1.可独立使用或嵌入到 Java应用程序
  
2.图形的节点和边都可以带有元数据
  
3.很好的自带web管理功能
  
4.使用多种算法支持路径搜索
  
5.使用键值和关系进行索引
  
6.支持事务( Java api)
  
7.使用 Gremlin图形遍历语言
  
8.支持 Groovy脚本
  
9.支持在线备份,高级监控及高可靠性支持使用
适用于图形一类数据。这是 Neo4j与其他nosql数据库的最显著区别
  
  
例如:社会关系,公共交通网络,地图及网络拓谱
  
HBase
  
Java
特点:支持数十亿行X上百万列
  
使用许可: Apache
  
协议:HTTP/REST (支持 Thrift,见编注4)
  
1.         采用分布式架构 Map/reduce
  
2.         对实时查询进行优化
  
3.         高性能 Thrift网关
  
4.         通过在server端扫描及过滤实现对查询操作预判
  
5.         支持 XML, Protobuf, 和binary的HTTP
  
6.         对配置改变和较小的升级都会重新回滚
  
7.         不会出现单点故障
  
适用于偏好BigTable:)并且需要对大数据进行随机、实时访问的场合
  
  
报表,数据挖掘
  
Memcache
  
C
1.    快速
  
2.    简单
  
3.    分布式支持和热扩展
KV数据库
  
数据库辅助缓存

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的分页操作
    skiplimit
    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…

后续更新中。。。。。

18 个回复

倒序浏览
{:soso_e102:}这个是学的数据库技术么?
回复 使用道具 举报
现在基本数据库主流基本是NoSql 支持谷歌的DB,开始玩转NoSql.....
回复 使用道具 举报
:victory::victory::victory:
回复 使用道具 举报
持续关注新技术 !
回复 使用道具 举报
天啊  别这样。。。  我现在就想去黑马了。。。


云计算已经时不我待了。。 我们学校的物联网从信电学院的一个分支,抽调精英老师成立了一个学部,融合了云计算、数据库、嵌入式等主流人才。。

回复 使用道具 举报
给力:victory:
回复 使用道具 举报
果断支持一下
回复 使用道具 举报
关注。。。。
回复 使用道具 举报
网上搜了一下Nosql,DB中的战斗机,处理大数据,果断支持
回复 使用道具 举报
果断来。
回复 使用道具 举报
虽然暂时看不懂,但是先来围观一下...
回复 使用道具 举报
这是教学内容么?
回复 使用道具 举报
C#,没有?
回复 使用道具 举报
必须顶一下!
回复 使用道具 举报
李培根 来自手机 金牌黑马 2013-1-14 09:16:51
16#
说实话没看懂
回复 使用道具 举报
想问一下,上面说用到的C和C++,意思是不是学习云计算也要有C和C++基础的,
Mongodb
   C++
回复 使用道具 举报
王溢君 来自手机 中级黑马 2013-1-16 14:45:52
18#
顶起来啊
回复 使用道具 举报
顶一个!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马