2025年9月25日: PostgreSQL 18 发布!

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

发布于 2008-01-11

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

ASQL 的主要特点是能够构建超大规模的 BI(商业智能)和 AI(分析智能)解决方案,从而克服当今系统普遍存在的已知限制,广泛应用于

* 金融业(成本控制、预算、预测;MiFID);

* 银行业(巴塞尔协议 II、信用评分、预测、欺诈、洗钱);

* 保险业(偿付能力 II);

* 医疗保健行业;

* 通用数据分析;

Analytic SQL Server 的首次商业应用是名为 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

下面是对 Analytic SQL Server 中的数据仓库模块和 OLAP 功能的简要描述。

o Analytic SQL Server 中的 ROLAP 存储模型

ASQL 中的数据仓库模块支持所有已知的模式

* 星型模式

* 雪花模式

* 事实星座模式

ASQL 中现有的 ROLAP 数据结构可以轻松集成到数据库驱动的应用程序中(例如:将维度用作应用程序中的字典)。

o Analytic SQL Server 中的 ROLAP 维度

在 ASQL 中,维度基于分层表(支持表格或分层数据处理的 SQL 数据结构,此外分层数据还可以递归或迭代地处理)。

Analytic SQL Server 中的维度

* 完全兼容经典 OLAP 维度模型(在 ASQL 中,这些是统一维度);

* 定义非统一维度;

* 维度中的任何元素都是可识别的(ASQL 提供完整的维度粒度)。

统一维度和非统一维度之间的区别可通过以下示例进行说明

公司组织结构(统一维度)

* 公司

* 部门

* 分支

* 科室

* 小组

* 员工

每位员工在组织结构 [公司、部门、分支、科室、小组] 中都有特定的角色。

公司组织结构(非统一维度)

* 公司

* 部门

* 员工

* 分支

* 员工

* 科室

* 员工

* 小组

* 员工

* 公司分支 1(在其他国家)

* 分支

* 员工

* 科室

* 员工

* 公司分支 2(在其他国家)

* 分支

* 员工

在此示例中,每位员工可能属于组织结构中的任何节点,例如

[公司、部门],

[公司、部门、分支、科室、小组],

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

重要的一点是:在 ASQL 中,层次结构中的每个元素都是可识别的,因此 ROLAP 事务中的数据聚合可以在每个维度级别上进行。

o Analytic SQL Server 中的事实表

ASQL 中的事实表与其他 ROLAP 数据仓库系统相同,并且可以使用原生的 PostgreSQL 接口进行分区。

o Analytic SQL Server 中的 ROLAP 事务

* 完全 ROLAP 事务;

* 部分 ROLAP 事务;

完全 ROLAP 事务代表了所有事务维度与基于事实的度量的笛卡尔积。

部分 ROLAP 事务代表了事实表中所有事实及其来自维度的子维度与基于事实的度量的笛卡尔积。

ROLAP 事务存储了从所有构成事务的子维度聚合而来的数据(MOLAP 系统提供的功能)。

在任何维度级别上定义 ROLAP 事务 - 示例:对于时间维度 [年、季度、月、日、时],可以在月度级别 [年、季度、月] 上定义聚合事务,而无需重新定义维度。

支持使用原生的 PostgreSQL 接口对 ROLAP 事务表进行分区。

事务的重建在后台进行,可以是完全重建或增量重建,并且不需要停止数据库服务。

o Analytic SQL Server 中的附加 DataMart ROLAP 结构

* 向量聚合;

* 分层向量聚合;

* 链聚合。

向量聚合用于

* 面向主题的数据集市事务;

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

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

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

o Analytic SQL Server 在数据库服务器上支持 OLAP 操作

* 枢轴;

* 下钻;

* 上卷;

* 切片;

* 切块;

* 跨钻、穿透;

* 展开向量到表/树;

* 将表/树卷入向量;

* 批量向量操作。

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

致意,

Blazej Oleszkiewicz

本文已从先前版本的 PostgreSQL 网站迁移。对于迁移过程中可能出现的任何格式问题,我们深表歉意。