【HANA系列】SAP 一位SAP培训顾问的建议:SAP HANA应该如何学习?
前言部分
大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。
正文部分
SAP HANA应该如何学习?
从HANA本质来讲大家都知道,就是一个数据库,和Oracle,SQL Server 没啥本质的区别,内存计算、列式存储也不是啥新玩意,所以学习HANA和学习一个新的数据库从这个角度看也非常类似,当然HANA有其非常独特的特性(其实哪个数据库没有),其中最重要最本质而且未来会一直延续的特性就是HANA和SAP其他产品之间千丝万缕的联系,这一点对学习HANA的人而言会存在一定的挑战,当然挑战就意味着机会。
HANA的学习路线(roadmap)也可以从其共性和特性出发来设计,下面只是个人的一些设想,仅供参考。
1. 数据库DBA
大家都知道,行业里无论哪种数据库一般都存在两个角色,DBA和Developer,DBA负责数据库的部署、设计、调试、监控和调优等等各项工作,类似SAP领域的Basis,Developer掌握数据库的开发语言和逻辑,开发各种数据库层面的内容。
我们先从DBA说起,我本人原来就是做SAP BASIS的,DBA不敢说精通勉强也算了解,HANA的DBA和其他数据库的DBA本质没啥区别,但DBA向来是一个需求少但是要求高的角色,一般的DBA大多会和其他角色合并,例如SAP系统的DBA和BASIS就是不分家的,非SAP产品DBA可能和网管或者类似角色合并,只有在很大规模的企业里会有专职DBA存在。HANA的DBA入门不难,但DBA最值钱的部分-性能调优,这个需要靠时间积累和环境的培养,恐怕一时半会除了SAP不太会出现优秀的HANA DBA。从这个角度出发,建议大家把HANA DBA作为自己必须掌握的技能,除了调优以外的知识都需要储备。以后出去做HANA,装个HANA调个参数还需要别人,竞争力就明显弱了。
建议学习资料:HANA Academy ,SAP Help 上的PDF
适用对象: 所有HANA从业者
2. 数据库开发
只会开发数据库的Developer恐怕很难生存,因为目前绝大多数大型应用都不太会绑定某个数据库,除了一些特殊产品以外,在数据库层面做的开发都不会太多,绝大多数developer都是兼做数据库的开发,但HANA不太一样,由于其内存计算的特性,使用HANA必定要将应用逻辑下沉,这点造成了大量的HANA数据库开发需求,举个例子:未来随着ECC on HANA的普及,ECC本身的很多应用逻辑都不一定下沉到HANA重写,别说客户自己的定制开发了,而客户自己的定制开发恰恰又以查询类为主,光把ABAP报表改写到HANA的事就够多的了,加上基于HANA的新的开发,这些预计未来会有较大的需求。
建议学习资料:HANA Academy ,SQL Reference等
适用对象: ABAP开发人员,HANA开发人员
3. 数据挖掘和分析
这是HANA的强项,也是HANA最早版本发布时的目标,想想HANA本身这个名字就明白了。这个角色牵涉的方面很多我只谈一下SAP领域的内容。数据分析也好挖掘也好,一般都会有几个环节,一是获取源数据,二是模型建立和开发 三是展现。对于想从事这方面工作的同学以下产品是需要了解和掌握的: 获取数据:SAP一系列做数据复制的工具产品:SLT,BODS,DXC Sybase (目测估计以后不大会用了),甚至第三方的ETL工具模型建立和开发:BW,BOE(包括IDT,Universe)以及关键的HANA Studio(其实是指HANA里模型建立和开发的技术),展现:BO的水晶报表,Explorer ,dashboard 等,或者第三方的展现工具,国外看到过有人用PowerBuilder开发HANA应用的。
延伸部分:HANA内置了业务逻辑库和预测算法库,还可以和R Language集成,这是数据挖掘领域非常有用的功能。
建议学习资料:HANA Academy ,SAP Help等
适用对象:原SAP BW/BI/BO从业人员 数据挖掘和分析人员
4 HANA原生开发
HANA最有吸引力也是最有生命力的部分其实在于其原生的开发,HANA内置了一个轻量化的JAVA App server,可以开发server端的js,MVC模式的交互界面,甚至移动端的UI。同时和HANA数据库内嵌集成,性能比外部系统访问HANA还好。我们看到的SAP HANA的很多有意思的案例都是基于HANA的原生开发,例如NBA,环球帆船大赛,国内的农夫山泉等,这些案例几乎都和SAP传统的业务系统没有任何关系,可以说已经超出了SAP的范畴,真正把HANA当一个平台类的软件来使用,这里的想象空间是巨大的,同样涉及到的技术也非常广泛,例如HANA和开源平台的集成(hadoop)等等。这里个人能力有限,只能大致谈一下HANA里面的开发技术。主要有基于HTML5的SAPUI5界面开发,Server Side Java Script的业务逻辑开发,OData/REST Service的数据接口开发以及HANA数据库本身的开发。
建议学习资料:HANA Academy ,SAP Help,SCN HANA开发专版
适用对象: 有JAVA开发经验的开发人员,HANA开发人员
【HANA系列】SAP 一位SAP培训顾问的建议:SAP HANA应该如何学习?的更多相关文章
- 【MM系列】SAP S/4 HANA的物料编码40位设置
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP S/4 HANA的物料编码4 ...
- 【HANA系列】对话SAP全球CEO孟鼎铭:未来最大的发展机遇属于中国中小企业
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]对话SAP全球CEO孟鼎铭:未来 ...
- 【HANA系列】SAP 【第一篇】EXCEL连接SAP HANA的方法(ODBC)
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP [第一篇]EXCEL连接 ...
- 【HANA系列】SAP HANA XS创建XSJOB后台执行
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS创建XSJ ...
- 【HANA系列】SAP HANA的特点总结
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA的特点总结 ...
- 【HANA系列】SAP HANA XS使用JavaScript编程详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...
- 【HANA系列】SAP HANA XS使用Odata标志全解析
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Oda ...
- 【HANA系列】SAP HANA XS使用Data Services查询CDS实体【二】
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Dat ...
- 【HANA系列】SAP HANA XS使用Data Services查询CDS实体【一】
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Dat ...
随机推荐
- nginx-轮询、权重、ip_hash 、fair模式
在 linux 下有 Nginx.LVS.Haproxy 等等服务可以提供负载均衡服 务,而且 Nginx 提供了几种分配方式(策略): 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器 ...
- HashMap,LinkedHashMap,TreeMap的有序性
HashMap 实际上是一个链表的数组.HashMap 的一个功能缺点是它的无序性,被存入到 HashMap 中的元素,在遍历 HashMap 时,其输出是无序的.如果希望元素保持输入的顺序,可以使用 ...
- noi.ac NA536 【打地鼠】
又一道可写的小清新思维题 其实想到倒着做了,然而还是因为T1害人不浅(我太菜了),所以并没有写 考虑两个局面不同,显然至少打了一次地鼠,基于操作的颜色覆盖性质,我们可以考虑把操作倒着做,对于一个X点, ...
- C++内存泄漏的几种情况
1. 在类的构造函数和析构函数中没有匹配的调用new和delete函数 两种情况下会出现这种内存泄露:一是在堆里创建了对象占用了内存,但是没有显示地释放对象占用的内存:二是在类的构造函数中动态的分配了 ...
- HttpServlet容器响应Web客户请求流程?
1)Web客户向Servlet容器发出Http请求: 2)Servlet容器解析Web客户的Http请求: 3)Servlet容器创建一个HttpRequest对象,在这个对象中封装Http请求信息: ...
- Codeforces Round #608 (Div. 2) E. Common Number
链接: https://codeforces.com/contest/1271/problem/E 题意: At first, let's define function f(x) as follow ...
- JAVA笔记9-多态(动态绑定、池绑定)
1.动态绑定:执行期间(而非编译期间)判断所引用对象的实际类型,根据实际的类型调用相应方法. 2.多态存在的三个必要条件(同时):继承.重写.父类引用指向子类对象. 这三个条件满足后,当调用父类中被重 ...
- C# 扩展方法——序列化与反序列化
其他扩展方法详见:https://www.cnblogs.com/zhuanjiao/p/12060937.html 主要是是对日期格式的处理 using Newtonsoft.Json; using ...
- EasyPrtSc sec[1.2] 发布!
//HOMETAG #include<bits/stdc++.h> namespace EasilyPrtSc{ //this namespace is for you to be mor ...
- HGOI20190811 省常中互测4
Problem A magic 给出一个字符串$S$,和数字$n$,要求构造长度为$n$只含有小写字母的字符串$T$, 使得在$T$中存在删除且仅删除一个子串使得$S=T$成立. 输出$T$的构造方案 ...