有什么论点和反对使用 Greenplum 代替 PostgreSQL 在WebApp中(django) 环境?

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

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

需要对比的区域是二进制的 data crunching, ,在 replication 和我个人的最爱: communitiy support 和熟练的工程师支持。

使用GreenPlum而不是PostgreSQL的利弊是什么?

有帮助吗?

解决方案

除了快速浏览您发送的链接外,我对GreenPlum的了解不多。数据仓库与交易操作数据存储不同。前者用于临时查询,统计分析,维度分析,读取大量访问历史数据。后者用于实时,读/写操作数据。他们免费。

我猜你想要postgresql。

谁在向您推开绿色,为什么?如果是作为替代方案提出的,我会更深入地挖掘并反驳这一论点。

其他提示

GreenPlum是PostgreSQL的MPP改编。它针对大量数据集进行了优化,用于仓储和/或分析,并且在交易环境中无法很好地执行。如果您需要大型DW环境,请查看GreenPlum。如果您需要OLTP或较小的DB尺寸(低于10TB),请查看PostgreSQL。

由于GreenPlum利用并行处理,因此将有大量读取查询的开销,因为主节点需要与基础数据节点进行通信以检索所有这些查询的答案。对于毫秒毫秒的查询,预计GreenPlum的性能较慢。

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

就像其他评论中提到的那样,对于许多小毫秒的查询,它的表现不佳,但会为您提供长期运行的查询。 GridSQL还将不包括GreenPlum具有的DW优化,但是您可以利用约束排除分区(例如:按日期范围)与并行性结合使用,以更快地获得查询结果。

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

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

WebApp后端将始终创建OLTP工作负载。 GreenPlum是一个分布式系统,因此具有很大的用于交易处理的开销,因此不要指望这为您提供超过500-600 TPS。相比之下,Postgres可以通过正确的调整来延伸到数十万TP。

相比之下,当您需要OLAP工作负载时,Postgres只能为您提供一个主机处理,没有动态分区消除,没有压缩,没有柱状商店的分区。虽然GreenPlum将能够在集群上并行处理数据。

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

目前

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

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

如果任何数据处理需要超过一个小时,则您将为您添加的每个核心提供线性性能提高。对于任何花费更少的时间来解决的事情,这并不值得。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top