postgresql - Greenplum 中的 TB 级数据库
问题描述
我目前正在使用greenplum来测试 1GB 之类的小规模数据。
由于 greenplum 被称为“PB 级”,我想知道是否值得将 1 TB 或 10 TB 的数据量用于此 MPP 处理而不是普通的 PostgreSQL 数据库。我所有的网络接口都有 10 Mb/s 用于从属和主控。
最佳实践不包括这些注意事项。问题是,由于网络处理,可能有一个“小数据库”会产生很差的结果。您是否已经实现了这种规模的数据库?
解决方案
PostgreSQL 和 Greenplum 的工作负载不同。PostgreSQL 非常适合 OLTP、带有索引查找的查询、引用完整性等。您通常也知道 OLTP 数据库中的查询模式。它当然可以满足一些数据仓库或分析需求,但它可以通过购买更大的机器来扩展,它有更多的 RAM 和更多的内核和更快的磁盘。
另一方面,Greenplum 专为数据仓库和分析而设计。您在不知道用户将如何查询数据的情况下设计数据库。这意味着顺序读取、无索引、全表扫描等。它可以做一些 OLTP 工作,但不是为它设计的。您可以通过向集群添加更多节点来扩展 Greenplum。这为您提供了更多的 CPU、RAM 和磁盘吞吐量。
你的用例是什么?这是选择 Greenplum 还是 PostgreSQL 的最大决定因素。
推荐阅读
- python - 如何计算组内值的平均百分比?
- java - JPA:仅当结果集不为空时才缓存查询
- c# - C# - 添加“网络位置”,而不是映射驱动器
- c# - 我正在尝试使用 C# 在 Excel 中删除一行,但它不起作用
- python - Python unittest,如果它在一个类中,如何单独测试函数?
- azure-data-factory-2 - 将查找结果分配到性能更好的数组中
- sql - 存储过程与 TSQL 代码结果不匹配
- sql - 每条记录的运行总百分比占总和。Presto/雅典娜/SQL
- python - 在 inkscape 扩展中,如何获取路径部分的数据?
- c++ - 如何避免C++中数据类型宽度之外的按位运算