PostgreSQL 用于 OLAP

45

有没有人在 OLAP 环境下使用过 PostgreSQL,例如对数据库使用多维数据立方(cubes)等。由于在使用 MySQL 进行 OLAP 时遇到了一些特殊情况,因此是否存在使用 PostgreSQL 的优势(假设我想采用开源路线)?


3
我们正在使用 PostgreSQL 9.1 和 Saiku。所有的立方体模式都在 Schema Workbench (Pentaho) 中定义。到目前为止,我没有看到这种配置有任何问题。我们确实有大约 1,000,000 行的事实表,但没有进行任何预聚合也一切运行良好。 - Tomas Greif
2个回答

29

有许多数据仓库软件供应商都基于Postgresql(并定期向核心贡献OLAP相关的更改)。请查看https://greenplum.org/。您会发现,PG比MySQL更适合各种工作负载,特别是OLAP。根据您的数据集和用例,Greenplum和其他类似解决方案应该比PG表现更好。


您是指“Pivotal Greenplum Database”还是社区版本? - Maulik Modi

4

与MySQL相比,PGSQL更适合数据仓库。我们最初考虑使用MySQL,但是如果数据增长到几百万行,则在聚合方面表现不佳。在相同硬件设置下,对于单个事实表的2000万条记录,PGSQL的性能比MySQL快近20倍。如果由于某种原因您选择使用MySQL,则应该为事实表使用MyISAM存储引擎而不是InnoDB; 您将看到稍微更好的性能。


1
只是一点提醒。据我所知,MyISAM引擎不支持ACID事务。大型数据集很可能会像始终具有ACID事务的PostgreSQL一样被破坏。 - eonil
4
在OLAP系统中,ACID大多数情况下是不相关的,因为这些系统是只读环境,除了SCDs之外。ETL过程必须确保数据完整性。这假设您已经实施了星型模式和Kimball的企业DW总线架构。 - Clint Pachl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接