AWS Aurora Postgres 中的并行 plans/queries
Parallel plans/queries in AWS Aurora Postgres
并行,我的意思是将单个(分析)查询的工作负载分配给多个线程甚至副本。
我看到 OSS Postgres 从 9.6 开始支持它们:https://www.postgresql.org/docs/9.6/static/parallel-plans.html
AWS Aurora 添加了预览,但仅针对 MySQL 变体:https://aws.amazon.com/about-aws/whats-new/2018/02/amazon-aurora-parallel-query-is-available-for-preview/
但是普通的 AWS RDS(不是 Aurora)确实支持它们,因为有 Postgres 9.6:
https://aws.amazon.com/blogs/database/performing-parallel-queries-and-phrase-searching-with-amazon-rds-for-postgresql-9-6-1/
- 我推断 AWS Aurora Postgres 不 支持并行计划是否正确?
- 如果是这样,这是否意味着普通 RDS Postgres 在分析查询方面可能比 Aurora 更高效?
- 关于 Aurora Postgres 查询并行性的未来支持的任何知识?
非常感谢!
一些解释:
"parallel plans" 在 postgres9.6+ 中会做你想做的事:通过启动并行执行进程来加速单个查询。
Aurora "parallel query" 对于 MySQL 是完全不同的东西,尽管它也会产生您想要的结果。
Aurora(适用于 MySQL 和 postgres)有一个特殊的分布式存储层,保留 6 个冗余副本,可用于只读副本和故障恢复。 "parallel query" 利用此存储层(包括存储和关联的 CPU 来管理存储)来执行一些查询计算,卸载 DB VM。
例如,过滤掉与查询无关的行和列可以下推到存储层,而不是将所有数据读回 VM 并在那里丢弃。
总而言之:
"parallel plans" in postgres9.6+ 在虚拟机中创建并行执行进程
"parallel query" 在 Aurora 中将计算下推到存储层,卸载 VM。
您的问题的答案:
- 正确
- 也许:见上文。取决于将数据过滤下推到存储层所获得的收益。
- 根据 AWS 博客,"parallel query" for postgres 正在开发中:
"We are launching with support for MySQL 5.6, and are working on support for MySQL 5.7 and PostgreSQL."
https://aws.amazon.com/blogs/aws/new-parallel-query-for-amazon-aurora/
我认为 "significant" 提升 postgres 的分析能力对于在事务性 postgres 系统上支持 "real-time operational analytics" 是必要的。 "parallel plans" 在 9.6+ 中是一个开始。 Aurora "parallel query" 是另一种不同的方法。可能还有其他方法可以加速 postgres 的分析……我希望在 AWS 之外的多个云上看到这样的解决方案:Azure、GCP。
我已经提交了 Azure 请求 - 如果您同意,请在那里投票:
并行,我的意思是将单个(分析)查询的工作负载分配给多个线程甚至副本。
我看到 OSS Postgres 从 9.6 开始支持它们:https://www.postgresql.org/docs/9.6/static/parallel-plans.html
AWS Aurora 添加了预览,但仅针对 MySQL 变体:https://aws.amazon.com/about-aws/whats-new/2018/02/amazon-aurora-parallel-query-is-available-for-preview/
但是普通的 AWS RDS(不是 Aurora)确实支持它们,因为有 Postgres 9.6: https://aws.amazon.com/blogs/database/performing-parallel-queries-and-phrase-searching-with-amazon-rds-for-postgresql-9-6-1/
- 我推断 AWS Aurora Postgres 不 支持并行计划是否正确?
- 如果是这样,这是否意味着普通 RDS Postgres 在分析查询方面可能比 Aurora 更高效?
- 关于 Aurora Postgres 查询并行性的未来支持的任何知识?
非常感谢!
一些解释:
"parallel plans" 在 postgres9.6+ 中会做你想做的事:通过启动并行执行进程来加速单个查询。
Aurora "parallel query" 对于 MySQL 是完全不同的东西,尽管它也会产生您想要的结果。
Aurora(适用于 MySQL 和 postgres)有一个特殊的分布式存储层,保留 6 个冗余副本,可用于只读副本和故障恢复。 "parallel query" 利用此存储层(包括存储和关联的 CPU 来管理存储)来执行一些查询计算,卸载 DB VM。
例如,过滤掉与查询无关的行和列可以下推到存储层,而不是将所有数据读回 VM 并在那里丢弃。
总而言之:
"parallel plans" in postgres9.6+ 在虚拟机中创建并行执行进程
"parallel query" 在 Aurora 中将计算下推到存储层,卸载 VM。
您的问题的答案:
- 正确
- 也许:见上文。取决于将数据过滤下推到存储层所获得的收益。
- 根据 AWS 博客,"parallel query" for postgres 正在开发中: "We are launching with support for MySQL 5.6, and are working on support for MySQL 5.7 and PostgreSQL." https://aws.amazon.com/blogs/aws/new-parallel-query-for-amazon-aurora/
我认为 "significant" 提升 postgres 的分析能力对于在事务性 postgres 系统上支持 "real-time operational analytics" 是必要的。 "parallel plans" 在 9.6+ 中是一个开始。 Aurora "parallel query" 是另一种不同的方法。可能还有其他方法可以加速 postgres 的分析……我希望在 AWS 之外的多个云上看到这样的解决方案:Azure、GCP。
我已经提交了 Azure 请求 - 如果您同意,请在那里投票: