杨志丰:这种NoSQL方案理解大部分在线实时查询方式,OceanBase功能,我白天做查询,现在即使Hadoop也很难找到一个很好的解决方案,因为你很难控制计算资源,对于实时应用,你要留足够大的余量来保持实时性。
主持人程显峰:其实还是资源比较有限,很难控制?
杨志丰:本身就是倒出去做离线计算。
主持人程显峰:来参加大数据有很多还在考虑NoSQL,考量很多方案,大家拿不准一个问题,我什么时候该用NoSQL,什么时候该跳进这个池子里,或者我采取一些措施可以继续支撑再高一个层次,现在到了这个门槛上,我是继续来优化我现有系统,还是我研究一下新技术,尝试一下,有什么样的信号,你们在选NoSQL的时候是怎么来进行抉择的,到这个点了我们可以尝试了,还不到这个点,有没有什么关键的指标可以来说明这个问题?
丛磊:对于选择NoSQL我建议不要盲目选择和跟风,我就以游戏公司为例。毕竟SAE有很多游戏公司,其实不管什么平台游戏公司是最赚钱的一种类型公司,但是游戏公司我所知道应用99%,我所了解到的只用MySQL和MC,大部分公司用这两个业务够,没有必要投入更大精力,当然也取决于个人对于技术追求,从业务角度来讲没有必要太多跟风。另外一个从选择来讲还是要看自己的需求,根据自己的领域来做这个选择。
主持人程显峰:是不是感觉现在互联网公司更愿意赶潮流一些,有点过度一开什么马上就跟上,我们也就试一试?
丛磊:我觉得稍微有点过,我个人觉得可能有点过。
李祎:我就讲我们实际例子,我们为什么要做图形数据库,我们原来也是基于数据库用户关系,但是后面随着推荐逻辑越来越复杂,你发现去调用数据库的时候IO性能已经很低了。这时候又想到找我们BI,我们一调结果发现BI死掉了,我们就想自己做一个,因为我们做推荐,就需要一个图形数据库,我们就去找,找到一个正确路去做自己的一个图形数据库。
刚才那个说是IT,互联网有点跟风过,我也比较保守赞成这个观点。我们想YDS(音译)特别火我们也想换,我们换了之后下午进行测试,发现效果非常好,内存消耗反而上去了,原来需要2个G就能存的数据,现在需要4个G,我们倒想换老板没钱,现在这个办公室最好,如果再换上去的话,很可能会出现一些各式各样的问题,所以还是选择一个比较稳妥的路子。其实IT公司,特别咱们互联网公司崇尚一些科技技术其实是好事,应该多普及,要不然的话就没有创新了,太保守。
杨志丰:我觉得这个问题能不用的时候就尽量不用,基本上最后不得不用的都是需求推动,因为我了解这几年大公司,他们肯定是需求推动的,因为不得不这样做。你运维成百上千个,比如Mark Server,把运维尽量自由化,我听说也几千台组成Mark Server,如果你一个DB买比较好的,当前最好的硬件,肯定谁都不会找麻烦,当几百台,我们运维就是解决宕机,各种各样扩展性方面的问题。
主持人程显峰:有现有尽量不要改变,还有另外一个层次能用别人就不要自己写一个,你们有三个人已经写了?
杨志丰:你可以用,这个产品本身应该长成什么样大家都不一样。
李祎:自己一个架构师这就是你的职责,不能大家说好够去用,出了问题还需要你负责。
巨建华:我觉得现在都在崇尚敏捷开发,我们在做一个项目的时候,特别互联网实验性项目,我们可能更希望快速上线,上线之后能够快速改进。一个应用下来我觉得我自己都会很累,而我们采用类似于MongoDB面向文档存储的东西,本身就跟ORM结合非常好,不用写代码,如果我对某种MongoDB数据库用的比较熟觉得自己能够Hold住这个东西,即使项目组中其他人不一定会熟悉,毕竟开发很简单,从能够快速完成工作回家的角度我是支持用MySQL,确实能够提高开发效率,还有一个好处将来你的产品真的成长起来,成熟起来,你想做分布的时候会发现会省了很多时间。
主持人程显峰:其实我们从两个,大家从两个不同角度去讲这个问题,最终都是你最终付出多少成本,前三位最关注数据库维护,他运维的一些成本,可能更关注开发上线这部分成本。把这两部分成本看看自己找一个非常好的平衡点来做这个事情。在这个公司采用NoSQL的时候,一定会去找一些NoSQL的技术人员,各位在从业过程中你们是如何评价一个NoSQL技术人员,应该具备什么素质?我们这个会开完之后会有无数人跳进这个圈子,他们到底跳进一个火盆,还是一个火坑,他需要具备什么样的素质,你就觉得这个东西,因为传统DBA是有标准的,基本上就哪些内容,现在NoSQL不一样了,大家都有不同看法,我们从建化那边开始。
巨建华:我认为很多NoSQL产品对开发人员相对两说,我认为是比较简单的,只要这个开发人员能够了解比如一些数据的建模模式和原来不同,原来习惯性的如何表现数据模型。第二就是关于比较注重性能优化方面,如何能找出自己代码存在的问题。当然为了能够达到优化的能力,就需要深入理解这个数据库对查询的方式等都需要有深入理解,跟普通数据库都没有什么不同,包括IO,一整套架构都非常了解。当然我们也知道关系型数据库,很多人甚至写完之后知其然不知所以然也能够让程序上线,对于MySQL这种情况也可能存在,来保证这些东西不会出太大问题。
一般来说,只要会使用,按照SQL一样能够熟悉,知道合理利用索引优化数据库,如何知道怎么把原来SQL模式,转发类似于文档模式的开发方式,就能够基于NoSQL数据开发。
主持人程显峰:基本原理你知道索引怎么回事,带来什么样提升,要知道SQL技术好的话,学NoSQL也快?
巨建华:可以这么理解。
杨志丰:我的角度做NoSQL的人,有一个很著名去年Google有一个大牛,他在去年的时候有一个PPT在下面就讲了他做Google那些基础设施他的经验。比如其中有一条,你知道一个网络包从这到英国回来需要多长时间,一个存储体系结构,就是做系统的要求,你要知道一次内存访问多长时间,一次磁盘访问,一次Flash访问,自己要有一个概念,其实说白了要有做系统的感觉,你看到一个系统,你知道什么地方可能是瓶颈。
另外一方面NoSQL系统都是分布式的系统,从我要招人的话,如果他有分布式系统方面,比如研究生就是学分布式系统,这方面是一个很大优势。比如你知道什么叫一致性,也是一个道理。
李祎:我的感觉没有志丰那么高深,我们项目还是一个工程性质,我们招人的时候主要会用Java,只要你会Java,理解力比较好。刚才说的咱们怎么去评价一个人,会有一个附属特性,没有招一个专职人员去进行维护。我感觉现在如果从刚才致丰那个角度,我们开发人员的要求,也要懂一些底层怎么去建索引,因为我们自己用了很多索引的工业,还就Java基础比较好,理解力比较好,我们做的利用一些图形,数据上理论比较多,比如从我查认识奥巴马最短数据是什么,怎么去做,对这方面要求多一些。
推荐阅读
[ 针对新增资金如何投资的问题,中投公司副总经理汪建熙表示中投会根据既定的投资战略和市场的变化进行投资;短期来看会有积极的偏离,但一定是做长期的配置,不会在短期内有大幅度的变化 ] 全国政协委员、中投公司副>>>详细阅读
本文标题:圆桌沙龙:NoSQL技术实战
地址:http://www.lgo100.com/a/kandian/20120305/36928.html

网友点评
精彩导读
科技快报
品牌展示