從HANA本質來講大家都知道,就是一個數據庫,和Oracle,SQL Server 沒啥本質的區別,記憶體計算、列式儲存也不是啥新玩意,所以學習HANA和學習一個新的資料庫從這個角度看也非常類似,當然HANA有其非常獨特的特性(其實哪個資料庫沒有),其中最重要最本質而且未來會一直延續的特性就是HANA和SAP其他產品之間千絲萬縷的聯絡,這一點對學習HANA的人而言會存在一定的挑戰,當然挑戰就意味著機會。
只會開發資料庫的Developer恐怕很難生存,因為目前絕大多數大型應用都不太會繫結某個資料庫,除了一些特殊產品以外,在資料庫層面做的開發都不會太多,絕大多數developer都是兼做資料庫的開發,但HANA不太一樣,由於其記憶體計算的特性,使用HANA必定要將應用邏輯下沉,這點造成了大量的HANA資料庫開發需求,舉個例子:未來隨著ECC on HANA的普及,ECC本身的很多應用邏輯都不一定下沉到HANA重寫,別說客戶自己的定製開發了,而客戶自己的定製開發恰恰又以查詢類為主,光把ABAP報表改寫到HANA的事就夠多的了,加上基於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調個引數還需要別人,競爭力就明顯弱了。
2. 資料庫開發
只會開發資料庫的Developer恐怕很難生存,因為目前絕大多數大型應用都不太會繫結某個資料庫,除了一些特殊產品以外,在資料庫層面做的開發都不會太多,絕大多數developer都是兼做資料庫的開發,但HANA不太一樣,由於其記憶體計算的特性,使用HANA必定要將應用邏輯下沉,這點造成了大量的HANA資料庫開發需求,舉個例子:未來隨著ECC on HANA的普及,ECC本身的很多應用邏輯都不一定下沉到HANA重寫,別說客戶自己的定製開發了,而客戶自己的定製開發恰恰又以查詢類為主,光把ABAP報表改寫到HANA的事就夠多的了,加上基於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整合,這是資料探勘領域非常有用的功能。
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開發人員
以上答案來自於SAP中文學習網。