我心中的云技术的发展问题?

12-05-30 javawebkaifa
                   

我最近在关注云技术,我很迷茫,我觉得就是比服务器多,网上很多论坛也是这样认为的。云技术的演变

网格技术计算—>集群技术计算—>分布式技术计算—>云技术计算。

第一个问题:是这样一个慢慢的过程。其实我看了很多资料也没有怎么很明白这些技术的区分和层次感?

第二个问题:我感觉现在很多公司都在想云,我觉得啊,云是好,我心中的云就是服务器多,有钱,有资本呗,但是不管你用不用云,你的服务实现和接口。。。。。那才是你的服务基础啊,很多公司,我的认为是没有具备去发展云的条件,但是还是盲目的。。。

我知道有想的是好啊。但是真实的情况不是那样简单的。现在中国的云本来就还不怎么算好吧,我对这些不怎么了解,才开始关注。不知道我上面所说的问题,是不是问题?

                   

13
banq
2012-05-30 10:11

2012-05-30 09:04 "@javawebkaifa"的内容
其实我看了很多资料也没有怎么很明白这些技术的区分和层次感? ...

云计算,网格计算,分布式计算,集群计算的区别?

其实如果从应用的有状态和无状态两个分类去看,这些分布式技术都是分别提升有态应用和无态应用的性能和可扩展性Scalable。

应用架构设计的三个类型中,我也谈到了:并发是解决有态应用;并行是解决无态应用。

而集群和网格计算属于一种并发计算,主要解决有态应用;而云计算则是解决有态和无态两种。

过去我们都是围绕数据库编程,企业应用大部分都是数据库系统,数据库为核心的系统大部分是有状态应用,因为数据库保存的是数据,这个数据大部分是结果状态数据,比如交易后的数量和金额,发票的数量和金额,单据的状态等等。

企业中数据能够使用传统数据库装载存储,说明其数据量不是很大,但是随着互联网普及,特别是facebook等这些拥有几亿用户数据的系统诞生,大数据Big Data诞生,大数据和海量数据差不多,但是好像应该再多些。

大数据诞生后,传统有态并发方案已经失效,脱离数据状态进行裸奔的并行计算得到重视,因为数据太大,干脆抛弃它们,从函数编程这个思维去重新看待大数据计算,这样云计算的新特性:并行计算,如Hadoop等诞生,并成为云计算区别于传统集群的重要区别。

当然,云计算不只是解决并行计算,也提供并发计算能力,是以前分布式技术的一种总括,所以,刚开始有人怀疑云计算是旧瓶装新酒,这是没有深刻理解云计算的原因所在。

javawebkaifa
2012-06-02 23:54

谢谢banq的回答:

我再请教一个问题:mongodb hbase hadoop 的区别: 对大数据分析的区别,怎么去选择技术?

banq
2012-06-03 07:58

2012-06-02 23:54 "@javawebkaifa"的内容
mongodb hbase hadoop 的区别: 对大数据分析的区别,怎么去选择技术? ...

如果从算法+数据结构这个角度去看待,mongodb hbase属于数据结构,是一种数据库,而Hadoop属于并行算法,用最通俗比喻可能不太确切:mongodb hbase相当于数据表的结构和数据记录,负责数据的存储;而Hadoop类似SQL语句,负责数据的计算。

以前我们是在一个关系数据库中集合了这些,如同傻瓜相机集合了光圈和快门一样,而随着大数据诞生,就需要单反手工可调校的光圈和快门了,这时我们将数据的存储和计算要进行分离。

如果从“过程”和“结果”这个更高抽象来看,计算属于过程,存储的是结果。而你在第一篇中谈到离不开“服务实现和接口”,也属于“过程”,和Hadoop计算属于同一类。

过去我们的“服务”通常是直接调用SQL语句操作数据库,这些SQL语句实际是一个计算过程,比如排序归类筛选,以前都是依靠关系数据库内部实现,这种自动相机缺点是不能针对自己项目优化,所以,我们强调根据自己的业务提炼自己的领域模型,然后根据领域模型选择相应的特定的计算功能:排序归类筛选。

大数据属于一种通用的业务领域模型,这类业务特点数据的非结构化,没有太多紧密的关联关系,不是一种层次感的结构数据,那么根据这种业务模型选择相应技术架构,HBase+Hadoop替代关系数据存储+SQL。

当然,因为Hadoop是直接针对文件系统的排序筛选,性能没有直接针对In-memory内存计算快,针对这个缺点,现在基于内存计算的类似Hadoop也百花齐放,加上专门为“过程计算”定制的语言如Scala,大数据分析将迎来实时分析的时代。(见Hadoop生态链:Hive, Pig, Scalding, Scoobi, Scrunch 和 Spark等hadoop框架比较

mongodb hbase这两个NoSQL数据库之间区别主要从CAP定理去区分。

[该贴被banq于2012-06-03 08:02修改过]

javawebkaifa
2012-06-03 11:43

谢谢banq的回答:

说真的,听了你的分析后,我清楚了很大,当然这个不是一两天就学习的,我会继续研究的,我相信我可以做到。呵呵。

我还想讨论一个问题,“关于现在中国的软件开发的标准”其实也不叫什么标准,就拿我的公司来说吧,我觉得开发,技术管理一团乱,基础都没有打好,就想往搞端发展,是的,想法可以有,如果一个公司没有想法,那面临的就是公司倒闭,我们公司啊,这个项目用了很多技术,但是我觉得有些技术只是用了皮毛,比如说开始设计规划的时候,完全没有,想怎么做就怎么做,比如说,要用大数据存储了,用mongodb还是hbase了,随便确定一个,叫一个人研究今天就用了,我觉得公司的技术不是这样的,真的,我觉得这样很垃圾(我很气愤),公司的技术和业务和领域分析是完全密不可分的,我们现在的项目就是乱用技术,导致项目现在乱得来不是一点乱,还好,我们公司部门有一个项目管理人员一直在坚持他的做法,项目才好一点,他去建议老总,但是得不到支持,反正一个字乱,我们公司还往云上靠,我也才说了,这个想法没有错,但是我们是不是该把基础搞好是,从领域分析出怎么设计,怎么细分接口。。。。。这些工作我知道必须做的,但是现在公司不给做就往高端技术靠,我觉得再这样下去,这个项目永远做不好,没有意思,我都想过走了,但是我想了哈,现在中国的好多公司都是这样开发的吧。

说真的,banq我是从外地来北京的。我在老家那边我觉得没有压力,没有什么挑战,我喜欢挑战,这样我进步快,我心中的软件开发是按着分析一步一步的来的,就是你一直倡导的领域开发,但是现在公司为了收钱,其他的什么都不管,我作为一个技术人员,我觉得我设计的东西,写出来的代码是这样的,我都不知道为什么,没有人支持,公司是站在利益的角度来看,但是这个短浅的目光,从长远的角度,我觉得领导在这些方面认识不怎么好,我觉得是这样,可能我认识有限,没有考虑到。我想问banq,现在中国的这个软件开发风气,一直下去,永远落后别人,这个也给中国国情,文化又关系的,我不知道我认识对不,5月23,24,25号,举行的云计算大会,我也在关注,我觉得我们国内的软件行业不是这样的,要靠大家猜可以行成好的软件行业气氛,还有就是现在的程序员太不负责,我觉得就是没有资格做一名程序员?

想听听banq的看法?谢谢

2Go 1 2 下一页