【发布时间】:2019-01-24 08:17:37
【问题描述】:
我有一个主要用例,我想要一个使用 Postgres 的事务性关系数据库。
我还需要对数据进行频繁的聚合查询(计数、总和、平均值)。这些统计信息无法预先计算,因为我们必须提供多个搜索过滤器。
我最初考虑使用 Redshift 作为辅助存储,它可以为这些查询提供服务,但随后我还需要构建一个系统来保持两个存储之间的数据同步。
有没有更好的方法来实现这一点?
【问题讨论】:
-
您是否确认您当前的 Postgres 服务器无法及时处理这些查询?尤其是 Postgres 11,它改进了对并行查询的支持,如果您拥有良好的硬件,JIT 可能就足够了。
-
一些初始测试没有给我们想要的结果。虽然,我们可能会用 Redshift 本身得到类似的结果。我们的表总共有大约 200 GB 的数据,一些计数查询请求需要多达 10 秒。相比之下,由于我们的数据检索是分页的,因此我们能够以毫秒为单位提供结果。
-
另外,我们目前有 Postgres 9.6,但我们也可以考虑升级。
-
请注意,Postgres 12 将生成列:2ndquadrant.com/en/blog/generated-columns-in-postgresql-12
标签: database postgresql amazon-redshift