做数据库SQL差异性比较是系统支持HANA的关键。
从HANA本质来讲大家都知道,就是一个数据库,和Oracle,SQLServer没啥本质的区别,内存计算、列式存储也不是啥新玩意,所以学习HANA和学习一个新的数据库从这个角度看也非常类似,当然HANA有其非常独特的特性(其实哪个数据库没有),其中最重要最本质而且未来会一直延续的特性就是HANA和SAP其他产品之间千丝万缕的联系,这一点对学习HANA的人而言会存在一定的挑战,当然挑战就意味着机会
HANA的学习路线(roadmap)也可以从其共性和特性出发来设计,下面只是个人的一些设想,仅供参考
1
数据库DBA大家都知道,行业里无论哪种数据库一般都存在两个角色,DBA和Developer,DBA负责数据库的部署、设计、调试、监控和调优等等各项工作,类似SAP领域的Basis,Developer掌握数据库的开发语言和逻辑,开发各种数据库层面的内容
我们先从DBA说起,我本人原来就是做SAPBASIS的,DBA不敢说精通勉强也算了解,HANA的DBA和其他数据库的DBA本质没啥区别,但DBA向来是一个需求少但是要求高的角色,一般的DBA大多会和其他角色合并,例如SAP系统的DBA和BASIS就是不分家的,非SAP产品DBA可能和网管或者类似角色合并,只有在很大规模的企业里会有专职DBA存在
HANA的DBA入门不难,但DBA最值钱的部分-性能调优,这个需要靠时间积累和环境的培养,恐怕一时半会除了SAP不太会出现优秀的HANADBA
从这个角度出发,建议大家把HANADBA作为自己必须掌握的技能,除了调优以外的知识都需要储备
以后出去做HANA,装个HANA调个参数还需要别人,竞争力就明显弱了
2
数据库开发只会开发数据库的Developer恐怕很难生存,因为目前绝大多数大型应用都不太会绑定某个数据库,除了一些特殊产品以外,在数据库层面做的开发都不会太多,绝大多数developer都是兼做数据库的开发,但HANA不太一样,由于其内存计算的特性,使用HANA必定要将应用逻辑下沉,这点造成了大量的HANA数据库开发需求,举个例子:未来随着ECConHANA的普及,ECC本身的很多应用逻辑都不一定下沉到HANA重写,别说客户自己的定制开发了,而客户自己的定制开发恰恰又以查询类为主,光把ABAP报表改写到HANA的事就够多的了,加上基于HANA的新的开发,这些预计未来会有较大的需求
3
数据挖掘和分析这是HANA的强项,也是HANA最早版本发布时的目标,想想HANA本身这个名字就明白了
这个角色牵涉的方面很多我只谈一下SAP领域的内容
数据分析也好挖掘也好,一般都会有几个环节,一是获取源数据,二是模型建立和开发三是展现
对于想从事这方面工作的同学以下产品是需要了解和掌握的:获取数据:SAP一系列做数据复制的工具产品:SLT,BODS,DXCSybase(目测估计以后不大会用了),甚至第三方的ETL工具模型建立和开发:BW,BOE(包括IDT,Universe)以及关键的HANAStudio(其实是指HANA里模型建立和开发的技术),展现:BO的水晶报表,Explorer,dashboard等,或者第三方的展现工具,国外看到过有人用开发HANA应用的
延伸部分:HANA内置了业务逻辑库和预测算法库,还可以和RLanguage集成,这是数据挖掘领域非常有用的功能
4HANA原生开发HANA最有吸引力也是最有生命力的部分其实在于其原生的开发,HANA内置了一个轻量化的,可以开发server端的js,MVC模式的交互界面,甚至移动端的UI
同时和HANA数据库内嵌集成,性能比外部系统访问HANA还好
我们看到的SAPHANA的很多有意思的案例都是基于HANA的原生开发,例如NBA,环球帆船大赛,国内的农夫山泉等,这些案例几乎都和SAP传统的业务系统没有任何关系,可以说已经超出了SAP的范畴,真正把HANA当一个平台类的软件来使用,这里的想象空间是巨大的,同样涉及到的技术也非常广泛,例如HANA和开源平台的集成(hadoop)等等
这里个人能力有限,只能大致谈一下HANA里面的开发技术
主要有基于HTML5的SAPUI5界面开发的业务逻辑开发,OData/RESTService的数据接口开发以及HANA数据库本身的开发
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)