分析型 SQL 伺服器 - 支援 OLAP 的新一代分析型資料倉儲

發布於 2008-01-11

分析型 SQL 伺服器是下一代資料倉儲模型的實作(目前僅適用於 PostgreSQL 伺服器),具有完整的 OLAP 功能和分析處理支援(數學模型、統計模型等),均在 SQL 伺服器端進行。

ASQL 的主要特色是建構非常大規模的 BI(商業智慧)和 AI(分析智慧)解決方案,擺脫當今系統中廣泛使用的已知限制,應用於:

* 金融業(控制、預算、預測;MiFID);

* 銀行業(BASEL II、信用評分、預測、詐欺、洗錢);

* 保險業(Solvency II);

* 醫療保健產業;

* 一般用途的資料分析;

分析型 SQL 伺服器的第一個商業用途是名為 SART(交易註冊和分析系統)的應用程式,用於收集資料和進階分析銀行交易(包括現金流鏈),以防止利用金融系統進行洗錢和資助恐怖主義(歐盟指令實施:2006/60/EC)。

完整的指令文字請參閱

http://europa.eu.int/eur-lex/lex/LexUriServ/site/en/oj/2005/l_309/l_30920051125en00150036.pdf).

在 2007 年 12 月 15 日之後,歐盟的大多數金融機構(包括銀行)都必須實施此指令。

系統實施由 TETA SA 公司在波蘭的一家銀行執行。(目前,資料倉儲部署階段已經完成)。

商務聯繫

Wojciech Merchelski

電子郵件:w.merchelski(at)teta(dot)com(dot)pl

www.teta.com.pl

如有任何關於 ASQL 技術背景的問題,請聯絡我

Blazej Oleszkiewicz

電子郵件:blajan(at)poczta(dot)fm

以下是分析型 SQL 伺服器中資料倉儲模組和 OLAP 功能的簡短說明。

o 分析型 SQL 伺服器中的 ROLAP 儲存模型

ASQL 中的資料倉儲模組支援所有已知的架構

* 星形架構

* 雪花架構

* 星座架構

ASQL 中現有的 ROLAP 資料結構可以輕鬆地整合到資料庫驅動的應用程式中(例如:在應用程式中使用維度作為字典)。

o 分析型 SQL 伺服器中的 ROLAP 維度

在 ASQL 中,維度基於階層式表格(SQL 資料結構,可實現表格或階層式資料處理,此外,階層式資料可以遞迴或迭代方式處理)。

分析型 SQL 伺服器中的維度

* 與傳統 OLAP 維度模型完全相容(在 ASQL 中,這些是統一維度);

* 定義非統一維度;

* 維度中的任何元素都是可識別的(ASQL 提供完整的維度粒度)。

以下示例說明了統一維度和非統一維度之間的差異

公司中的組織結構(統一維度)

* 公司

* 部門

* 分公司

* 科室

* 小組

* 員工

每位員工在組織結構中都扮演特定的角色 [公司、部門、分公司、科室、小組]。

公司中的組織結構(非統一維度)

* 公司

* 部門

* 員工

* 分公司

* 員工

* 科室

* 員工

* 小組

* 員工

* 公司 1 的分公司(在其他國家/地區)

* 分公司

* 員工

* 科室

* 員工

* 公司 2 的分公司(在其他國家/地區)

* 分公司

* 員工

在此示例中,每位員工可以屬於組織結構中的任何節點,例如

[公司、部門],

[公司、部門、分公司、科室、小組],

[公司分公司、分公司、科室]。

重要事實是:在 ASQL 中,階層中的每個元素都是可識別的,因此 ROLAP 立方體中的資料聚合在每個維度層級上都有效。

o 分析型 SQL 伺服器中的事實資料表

ASQL 中的事實資料表與其他 ROLAP 資料倉儲系統相同,並且可以使用原生 PostgreSQL 介面進行分割。

o 分析型 SQL 伺服器中的 ROLAP 立方體

* 完整的 ROLAP 立方體;

* 部分的 ROLAP 立方體;

完整的 ROLAP 立方體表示所有立方體維度的笛卡爾積,以及基於事實的度量。

部分的 ROLAP 立方體表示所有事實的笛卡爾積,來自事實資料表,以及來自維度的子維度,以及基於事實的度量。

ROLAP 立方體儲存從組成立方體的所有子維度聚合的資料。(MOLAP 系統提供的功能)。

在任何維度層級上定義 ROLAP 立方體 - 範例:對於時間維度 [年、季、月、日、時],可以定義在月份層級聚合的立方體 [年、季、月],而無需重新定義維度。

支援分割 ROLAP 立方體表格,使用原生 PostgreSQL 介面。

立方體的重建在後台完成,可以是完整或增量的,並且不需要停止資料庫服務。

o 分析型 SQL 伺服器中的其他 DataMart ROLAP 結構

* 向量聚合;

* 階層式向量聚合;

* 鏈聚合。

向量聚合用於

* 面向主題的 Data Mart 立方體;

* 對資料集進行分組(客戶群、產品群)。

階層式向量聚合用於在階層式上下文中對資料集進行分組。

鏈聚合是允許儲存資料鏈的資料結構,例如現金流鏈、供應鏈和物流、WorkFlow 狀態變更鏈。

o 分析型 SQL 伺服器支援在資料庫伺服器上執行 OLAP 操作

* 樞紐分析 (Pivoting);

* 向下鑽取 (Drill Down);

* 向上彙總 (Roll Up);

* 切片 (Slicing);

* 切塊 (Dicing);

* 跨表鑽取 (Drill Across)、貫穿鑽取 (Drill Through);

* 將向量展開為表格/樹狀結構;

* 將表格/樹狀結構彙總為向量;

* 批量向量操作。

非常重要的是,向下鑽取/向上彙總操作基於原生 PostgreSQL SQL 語言語法,不需要任何額外的 SQL 子句,例如 CUBE、ROLLUP(在 ASQL 中,無需以 ORACLE 的形式實作這些 SQL 語句,甚至是不需要的)。

此致,

Blazej Oleszkiewicz

此文章已從 PostgreSQL 網站的先前版本遷移。對於遷移造成的任何格式問題,我們深感抱歉。