MyException - 我的异常网
当前位置:我的异常网» NoSQL » NOSQL MongoDB首座架构师唐建法:20core处理27万混

NOSQL MongoDB首座架构师唐建法:20core处理27万混合读写操作实现,并分享企业实现案例

www.MyException.Cn  网友分享于:2013-11-19  浏览:0次
NOSQL MongoDB首席架构师唐建法:20core处理27万混合读写操作实现,并分享企业实现案例
MongoDB可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。 MongoDB能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用MongoDB来创建新的应用,提高与客户之间的工作效率,加快产品上市时间,以及降低企业成本。(摘自MongoDB官网)

为了帮助大家更加系统全面地学习MongoDB知识,特创建MongoDB知识库,集中挑选优质内容(文章、图书、视频)呈现给大家。

引用
唐建法,MongoDB官方大中华区首席架构师,中文社区创始人,曾在美国惠普及联邦快递担任技术负责人和首席架构师等职。

你关注的MongoDB知识库发布了,抢先关注,请戳这里=>>http://lib.csdn.net/base/mongodb



唐建法

CSDN知识库:能否分享一下你的技术成长之路。

唐建法:多年Java开发经验,热衷于开源,从开源软件的受惠者到开源软件的提供者到现在的布道者,开源软件伴随了技术领域的发展之路。

CSDN知识库:Mongodb与传统的关系型数据库有什么区别?最大优势是什么?

唐建法:相比于RDBMS的关系数据模型,MongoDB采用JSON作为其数据模型,非常接近于程序员熟悉的对象模型。MongoDB可以让开发者省掉繁琐的数据库设计过程,显著缩短产品开发周期。对数据库的操作不再需要一个专门的语言,而是通过API调用的方式,为开发者喜闻乐见。

MongoDB从一开始就是一个分布式数据库。其成熟的分片技术允许用户非常容易的扩展到数十亿的数据量并可以支持亿万级的用户。相对来说,RDBMS的扩展性非常受限,即使是有一些分库分表技术也是需要繁琐的运维手段和应用程序支持,并且性能往往不能得到保证。

CSDN知识库:Mongodb是否可以进行复杂的查询操作,在性能上有哪些突出的表现?

唐建法:MongoDB是在功能上最接近传统RDBMS的一个NoSQL数据库。支持绝大部分的复杂查询操作,如使用二级索引进行多个字段匹配,数组内查询,聚合分析,甚至支持强大的MapReduce。在性能上,MongoDB由于使用异步落盘,在并发写入和查询上有非常优越的表现。测试表明在一台20core的服务器上MongoDB可以达到27万的混合读写操作,并且95 percentile的操作都在10毫秒之内返回。

CSDN知识库:Mongodb的分片策略有哪些,不同的分片策略会产生怎样的影响?

唐建法:MongoDB分片策略有3种: 哈希,范围和标签。哈希对数据分布支持较好,适合写入压力大,读压力小的场景。范围分片比较适合range query,一次性查询一个连续区段数据的场景。而标签则在理解数据分布的基础上,自己来定制数据的分布规则。MongoDB的片键一旦设定不能修改。修改片键则需要把数据全量导出再导入到新的集群内。

CSDN知识库:Mongodb是如何存储文件(图片,视频和音频),如何提高读写文件的性能?

唐建法:对于小型二进制文件(如头像或者几个MB的PDF之类),可以直接按二进制字段存入JSON(BSON)文档内。MongoDB另外提供GridFS API,可以用来管理较大的二进制文件。GridFS API会自动对大文件进行切块存储,并在读回时自动封装为源文件,减少程序的代码量。如果需要快速的文件读写性能,MongoDB一般建议:

为数据盘和Journal日志盘使用单独的物理卷
有可能的情况下使用SSD
使用本机直挂的存储(DAS)
使用RAID来提高存储系统的IOPS

CSDN知识库:Mongodb是如何做到应对高并发高可用和数据负载均衡的呢?

唐建法:MongoDB使用分片集群来应对高并发,使用复制集技术来提供高可用,并提供路由节点mongos来对数据和请求进行负载均衡。在MongoDB架构里面没有单点故障的存在。所有的数据节点或者配置节点均为3节点以上高可用部署。MongoDB的复制技术支持各种拓扑,甚至多中心的容灾部署也可以简单搭建。路由节点为无状态节点,可以根据系统压力随时增加或者减少路由节点的数量(一般至少要2个)。

CSDN知识库:可以分享一两个国内在使用Mongodb的公司企业吗?他们的使用场景及访问量数量级?

唐建法:在百度云项目, MongoDB用来存储文件的元数据信息(文件名,大小,访问时间,路径等等)。百度云项目有3亿多用户,MongoDB文档条目数量超过2000亿,数据总量超过2PB。百度有100多个MongoDB项目,运行在上千个节点的MongoDB集群上。

东方航空正在他们最关键的新一代机票搜索项目中使用MongoDB。根据东航的公开分享,他们MongoDB数据库总条数有数十亿,每天写入2600万次,查询4500万次,80%的查询低于50ms,CPU利用率小于30%,这些仅仅只是由一套3节点的复制集来提供。

CSDN知识库:Mongodb未来的趋势是怎样的,目前还面临着那些挑战?

唐建法: MongoDB官方最近增大了对中国市场的投入。在国际上,顶级的跨国金融机构如花旗,巴克莱,高盛,CapitalOne等都在纷纷大规模采用MongoDB作为他们新一代数据库平台的标准。他们共同的目的就是降低IT成本的同时,提高团队的开发效率,缩短产品从概念到市场的时间,快速展现业务价值,通过改善客户的体验来提高竞争力。

目前面临的主要挑战就是国内对MongoDB的认知程度不够,以至于大部分时候都是使用在非关键型应用场景。

CSDN知识库:关于技术学习您有什么心得?我们上线了知识库系统化学习的方法,您会怎样用?

唐建法:如果想使用好MongoDB,首要的关键是要抛弃固有的关系型数据库的思维模式。忘掉关系型,从业务的角度出发来考虑对数据库能力的需求。在知识库方面,希望能够多提供些结合MongoDB做应用开发的文章和经验,相比于分享运维知识可能更加有学习价值。

摘自:http://www.iteye.com/news/31925

文章评论

不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
编程语言是女人
编程语言是女人
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员应该关注的一些事儿
程序员应该关注的一些事儿
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
 程序员的样子
程序员的样子
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
旅行,写作,编程
旅行,写作,编程
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员必看的十大电影
程序员必看的十大电影
那些争议最大的编程观点
那些争议最大的编程观点
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
鲜为人知的编程真相
鲜为人知的编程真相
10个调试和排错的小建议
10个调试和排错的小建议
总结2014中国互联网十大段子
总结2014中国互联网十大段子
我是如何打败拖延症的
我是如何打败拖延症的
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
程序员的鄙视链
程序员的鄙视链
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
一个程序员的时间管理
一个程序员的时间管理
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
我的丈夫是个程序员
我的丈夫是个程序员
每天工作4小时的程序员
每天工作4小时的程序员
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员都该阅读的书
程序员都该阅读的书
老程序员的下场
老程序员的下场
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
代码女神横空出世
代码女神横空出世
Java程序员必看电影
Java程序员必看电影
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
如何成为一名黑客
如何成为一名黑客
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员和编码员之间的区别
程序员和编码员之间的区别
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
为什么程序员都是夜猫子
为什么程序员都是夜猫子
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有