分析型 SQL 服务器 - 支持 OLAP 的下一代分析型数据仓库

发布于 2008-01-11

分析型 SQL 服务器是下一代数据仓库模型的实现(目前仅适用于 PostgreSQL 服务器),它在 SQL 服务器端具有完整的 OLAP 功能和分析处理支持(数学模型、统计模型等)。

ASQL 的主要特点是构建超大规模的 BI(商业智能)和 AI(分析智能)解决方案,克服当今系统中广泛使用的已知限制。

* 金融领域(控制、预算、预测;MiFID);

* 银行业(BASEL II、信用评分、预测、欺诈、洗钱);

* 保险业(偿付能力 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 多维数据集 - 例如:对于时间维度 [年、季度、月、日、小时],可以定义在月份级别聚合的多维数据集 [年、季度、月],而无需重新定义维度。

支持使用本机 PostgreSQL 接口对 ROLAP 多维数据集表进行分区。

多维数据集的重建在后台完成,无论是全部重建还是增量重建,都不需要停止数据库服务。

o 分析型 SQL 服务器中的其他 DataMart ROLAP 结构

* 向量聚合;

* 分层向量聚合;

* 链式聚合。

向量聚合用于

* 面向主题的数据集市多维数据集;

* 对数据集进行分组(客户组、产品组)。

分层向量聚合用于在分层上下文中对数据集进行分组。

链式聚合是允许存储数据链的数据结构,例如现金流链、供应链和物流、工作流状态更改链。

o 分析型 SQL 服务器支持数据库服务器上的 OLAP 操作

* 透视;

* 下钻;

* 上卷;

* 切片;

* 切块;

* 交叉钻取、穿透钻取;

* 将向量展开为表/树;

* 将表/树上卷为向量;

* 批量向量操作。

非常重要的是,下钻/上卷操作基于本机 PostgreSQL SQL 语言语法,不需要任何额外的 SQL 子句,如 CUBE、ROLLUP(在 ASQL 中,无需以 ORACLE 的形式实现这些 SQL 语句,它们甚至是不受欢迎的)。

此致,

Blazej Oleszkiewicz

这篇文章已从 PostgreSQL 网站的先前版本迁移。对于迁移导致的任何格式问题,我们深感抱歉。