盛大网络 NOSQL七种武器之长生剑 MongoDB的使用介绍 DBA

Slides:



Advertisements
Similar presentations
分享人:張益源. 個人資料介紹 姓名:張益源 畢業:體育系 97 級 專長:田徑、籃球、游泳 任教學校:慈濟大學實驗國民小學 學校職務:體育兼資訊老師.
Advertisements

●公司簡介. ●公司組織 行銷 企劃部 行銷 企劃部 研發 設計部 研發 設計部 視覺 設計部 視覺 設計部 媒體 製作部 媒體 製作部 行動 裝置部 行動 裝置部 執行長 總經理 管理部 本公司組織人力配置除董事長、執行長、總經理外,共 有六大部門,分別為研發部 6 人、管理部 4 人、視覺設計部.
1 网站设计理念 大连理工大学创新实验学院 优秀网站展示 - LAMP 类网站
2015 年 4 月 (第一期) 初中数学 14 班 简报 惠州市 2015 年初中教师全员培训.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
关于“人肉搜索”的滥用及其所引发的 “网络暴力”的道德与法律思考
责任 感恩 安全 开学第一课 广西柳州市柳东新区雒容镇盘古小学王秀娅 QQ:
MongoDB技术交流 主讲:刘天斯.
MongoDB简介.
NoSQL技术交流 ICT-存储部-马健.
文科计算机小公共课规划教材 Access 程序设计.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
数据库应用技术 天津大学计算机基础教学部 2013年9月.
58同城从MongoDB到MySQL迁移之路
第三章 科学把握人生的方向和道路 教学目标 主要内容 第一节 追求高尚的人生目的 第二节 培养正确的人生态度 第三节 创造有价值的人生
江西省专业技术人员 继续教育信息管理系统.
苏州大汇信息科技有限公司 招聘简介.
J2EE与中间件技术 ——Lab.
第5章 NoSQL数据库 (PPT版本号:2017年2月版本)
NoSQL分布式数据库.
课程名称 龙阳、高级工程师 广州巨杉软件开发有限公司
网络协会2017培训 恶补Web知识训练营 2017/4/7 – Payne.
MariaDB Spider分库分表引擎调研
Windows 8 more simple more powerful more free.
第二讲 搭建Java Web开发环境 主讲人:孙娜
Chinese Virtual Observatory
Cloud (AWS) 產品放置 ex.巴士, 球場, 旅館 …. 客戶需求SW模組化 1.客製化需求 2.Web技術
SQL Injection.
Spring & mongodb java实战mongodb 曹巍 2013年9月22日.
Jul 2014 HEAT部署Hadoop集群
基于大数据的物流资源整合 福建师范大学协和学院 沈庆琼.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
SPARQL若干问题的解释 刘颖颖
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第17章 网站发布.
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
本节我们结合AD5724驱动时序给大家介绍一下状态机在实际工程中的使用。
天涯分布式数据库 云计算部.
ENS 10.1安装配置指南 王俊涛 | SE.
——网鸟老兵系列课程之10天掌握MongoDB
Simple , Powerful and fee
Windows 7 的系统设置.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
实习前你需要知道的 PRESENTED BY Yisa.
基于大数据平台数据管理研究 何家乐 2013年7月 中国科学院高能物理研究所.
程序设计工具实习 Software Program Tool
从zval看PHP变量
开放平台示例使用说明 企业QQ.
录制回放工具使用说明 鲁晓宇
开放平台示例使用说明 企业QQ.
第四章 团队音乐会序幕: 团队协作平台的快速创建
第二章 Java基本语法 讲师:复凡.
VB与Access数据库的连接.
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
编译OpenSSL 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
ES 索引入门
Visual Basic程序设计 第13章 访问数据库
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
架构师成长感悟 吴隆烽
Google的云计算 分布式锁服务Chubby.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
VB与Access数据库的连接.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Presentation transcript:

盛大网络 NOSQL七种武器之长生剑 MongoDB的使用介绍 成江东@snda DBA http://www.goziwa.com QQ:1913908 2010-10 大家好, 欢迎大家参加 培训主题 先自我介绍一下

一条曲线

思考 一.并发压力快速提高? 二.需求变化快? 三.数据水平拆分? 压力很大,谁来解压

内 容 MongoDB是什么 MongoDB的特性 MongoDB的适用场景 MongoDB的与其它数据库的对比

MongoDB是什么 NOSQL数据库是什么? 非关系型的数据库,主要用于社区类WEB2.0网站。 主要解决: 对数据库高并发的需求 对海量数据的高效率存储和访问的需求 对数据库的高可扩展性和高可用性的需求

MongoDB是什么 二.性能与一致性--鱼与熊掌可兼得?

MongoDB是什么 CAP理论-鱼与熊掌不可得兼 一个分布式系统最多只能同时满足两个。 CA:传统关系数据库 AP:key-value数据库 可用性(A)

MongoDB是什么 所以,MongoDB不能解决: 数据库事务一致性需求 数据库的写实时性和读实时性需求 对复杂的SQL查询,特别是多表关联查询的需求

MongoDB是什么 三.MongoDB数据库是什么? 取自“humongous”(海量的),是由10gen开发并维护的一种开源,高性 能,可扩展,无模式,面向文档(document-oriented)的数据库,其内存储 的是一种 JSON-like结构化数据。 它介于关系数据库和非关系数据库之间,是非关系数据库中最像关系数 据库的。 官网:http://www.mongodb.org/ 下载:http://www.mongodb.org/downloads 最新版本:1.6.3(2010-09-23) 支持操作系统:Os X Linux Windows Solaris

MongoDB的特性 一.JSON格式文档数据库

MongoDB的特性 document!=row 文档 { "_id" : ObjectId("4caeb59438336e36fcdb2b59"), "uid" : 11909, "uname " : " bird007 " , "address" : { "province" : "湖北", "city" : "武汉“, … }, } "_id" : ObjectId("4caeb59438336e36fc9306f4"), "uid" : 11910, "uname " : " magicman " , “sex " : 0

MongoDB的特性 二.自由数据模式 支持在对象和数组内嵌入其它的对象和数组

MongoDB的特性 三.全面索引支持 基本索引:db.t_user.ensureIndex({uname:1}) 唯一索引:db.t_user.ensureIndex({uname:1},{unique:true}) 内嵌文档中的key:db.t_user.ensureIndex({"address.city":1}) 文档本身:db.t_user.ensureIndex({"address":1}) 复合索引: db.t_user.ensureIndex({"address.province":1,"address.city":1,"address.postcode":1,"address.room":1}) 在线索引:db.t_user.ensureIndex({uname:1}, {background:true});

MongoDB的特性 四.复制和自动分片带来的高可用性

MongoDB的特性 MongoDB 分片集群由2个以上的shards, 1个以上的config servers, 和任意数量的 mongos servers组成,应用程序连接mongos servers mongod数据库服务器进程,类似于mysqld replica set 是N个一组的 mongod 节点,协同工作可提供自动失效转移,是replica pairs的升级版 MongoDB v1.6 开始可以使用于生产环境

MongoDB的特性 测试: Auto sharding: http://www.goziwa.com/?p=1015 Replica Set:http://www.goziwa.com/?p=1040 3 shards:192.168.0.15 ,192.168.0.16, 192.168.0.17 1 config:192.168.0.14 1 mongos:192.168.0.13

MongoDB的特性 安装php驱动:pecl install mongo Php测试角本test.php <?php //连接localhost:27017 $conn = new Mongo(); //选择数据库test $db = $conn->test; //选择结果集 $collection = $db->app; for($i=1;$i<10000000;$i++){ $data1 = mktime(0,0,0,1,1,1950); $data2 = mktime(0,0,0,1,1,2000); $rand_time = rand($data1,$data2); $credate=date(“Y-m-d H:i:s”,$rand_time); $userid= rand(100000000,900000000); $appid= rand(1,50); $new = array(‘appid’ => $appid, ‘userid’ => $userid, ‘credate’ => $credate); $collection->insert($new); } ?>

MongoDB的特性 发现在初期,分布不均匀,第一台DB上有100多万条,而第2,3台上各有30万条,20万条。 增加一台服务器测试,继续插入数据到500万条后看发现数据已经变为

MongoDB的特性 Javascript shell 五.丰富的查询语句 排序 In查询 Exists 查询分片 数组元素个数 Count 类型匹配 正则 游标

MongoDB的特性 六.Map/Reduce { "_id" : 0, "value" : 134211 } 是聚合和过滤数据的工具 m=function(){emit(this.sex,1);} r=function(key,value){ var count=0; for(i in value){ count+=value[i]; } return count; res=db.t_user.mapReduce(m,r); db[res.result].find(); { "_id" : 0, "value" : 134211 } { "_id" : 1, "value" : 323445 }

MongoDB的特性 七.性能优异 并发写的性能有1.5万每秒 无外键约束,无事务 异步写磁盘 八.其它特性 GridFS 使用方便,MongoDB 会自动创建数据库(db)和集合(collection),无需显式执行。

MongoDB的适用场景 一.适用场景 二.不足之处 1,结构不固定,有数据嵌套 2,要求高并发性 3,经常需要做数据水平拆分 4,内存大于数据量(推荐) 二.不足之处 1,比较占用硬盘空间,性能受内存影响 2,性能依赖内存,同时无法指定内存大小,容易被其它程序占用 3,MongonDB不支持事务,不支持join 4,每个Document的限制是最大不超过4MB

MongoDB的适用场景 三.Why MongoDB 性能优异 扩展力强 面向文档 部署简单 功能全面 易于开发 支持全面 邮件组:http://groups.google.com/group/mongodb-user 豆瓣小组:http://www.douban.com/group/mongodb/

MongoDB的与其它数据库的对比 一.VS 二.VS 三.VS