110412 kningsoft-mongo db-intro-usage-in-mercury

17
MongoDB 简介 & 在水银的应用 温铭、金浩、王斌 110412 珠海金山 COFFEE 分享

Upload: zoom-quiet

Post on 12-Nov-2014

886 views

Category:

Technology


0 download

DESCRIPTION

110412 mongodb介紹以及在水银中的应用 * 讲者:温铭+金浩+王斌 * 时间:19:00-20:00 * 地点:金山大厦12F大会议室 * 列席:面向安全平台组,同时欢迎对交流内容感兴趣的其他同事出席

TRANSCRIPT

Page 1: 110412 kningsoft-mongo db-intro-usage-in-mercury

MongoDB简介 &在水银的应用

温铭、金浩、王斌110412 珠海金山 COFFEE分享

Page 2: 110412 kningsoft-mongo db-intro-usage-in-mercury

MongoDB

可扩展、高性能、开源、面向文档的数据库 key - value db 中更像传统数据库的一个

非关系型数据库 主要介绍:面向文档、可扩展、高可用

Page 3: 110412 kningsoft-mongo db-intro-usage-in-mercury

面向文档

Page 4: 110412 kningsoft-mongo db-intro-usage-in-mercury

关系数据库

第一范式、第二范式、第三范式BC范式、第六范式 ... 建模的目的: 减少数据冗余 增加数据一致性

Page 5: 110412 kningsoft-mongo db-intro-usage-in-mercury

反范式

没有关联查询,性能高结构清晰字段随意增删 字段名冗余数据不一致 MongoDB的 document,是一种可以嵌套的数据集合

Page 6: 110412 kningsoft-mongo db-intro-usage-in-mercury

规范化

需要多张表关联查询

Page 7: 110412 kningsoft-mongo db-intro-usage-in-mercury

文档数据库

Page 8: 110412 kningsoft-mongo db-intro-usage-in-mercury

名词解释

MongoDB---------------------------

document

collection

关系型数据库------------------------

---一行记录

Page 9: 110412 kningsoft-mongo db-intro-usage-in-mercury

扩展

Page 10: 110412 kningsoft-mongo db-intro-usage-in-mercury

关系数据库

大表增删字段、增删索引分区、分表master-slavemaster-多 slave多master-多 slavedb proxy

Page 11: 110412 kningsoft-mongo db-intro-usage-in-mercury

MongoDB

auto-sharding、master-slave随意增删字段 --嵌套文档

Page 12: 110412 kningsoft-mongo db-intro-usage-in-mercury

HA

Page 13: 110412 kningsoft-mongo db-intro-usage-in-mercury

关系数据库

共享存储msater-slave,半同步DRDB 心跳

Page 14: 110412 kningsoft-mongo db-intro-usage-in-mercury

MongoDB

master-slaveReplica Sets 副本集

Page 15: 110412 kningsoft-mongo db-intro-usage-in-mercury

为什么用MongoDB?

• 简单:没有关系,没有事务• 高性能、免费• 接口和功能类似关系数据库• 副本集、自动分片• 商业公司维护

注意稳定性: Foursquare宕机 11个小时

Page 16: 110412 kningsoft-mongo db-intro-usage-in-mercury

水银中的应用

• 任务系统(副本集):每天 700w任务的创建、读取和删除

• 部分不重要结果(自动分片):单表千万级别

Page 17: 110412 kningsoft-mongo db-intro-usage-in-mercury

遇到的问题

• 空间碎片回收