SAP 高性能分析應用軟體(SAP High-Performance Analytic Appliance,SAP HANA)自2011向全球推廣以來,引發資料庫領域大震動。SAP HANA利用其突破性的分析功能,已經為全球客戶的業務運營方式帶來根本性的變革,並成為SAP史上用戶數量增長最快的產品之一。
本書以初學者為核心,全面介紹SAP HANA的基本知識和基於SAP HANA 開發應用的各種技術。由淺入深,讀者循序漸進地掌握SAP HANA相關基本知識的同時,輔以實例和練習;在內容講解上結合豐富的圖解,幫助讀者理解晦澀難懂的技術,快速掌握SAP HANA的知識以及應用方法。
目 錄
第一部分 SAP HANA 基礎知識篇
Chapter 01 認識SAP HANA
1-1??? SAP HANA 的歷史
1-2??? 1-2 先進的平台,前所未有的體驗?
1-3??? 1-3 巨量資料?
1-4 SAP HANA 記憶體中資料庫??
1-5 SAP 記憶體計算??
1-6 SAP HANA 能做什麼?
Chapter 02 SAP HANA 基礎進階
2-1 SAP HANA 平台詳解?
2-2 SAP HANA 元件架構??
2-3 SAP HANA 應用場景??
2-4 SAP HANA 應用程式開發?
2-5 SAP HANA 企業雲端
Chapter 03 SAP HANA 成功案例及即時資料
3-1 SAP HANA 成功案例??
3-1-1 成功案例 —— 農夫山泉??
3-1-2 成功案例 —— 巴斯夫?
3-1-3 成功案例 —— 聯想?
3-2 取得SAP HANA 的最新資料
第二部分 SAP HANA 實作篇
Chapter 04 從實例開始SAP HANA 之旅
Chapter 05 設定SAP HANA 開發環境
5-1 申請試用SAP HANA?
5-1-1 申請SCN 使用者?
5-1-2 申請SAP HANA 開發者實例??
5-1-3 安裝SAP HANA Client 以及 SAP HANA Studio2.2.1? 安裝JDK
5-1-4 連接SAP HANA Studio 到SAP HANA?
5-1-5 SAP HANA Studio 視圖??
5-1-6 自訂視圖?
5-2 SAP HANA Studio 視圖??
5-2-1 系統視圖??
5-2-2 快速視圖?
5-2-3 匯入EPM 發佈單元?
5-3 本章小結與練習?
Chapter 06 SAP HANA 使用者與許可權管理
6-1 概述?
6-2 SAP HANA 特權?
6-3 SAP HANA 角色管理?
6-4 SAP HANA 使用者管理?
6-5 _SYS_REPO 許可權管理?
6-6 常見任務?
6-6-1 建立建模使用者??
6-6-2 使用者密碼設定與重置?
6-6-3 分析特權:許可權控制??
6-6-4 建立唯讀使用者?
6-7 常見問題??
6-8 本章小結與練習
Chapter 07 SAP HANA 資料供應
7-1 簡介??
7-2 本機檔案方式資料匯入?
7-3 CTL 方式資料匯入?
7-4 SLT 方式資料匯入?
7-4-1 SLT 功能?
7-4-2 操作步驟?
7-5 ETL 方式資料匯入?
7-5-1 SAP 資料服務簡介?
7-5-2 使用SAP 資料服務進行資料傳輸?
7-6 本章小結與練習?
Chapter 08 在SAP HANA Studio 中建立資料模型
8-1 基礎概念?
8-1-1 屬性和度量?
8-1-2 屬性視圖、分析視圖和計算視圖?
8-1-3 建模決策樹?
8-2 SAP HANA Studio 之資料表操作?
8-2-1 建立資料表??
8-2-2 連接資料表?
8-2-3 匯入和匯出資料表??
8-3 SAP HANA Studio 之套件簡介
8-3-1 套件簡介?
8-3-2 建立套件?
8-3-3 定義套件特權?
8-4 建立屬性視圖?
8-5 建立分析視圖?
8-5-1 事實資料表?
8-5-2 建立分析視圖?
8-6 建立計算視圖?
8-6-1 建立計算視圖的準備??
8-6-2 建立以SQL 指令稿為基礎的計算視圖??
8-6-3 建立以圖形化工具為基礎的計算視圖?
8-7 本章小結與練習?
Chapter 09 SAP HANA SQL 基礎
9-1 SAP HANA SQL 簡介?
9-2 定義資料DDL?
9-2-1 資料類型??
9-2-2 建立列儲存資料表??
9-2-3 資料表操作?
9-3 操作資料DML?
9-3-1 SELECT —— 從單表或視圖讀取資料?
9-3-2 SELECT —— 從多個表和視圖中讀取資料?
9-3-3 複雜SELECT 敘述詳解
9-3-4 子查詢??
9-3-5 更新資料??
9-3-6 建立和修改SQL 視圖?
9-4 資料控制語言?
9-5 關於NULL 值?
9-6 本章小結與練習?
Chapter 10 SAP HANA SQL Script
10-1 SQL Script 簡介??
10-1-1 業務流程邏輯和宣告邏輯?
10-1-2 SAP HANA SQL Script 對標準SQL 的擴充?
10-2 SAP HANA 預存程序??
10-2-1 預存程序敘述和建立方式?
10-2-2 案例介紹:出版商和書籍?
10-2-3 建立主資料表??
10-2-4 建立資料表類型??
10-2-5 第一個預存程序的實例??
10-2-6 預存程序的呼叫??
10-2-7 預存程序的呼叫 —— WITH OVERVIEW參數?
10-2-8 使用WITH RESULT VIEW參數建立預存程序??
10-3 SQL Script 技術要點??
10-3-1 變數和參考 .?
10-3-2 邏輯控制??
10-3-3 游標?
10-3-4 動態SQL?
10-3-5 計算引擎函數?
10-3-6 預存程序系統屬性資訊?
10-4 SQL Script 開發注意事項?
10-5 透過ABAP 呼叫預存程序?
10-5-1 基礎簡介?
10-5-2 建立ADBC 資料庫連接??
10-5-3 呼叫預存程序?
10-6 本章小結與練習??
Chapter 11 SAP HANA OpenData 服務
11-1 SAP HANA 擴充應用服務??
11-2 SAP HANA XS-OData 服務?
11-2-1 為定義OData 服務準備基礎環境?
11-2-2 為定義OData 服務準備資料來源??
11-2-3 定義OData 服務檔案?
11-2-4 建立簡單的OData 服務??
11-2-5 OData 服務資料請求 —— 查詢?
11-3 建立複雜的OData 服務?
11-3-1 為OData 服務定義屬性對映?
11-3-2 為OData 服務定義連結?
11-3-3 為OData 服務定義關鍵字?
11-3-4 為OData 服務定義聚合
Chapter 12 撰寫SAP HANA 伺服器端應用
12-1 建立簡單的XSJS 應用
12-1-1 建立發佈單元
12-1-2 建立倉儲工作區和專案
12-1-3 建立套件
12-1-4 分享專案
12-1-5 建立應用描述檔案
12-1-6 建立應用存取檔案
12-1-7 撰寫伺服器端JavaScript
12-1-8 開放資料來源資料
12-2 應用程式設計發展介面?
12-2-1 資料庫類別API1
12-2-2 請求處理類別API
12-2-3 出站類別API
12-2-4 定義HTTP Destinations?
12-2-5 使用HTTP Destinations?
12-3 SAP HANA XSJS 函數庫?
12-3-1 建立函數庫檔案?
12-3-2 呼叫函數庫檔案
12-4 本章小結與練習
Chapter 13 R 語言在SAP HANA 中的應用
13-1 R 語言初步接觸?
13-1-1 R 語言簡介
13-1-2 R 語言環境簡介
13-1-3 R 套件
13-2 R 語言基礎?
13-2-1 R 語言資料結構?
13-2-2 R 語言產生資料?
13-2-3 索引的使用
13-2-4 常用數學和統計函數
13-2-5 程式流控制
13-2-6 R 指令稿實例?
13-3 R 語言與SAP HANA 整合設定13-3-1 安裝R 語言?
13-3-2 安裝Rserve
13-3-3 設定SAP HANA 參數?
13-3-4 測試HANA 與R 語言連接
13-4 R 應用場景 —— 嵌入式R 程式
13-5 範例
13-6 本章小結與練習
Chapter 14 以網頁環境為基礎的SAP HANA 工具
14-1 SAP HANA 簡化版編輯工具
14-1-1 建立簡單的"Hello World" 應用?
14-1-2 快速為行動裝置建立應用
14-1-3 建立伺服器端JavaScript 應用
14-1-4 Debug 伺服器端JavaScript 應用14-2 其他工具概覽
14-3 本章小結與練習
序
序
自2010 年公開面世以來,SAP HANA 正以SAP 產品研發史上前所未有的速度增強和進化。隨著越來越多的客戶將核心業務移轉到SAP HANA 上來,企業級記憶體計算技術已經被證明是高效可行的。以SAP HANA 架設為基礎的技術平台和加值應用已經開始顯著改變企業級計算環境,企業業務模式整體轉變逐漸成為可能。我們欣喜地看到許多來自不同地域、不同產業的客戶正從以SAP HANA 為基礎的解決方案中獲益。
從應用程式開發人員的角度看,SAP HANA 憑藉其廣泛的標準相容性降低了開發者學習的門檻。全面實現ACID 表示SAP HANA 具備了交易類型資料庫的最小性、一致性、隔離性與持久性,對標準結構化查詢語言以及ODBC、JDBC、MDX 等常見介面的完整支援確保廣大開發者可以直接將SAP HANA 作為通用關聯式資料庫管理系統來使用。傳統資料倉儲開發人員稍加學習,即可透過SAP HANA 整合的視覺化可程式化多維資料建模工具建立複雜資料分析模型。以內建為基礎的擴充應用服務,開發者可以使用熟悉的C 語言、C++ 或伺服器端JavaScript 語言輕鬆建立豐富的應用邏輯。其與Hadoop、R 等開放環境的存取介面,使得多工資料分析處理領域已有的研發成果成為可能。SAP HANA 的這些特性使廣大不同專業技術背景的應用程式開發人員快速找到切入點,開始進入更深入的內容探索。
作為一項顛覆性的重大創新,SAP HANA 突破了傳統企業級應用設計模式,使用單一系統同時處理連線交易型和分析型工作負載,將應用服務層合併到資料庫管理系統內部,利用以記憶體計算為基礎的列式儲存技術提升資料處理效能並降低整體擁有成本,內嵌高效預測分析函數庫以簡化即時預測分析型應用程式開發,取消了預設資料表索引並原生支援文字分析及全文檢索。企業級資料處理和分析應用透過SAP HANA 這些創新的進階特性,其效能達到了極致。如何全面掌握各個元件的功能特點和使用方法並加以綜合運用,進而充分發揮SAP HANA 平台的優勢,對開發人員提出了更高的要求。