我正在尝试为大数据分析设置一个测试平台(基本上大约 2 到 3 TB 的基础,轻微写入 [仅提供数据库],但可能出于分析目的读取密集查询)。
由于我对 vanilla PostgreSQL 有一定的经验(但有 10GB 的基础),我正在考虑尝试 9.1 新的同步复制来实现负载平衡。目标是让 Tableau 响应迅速。因此,我可以避免昂贵的 MPP GreenPlum、AsterData 等。
但是,我想知道: - 直接使用 MPP 数据库(例如 GreenPlum)是否是个好主意?(对于 2-3 TB,真的需要 Greenplum 吗?) - 一旦同步复制启动并运行,我应该如何配置我的应用程序?负载平衡是由主机完成还是需要其他解决方案(例如 Pgpool)?
谢谢你的见解!
原则上,2-3TB 应该可以在不诉诸无共享架构的情况下完成,但 Vanilla PostgreSQL 仍然不具备良好的并行查询功能。通过复制您将实现的就是能够将查询分配给各个节点。我不认为 PostgreSQL 支持开箱即用的联合查询,而且我会非常惊讶地发现 Tableau 在客户端直接支持分片。我猜想 PostgreSQL 在这么大的数据集上不会表现得很好。
\n\nPostgreSQL 的并行查询工具正在进行中,但据我所知,它没有包含在 9.1 中。我的直觉是,未来几年的某些版本将包含此功能,但目前还没有完全实现。我没有看到有证据表明在联合查询工具上投入了大量精力。
\n\n另一种选择:SQL Server
\n\n除非您使用 Postgres,否则您可能会发现对于 2-3TB 数据集,SQL Server 为 Greenplum 提供了一个经济高效的选项。它是通过插槽而不是核心来授权的,因此装载 2-4 个插槽的 Xeon 或 Opteron 盒子作为平台是物有所值的。对于较小的用户群,我相信您仍然可以通过 CAL 获得企业版许可。
\n\n高端 RAID 控制器上的几个 24/25 磁盘阵列的顺序读取速度足以使 PCIe-x8 插槽饱和(2GB/秒)。使用 SQL Server 的简单表扫描查询将以这种速率处理数据,而无需使用太多 CPU(显然取决于实际计算),因此如果您想要更快的 I/O,您有一些空间来添加控制器和数组。
\n\nSQL Server 还附带了一套还算不错的 BI 工具,包括 OLAP 服务器。Tableau 不便宜,上次看的时候大概是\xc2\xa31,800/座。根据用户数量,您可能会发现 SQL Server 附带的“足够好”工具无论如何都可以抵消数据库许可证的成本。大多数第三方报告工具也可以很好地与 SQL Server 配合使用。
\n\n免责声明:我不是任何顽固的 Microsoftie,但在过去十年左右的时间里,我使用 SQL Server 和 Oracle 完成了大量 BI 工作。SQL Server实际上是一个相当不错的BI平台。
\n