10

支持和反对在 webapp ( ) 环境中使用Greenplum而不是使用的论据是什么?PostgreSQLdjango

我的直觉反应是更喜欢 PostgreSQL 的开源方法和庞大的知识库。

我的配置(尽管我很想听听任何其他配置)是一家中型企业,拥有 2 个 Web 服务器和(目前)2 个数据库服务器。

对比的领域是二进制data crunching、节点数replication和我个人最喜欢的:communitiy support以及熟练的工程师支持。

使用 Greenplum 而不是 PostgreSQL 的优缺点是什么?

4

7 回答 7

11

除了快速浏览您发送的链接外,我对 Greenplum 了解不多。数据仓库与事务性操作数据存储不同。前者用于即席查询、统计分析、维度分析、以读取为主的历史数据访问。后者用于实时读取/写入操作数据。他们是免费的。

我猜你想要 PostgreSQL。

谁在向你推 Greenplum,为什么?如果将其作为替代方案提出,我会深入挖掘并反驳这一论点。

于 2011-03-15T11:33:53.537 回答
8

Greenplum 是 PostgreSQL 的 MPP 改编版本。它针对大型数据集的仓储和/或分析进行了优化,在事务环境中表现不佳。如果您需要大型 DW 环境,请查看 Greenplum。如果您需要 OLTP 或更小的数据库大小(低于 10TB),请查看 PostgreSQL。

于 2011-09-27T15:35:52.103 回答
4

Greenplum 是一种 MPP 分析 (OLAP) DBMS。PostgreSQL 是一个 OLTP DBMS。总的来说,市场上没有一个解决方案可以同时擅长 OLAP 和 OLTP,你可以在这里找到我的想法

WebApp 后端将始终创建 OLTP 工作负载。Greenplum 的事务处理开销很大,因为它是一个分布式系统,所以不要指望它可以为您提供超过 500-600 TPS。相比之下,Postgres 通过正确的调整可以达到数十万的 TPS。

相比之下,当您需要 OLAP 工作负载时,Postgres 只能为您提供单个主机处理,无需使用动态分区消除进行分区,无需压缩,无需列式存储。而 Greenplum 将能够在集群上并行处理您的数据。

因此,您正在寻找的解决方案是一个典型的数据仓库案例 - 使用 OLTP 解决方案处理高事务工作负载,使用 ETL/ELT 将数据提取到 DWH,然后在其上运行复杂的数据处理查询

目前 PostgreSQL 和 Greenplum 都是开源产品,所以你可以自由选择它们中的任何一个,但因为 PostgreSQL 社区是更大的 ATM

于 2015-11-23T12:43:43.090 回答
3

由于 Greenplum 使用并行处理,运行大量微小的读取查询会产生开销,因为主节点需要与底层数据节点通信以检索所有这些查询的答案。对于需要几毫秒的查询,预计 Greenplum 的性能会降低一个数量级。

于 2011-03-15T13:27:11.370 回答
3

如果您正在寻找基于 PostgreSQL 的数据仓库解决方案,我也会考虑 GridSQL。它是多个 PostgreSQL 实例上的并行化层,并且是免费和开源的。

就像在其他评论中提到的那样,它对于许多小毫秒查询来说表现不佳,但对于长时间运行的查询会有很大帮助。GridSQL 也不会包含像 Greenplum 那样的列存储这样的 DW 优化,但是您可以利用约束排除分区(例如:按日期范围划分的子表)结合并行性来更快地获得查询结果。

您甚至可以在单个多核服务器上使用它,因为 PostgreSQL 在处理查询时只会使用单核。

于 2011-03-16T11:51:54.630 回答
2

我认为 Greenplum 更好地利用了并行处理。不过,它基于 PostgreSQL。

Greenplum 有一个免费的社区版。您始终可以在自己的环境中下载和测试。

于 2011-03-15T13:20:38.373 回答
1

如果任何数据处理时间超过一个小时,您添加的每个内核都会获得线性性能提升。对于任何需要更少时间来完成的事情,这真的不值得付出努力。

于 2011-05-12T16:51:28.057 回答