我正在设计我的数据库结构,并想知道是否可以针对两个单独的Redshift集群运行单个查询?
如果可能,对区域,可用区域,VPC组等有任何限制吗?
答案 0 :(得分:2)
不,直接在Redshift中不可能。此外,您无法在相同群集上的多个数据库中进行查询。
您可以使用在EMR群集上运行的外部工具(如Amazon Athena或Presto)来执行此操作。您可以将每个Redshift群集定义为外部数据源。但请注意,您将失去Redshift的大部分性能优化,并且必须将大量数据撤回到Athena / Presto以回答您的问题。
作为跨群集查询的替代方案,请考虑将数据放在分区良好的Parquet或ORC文件中的S3上,并使用Redshift Spectrum(或Amazon Athena)进行查询。此方法允许多个集群查询公共数据集,同时保持良好的查询性能。 https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/
答案 1 :(得分:0)
使用Amazon Redshift中的联合查询,可以将第二个集群表作为外部模式访问
您可以参考文档https://docs.aws.amazon.com/redshift/latest/dg/federated_query_example.html