nosql专业技术实战

上传人:乐*** 文档编号:115391327 上传时间:2019-11-13 格式:DOC 页数:12 大小:274KB
返回 下载 相关 举报
nosql专业技术实战_第1页
第1页 / 共12页
nosql专业技术实战_第2页
第2页 / 共12页
nosql专业技术实战_第3页
第3页 / 共12页
nosql专业技术实战_第4页
第4页 / 共12页
nosql专业技术实战_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《nosql专业技术实战》由会员分享,可在线阅读,更多相关《nosql专业技术实战(12页珍藏版)》请在金锄头文库上搜索。

1、NoSQL技术实战 作者: 日期:12 个人收集整理,勿做商业用途NoSQL技术实战时至今日,“Big data”(大数据)时代的来临已经毋庸置疑,尤其是在电信、金融等行业,几乎已经到了“数据就是业务本身”的地步。这种趋势已经让很多相信数据之力量的企业做出改变。恰逢此时,为了让更多的人了解和使用分析大数据,CSDN独家承办的大数据技术大会于今日在北京中旅大厦召开。本次大会汇集Hadoop、NoSQL、数据分析与挖掘、数据仓库、商业智能以及开源云计算架构等诸多热点话题。包括百度、淘宝、新浪等业界知名专家与参会者齐聚一堂,共同探讨大数据浪潮下的行业应对法则以及大数据时代的抉择。从左至右分别为程显峰

2、、丛磊、李祎、杨志丰、巨建华传统的关系数据库在应付web2.0网站网站时暴露了很多难以克服的问题:web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,数据库并发负载非常高,往往要达到每秒上万次读写请求。对于关系数据库来说,在如此海量的信息中进行SQL查询,效率是极其低下乃至不可忍受的。在最后的沙龙环节中MongoDB中文社区创始人程显峰、淘宝核心系统存储系统研发专家杨志丰、新浪云计算高级技术经理丛磊、139说客架构师李祎、技术总监巨建华就对如何理性考量NoSQL、NoSQL基准测试要点、NoSQL和云计算整合趋势、NoSQL和分布式计算的结合等问题展开了热烈讨论。以下为文字实

3、录主持人:最后环节是我们圆桌讨论,我们也请五位嘉宾上台。首先邀请圆桌讨论主持人MongoDB中文社区创始人程显峰,杨志丰先生,丛磊,139的李祎,以及巨建华先生,我们交流主题大概是以围绕NoSQL这一块。主持人程显峰:我们讨论了一天大数据的问题,到晚上我们专门拿NoSQL单独作为一个话题进行讨论,大家可以看到在座四位嘉宾,其中有三个人都有自己的NoSQL。我想第一个问题,因为有很多人都在做NoSQL的选型,如果不用你们的NoSQL,你们推荐大家用什么样的NoSQL,怎么去选NoSQL,怎么根据自己的业务去选择合适的NoSQL?当然不可以推荐自己的。丛磊:我关注NoSQL还是比较多的,我觉得Mo

4、ngoDB,另外对于选型来讲首先看需求,可靠性到底要求怎么样,速度要求怎么样,这个东西要求准确判断然后再去进行选型。李祎:我是来自139移动微博的李祎,现在是架构师。在我们系统里面用到关系型数据库是我们自己搭建的,就是拿来做微博熟悉用户推荐,以及和人有关人的计算。为什么我们选了自己一个东西,而没有用其他人,我们也是基于自己业务需求来做的,现在市场上NoSQL很多,我们就基于自己推荐业务需求,要做自己的一个数据库。市面现在图形数据库有一些,其实都开发的不是特别完善,基于我们现有的技术,和现有的一些开源软件和一个大的数据库。杨志丰:我下午讲的时候已经提到,要看每一个特性,需求把很多都已经排除掉了。

5、除此之外,大公司和小公司还不是很一样,很大公司在选的时候,除了你看到他的东西比别人多好之外,一旦出了问题有没有人帮你解决问题,这就是为什么很多大公司经常自己去做事情,我们现在都在用NoSQL,但是肯定有研发人员在里面,没有这方面的人才,可能你直接买一个,比如Oracle也有一个最新的解决方案,他给你更好的一个技术支持。主持人程显峰:也就是我们在考察NoSQL的时候也要考虑SQL是否强大,你自己是否能够完全掌控这一部分,还是需要外面的支持?杨志丰:这是一方面。巨建华:我没有自己数据库,不像在座几位。但是我有一个建议,如果我们采用NoSQL的数据库,最好能够特别在产品中,正式产品中使用,我建议大家

6、能够有机会都看看,如果不想做很深入研究,也得很清楚存储结构,甚至各种数据文件处理方式,我建议最好能看看源代码,跑不起来能够有一定修复能力,特别NoSQL很重要,如果做不到会带来很大风险,有可能某一天重要数据丢掉之后找不回来,如果没有很好的备份方案。现在比较好,我现在目前使用MongoDB本身比较完善,可以放心使用。主持人程显峰:今天数据主题也是大数据,数据也有几个阶段,采集,处理,存储,呈现。我们发现之后存储跟处理部分结合越来越紧密了,比如Hadoop有存储专用的一块东西,而像MapReduce传统存储也有一定框架,大家对存储和处理结合越来越紧密,大家有自己的或者使用别人的,这个是不是方便,大

7、家可以谈一下。丛磊:我觉得是这样,首先这个数据处理可能有两种需求,一种是用户大规模海量数据综合处理,还有用户在对于他自己数据像一个存储过程一样,对于单条,或者几条数据相对之间小规模处理,SAE这两块都有,其实NoSQL是具有天生亲近感。还有用户小规模数据,想插入数据的时候,取出数据的时候做什么计算,最好的载体就是GS,MongoDB是这么做的,GS是最好的一种通用语言,任何一个人写起GS来不会有太多问题,将来SAE,肯定会支持用户通过GS来实现存储互通的功能。李祎:其实我们这边用自己图形数据库原先也考虑过用Hadoop的方式,但是发现两个问题,一个是Hadoop数据结构和我们需要的关系型数据库

8、,和我们需要对应关系那种不是特别匹配,我们要通过好几道手才能取出来进行计算,这样不太合适。另外我们也接触了,我们BI部门原来也用过Hadoop的方式,发现其实有一个问题,这个问题是一个故事,有一次他们机器宕机了Hadoop物理存储恢复不了,搞了半天,发现后来我们面临选型的问题,我就觉得我们无法真正去控制这个东西,就像刚才杨志丰所说的一样,无法真正控制这个东西的时候,最好还是选择一个最后能做最简单的东西进行控制,这也是我们为什么自己做图形数据库的一个原因。杨志丰:这个问题我刚才讲的时候已经提到的,我们OceanBase里面已经有了,需要进行嵌入,我们是要把计算移到数据上去,因为今天主题就是大数据

9、,数据他大了,移动一下,从这个集群移到那边为了做计算再移过来,这个代价太大了,所以我们要把他和数据放到一起,这就是一致性的问题。另外我有一个趋势。巨建华:我选择MongoDB受整个脚本限制,在整个单模式下跑,整个集群在同一时间只能跑一个,在这上面跑比较受到局限。我结合这种模式,运动量比较大,经过相互拆分进行并行,说比较弱,能够满足业务需求,所以在这个过程中暂时还是能够通过自己写的分布式集成框架来解决问题。我看这方面很多跟刚才淘宝他们讲的是一样,很多时候根据实时业务场景来采取利用什么样的方法来解决问题。当然说如果真正,假设我们需要做索引,可能就需要结合形式来进行解决,而不是采用一种通用框架解决,

10、很多时候通用框架必然比较低。杨志丰:这种NoSQL方案理解大部分在线实时查询方式,OceanBase功能,我白天做查询,现在即使Hadoop也很难找到一个很好的解决方案,因为你很难控制计算资源,对于实时应用,你要留足够大的余量来保持实时性。主持人程显峰:其实还是资源比较有限,很难控制?杨志丰:本身就是倒出去做离线计算。主持人程显峰:来参加大数据有很多还在考虑NoSQL,考量很多方案,大家拿不准一个问题,我什么时候该用NoSQL,什么时候该跳进这个池子里,或者我采取一些措施可以继续支撑再高一个层次,现在到了这个门槛上,我是继续来优化我现有系统,还是我研究一下新技术,尝试一下,有什么样的信号,你们

11、在选NoSQL的时候是怎么来进行抉择的,到这个点了我们可以尝试了,还不到这个点,有没有什么关键的指标可以来说明这个问题?丛磊:对于选择NoSQL我建议不要盲目选择和跟风,我就以游戏公司为例。毕竟SAE有很多游戏公司,其实不管什么平台游戏公司是最赚钱的一种类型公司,但是游戏公司我所知道应用99%,我所了解到的只用MySQL和MC,大部分公司用这两个业务够,没有必要投入更大精力,当然也取决于个人对于技术追求,从业务角度来讲没有必要太多跟风。另外一个从选择来讲还是要看自己的需求,根据自己的领域来做这个选择。主持人程显峰:是不是感觉现在互联网公司更愿意赶潮流一些,有点过度一开什么马上就跟上,我们也就试

12、一试?丛磊:我觉得稍微有点过,我个人觉得可能有点过。李祎:我就讲我们实际例子,我们为什么要做图形数据库,我们原来也是基于数据库用户关系,但是后面随着推荐逻辑越来越复杂,你发现去调用数据库的时候IO性能已经很低了。这时候又想到找我们BI,我们一调结果发现BI死掉了,我们就想自己做一个,因为我们做推荐,就需要一个图形数据库,我们就去找,找到一个正确路去做自己的一个图形数据库。刚才那个说是IT,互联网有点跟风过,我也比较保守赞成这个观点。我们想YDS(音译)特别火我们也想换,我们换了之后下午进行测试,发现效果非常好,内存消耗反而上去了,原来需要2个G就能存的数据,现在需要4个G,我们倒想换老板没钱,

13、现在这个办公室最好,如果再换上去的话,很可能会出现一些各式各样的问题,所以还是选择一个比较稳妥的路子。其实IT公司,特别咱们互联网公司崇尚一些科技技术其实是好事,应该多普及,要不然的话就没有创新了,太保守。杨志丰:我觉得这个问题能不用的时候就尽量不用,基本上最后不得不用的都是需求推动,因为我了解这几年大公司,他们肯定是需求推动的,因为不得不这样做。你运维成百上千个,比如Mark Server,把运维尽量自由化,我听说也几千台组成Mark Server,如果你一个DB买比较好的,当前最好的硬件,肯定谁都不会找麻烦,当几百台,我们运维就是解决宕机,各种各样扩展性方面的问题。主持人程显峰:有现有尽量

14、不要改变,还有另外一个层次能用别人就不要自己写一个,你们有三个人已经写了?杨志丰:你可以用,这个产品本身应该长成什么样大家都不一样。李祎:自己一个架构师这就是你的职责,不能大家说好够去用,出了问题还需要你负责。巨建华:我觉得现在都在崇尚敏捷开发,我们在做一个项目的时候,特别互联网实验性项目,我们可能更希望快速上线,上线之后能够快速改进。一个应用下来我觉得我自己都会很累,而我们采用类似于MongoDB面向文档存储的东西,本身就跟ORM结合非常好,不用写代码,如果我对某种MongoDB数据库用的比较熟觉得自己能够Hold住这个东西,即使项目组中其他人不一定会熟悉,毕竟开发很简单,从能够快速完成工作

15、回家的角度我是支持用MySQL,确实能够提高开发效率,还有一个好处将来你的产品真的成长起来,成熟起来,你想做分布的时候会发现会省了很多时间。主持人程显峰:其实我们从两个,大家从两个不同角度去讲这个问题,最终都是你最终付出多少成本,前三位最关注数据库维护,他运维的一些成本,可能更关注开发上线这部分成本。把这两部分成本看看自己找一个非常好的平衡点来做这个事情。在这个公司采用NoSQL的时候,一定会去找一些NoSQL的技术人员,各位在从业过程中你们是如何评价一个NoSQL技术人员,应该具备什么素质?我们这个会开完之后会有无数人跳进这个圈子,他们到底跳进一个火盆,还是一个火坑,他需要具备什么样的素质,你就觉得这个东西,因为传统DBA是有标准的,基本上就哪些内容,现在NoSQL不一样了,大家都有不同看法,我们从建化那边开始。巨建华:我认为很多NoSQL产品对开发人员相对两说,我认为是比较简单的,只要这个开发人员能够了解比如一些数据的建模模式和原来不同,原来习惯性的如何表现数据模型。第二就是关于比较注重性能优化方面,如何能找出自己代

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号