【问题标题】:Postgresql for OLAP用于 OLAP 的 Postgresql
【发布时间】:2010-12-19 05:14:00
【问题描述】:

有没有人有使用 PostgreSQL 进行 OLAP 设置、使用多维数据集来处理数据库等方面的经验。在使用 MySQL 进行 OLAP 时遇到了许多特质,是否有理由支持使用 PostgreSQL(假设我想走开源路线)?

【问题讨论】:

  • 我们使用的是 PostgreSQL 9.1 和 Saiku。所有多维数据集模式都在 Schema Workbench (Pentaho) 中定义。到目前为止,我没有看到这种配置有任何问题。我们确实有大约事实表。 1,000,000 行,无需任何预聚合即可正常运行。

标签: postgresql olap cubes


【解决方案1】:

有许多基于 Postgresql 的数据仓库软件供应商(并且相当定期地将与 OLAP 相关的更改贡献回核心)。查看https://greenplum.org/。您会发现 PG 比 MySQL 工作得更好(对于几乎任何工作负载,尤其是 OLAP)。根据您的数据集和用例,Greenplum 和其他类似的解决方案应该比 PG 工作得更好。

【讨论】:

  • 您是指“Pivotal Greenplum Database”还是社区版?
【解决方案2】:

与 MySQL 相比,PGSQL 更适合数据仓库。我们最初考虑使用 MySQL,但如果数据增长到几百万行,它在聚合中的性能很差。 PGSQL 与 MySQL 相比,在相同硬件设置上为单个事实表处理 2000 万条记录时,其执行速度几乎快 20 倍。如果出于某种原因你选择使用 MySQL,那么你应该使用 MyISAM 存储引擎来存储事实表而不是 InnoDB;你会看到稍微好一点的性能。

【讨论】:

  • 只是一个注释。 AFAIK,MyISAM 引擎不支持 ACID 事务。大型数据集很可能像 PostgreSQL 一样被破坏,它始终是 ACID 事务性的。
  • ACID 在 OLAP 系统中几乎不相关,因为它们是只读环境,SCD 除外。 ETL 过程必须确保数据完整性。这假设您已经实现了星型模式和 Kimball 的企业 DW 总线架构。
猜你喜欢
  • 2019-06-07
  • 2012-10-31
  • 1970-01-01
  • 2011-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多