

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# 데이터베이스 간 쿼리
<a name="cross-database-overview"></a>

이 주제에서는 단일 Amazon Redshift 클러스터 내의 여러 Amazon Redshift 데이터베이스에서 작동하는 쿼리인 *데이터베이스 간 쿼리*에 대해 설명합니다.

Amazon Redshift에서 데이터베이스 간 쿼리를 사용하여 Amazon Redshift 클러스터의 데이터베이스 간에 쿼리할 수 있습니다. 데이터베이스 간 쿼리를 사용하면 연결된 데이터베이스와 관계없이 Amazon Redshift 클러스터의 모든 데이터베이스에서 데이터를 쿼리하고 쓸 수 있습니다. 데이터베이스 간 쿼리는 데이터 복사본을 제거하고 데이터 조직을 단순화하여 동일한 데이터 웨어하우스의 여러 비즈니스 그룹을 지원합니다.

데이터베이스 간 쿼리를 사용하여 다음을 수행할 수 있습니다.
+ **Amazon Redshift 클러스터의 데이터베이스 간 데이터 쿼리**.

  연결된 데이터베이스에서 쿼리할 수 있을 뿐만 아니라 권한이 있는 다른 데이터베이스에서도 읽을 수 있습니다.

  연결되지 않은 다른 데이터베이스에서 데이터베이스 객체를 쿼리할 때 해당 데이터베이스 객체에 대한 읽기 권한만 있습니다. 특정 데이터베이스에 연결할 필요 없이 데이터베이스 간 쿼리를 사용하여 Amazon Redshift 클러스터에 있는 모든 데이터베이스의 데이터에 액세스할 수 있습니다. 이렇게 하면 Amazon Redshift 클러스터의 여러 데이터베이스에 분산된 데이터를 빠르고 쉽게 쿼리하고 조인할 수 있습니다.

  또한 단일 쿼리로 여러 데이터베이스의 데이터 집합을 조인하고 비즈니스 인텔리전스(BI) 또는 분석 도구를 사용하여 데이터를 분석할 수 있습니다. 표준 Amazon Redshift SQL 명령으로 사용자에 대한 세분화된 테이블 수준 읽기 액세스 제어를 계속 설정할 수 있습니다. 이를 통해 사용자에게 권한이 있는 관련 데이터 하위 집합만 표시되게 할 수 있습니다.
+ **Amazon Redshift 클러스터의 데이터베이스 간에 데이터를 씁니다**.

  연결된 데이터베이스에서 쓸 수 있고 권한이 있는 다른 데이터베이스에서도 쓸 수 있습니다.

  연결되지 않은 다른 데이터베이스의 데이터베이스 객체에 대한 쓰기 권한이 있는 경우, 데이터베이스 간 쿼리를 사용하여 특정 데이터베이스에 연결할 필요 없이 Amazon Redshift 클러스터의 원하는 데이터베이스에서 데이터를 쓸 수 있습니다. 이렇게 하면 Amazon Redshift 클러스터의 여러 데이터베이스에 분산된 데이터를 빠르고 쉽게 조인하면서 복잡한 쓰기 작업을 수행하는 데 도움이 될 수 있습니다.

  또한 단일 쿼리로 여러 데이터베이스의 데이터세트를 조인하고 다양한 추출-전환-적재(ETL) 또는 분석 도구를 사용하여 데이터를 쓸 수 있습니다. 표준 Amazon Redshift SQL 명령으로 사용자에 대한 세분화된 테이블 수준 쓰기 액세스 제어를 계속 설정할 수 있습니다. 이렇게 하면 사용자는 권한이 있는 관련 데이터 하위 집합만 볼 수 있습니다.
+ **객체 쿼리**.

  세 부분으로 구성된 표기법으로 표현된 완전한 객체 이름을 사용하여 다른 데이터베이스 객체를 쿼리할 수 있습니다. 데이터베이스 객체의 전체 경로는 데이터베이스 이름, 스키마 및 객체 이름의 세 가지 구성 요소로 이루어집니다. 전체 경로 표기법 `{{database_name}}.{{schema_name}}.{{object_name}}`을 사용하여 다른 데이터베이스의 객체에 액세스할 수 있습니다. 특정 열에 액세스하려면 `{{database_name}}.{{schema_name}}.{{object_name}}.{{column_name}}`을 사용합니다.

  외부 스키마 표기법을 사용하여 다른 데이터베이스의 스키마에 대한 별칭을 생성할 수도 있습니다. 이 외부 스키마는 다른 데이터베이스와 스키마 페어를 참조합니다. 쿼리는 외부 스키마 표기법 `{{external_schema_name}}.{{object_name}}`을 사용하여 다른 데이터베이스 객체에 액세스할 수 있습니다.

  동일한 읽기 전용 쿼리에서 사용자 테이블, 일반 뷰, 구체화된 뷰 및 다른 데이터베이스의 후기 바인딩 뷰와 같은 다양한 데이터베이스 객체를 쿼리할 수 있습니다.
+ **권한 관리**.

  Amazon Redshift 클러스터의 모든 데이터베이스에 있는 객체에 대한 액세스 권한이 있는 사용자는 해당 객체를 쿼리하고 해당 객체에 데이터를 쓸 수 있습니다. [GRANT](r_GRANT.md) 명령을 사용하여 사용자와 사용자 그룹에 권한을 부여합니다. 사용자가 특정 데이터베이스 객체에 더 이상 액세스할 필요가 없을 때 [REVOKE](r_REVOKE.md) 명령을 사용하여 권한을 취소할 수도 있습니다.
+ **메타데이터와 BI 도구 사용.**

  동일한 Amazon Redshift 클러스터 내 다른 Amazon Redshift 데이터베이스의 스키마를 참조하기 위해 외부 스키마를 생성할 수 있습니다. 자세한 내용은 [CREATE EXTERNAL SCHEMA](r_CREATE_EXTERNAL_SCHEMA.md) 명령을 참조하세요.

  외부 스키마 참조가 생성된 후 Amazon Redshift는 도구가 메타데이터를 탐색할 수 있도록 다른 데이터베이스의 스키마 아래에 있는 테이블을 [SVV\_EXTERNAL\_TABLES](r_SVV_EXTERNAL_TABLES.md) 및 [SVV\_EXTERNAL\_COLUMNS](r_SVV_EXTERNAL_COLUMNS.md)에 표시합니다.

  데이터베이스 간 쿼리를 BI 도구와 통합하기 위해 다음 시스템 뷰를 사용할 수 있습니다. 이를 통해 Amazon Redshift 클러스터의 연결된 데이터베이스와 기타 데이터베이스에 있는 객체의 메타데이터에 대한 정보를 볼 수 있습니다.

  다음은 Amazon Redshift 클러스터에 있는 모든 데이터베이스의 모든 Amazon Redshift 객체 및 외부 객체를 표시하는 시스템 뷰입니다.
  + [SVV\_ALL\_COLUMNS](r_SVV_ALL_COLUMNS.md)
  + [SVV\_ALL\_SCHEMAS](r_SVV_ALL_SCHEMAS.md)
  + [SVV\_ALL\_TABLES](r_SVV_ALL_TABLES.md)

  다음은 Amazon Redshift 클러스터에 있는 모든 데이터베이스의 모든 Amazon Redshift 객체를 표시하는 시스템 뷰입니다.
  + [SVV\_REDSHIFT\_COLUMNS](r_SVV_REDSHIFT_COLUMNS.md)
  + [SVV\_REDSHIFT\_DATABASES](r_SVV_REDSHIFT_DATABASES.md)
  + [SVV\_REDSHIFT\_FUNCTIONS](r_SVV_REDSHIFT_FUNCTIONS.md)
  + [SVV\_REDSHIFT\_SCHEMAS](r_SVV_REDSHIFT_SCHEMAS.md)
  + [SVV\_REDSHIFT\_TABLES](r_SVV_REDSHIFT_TABLES.md)

**Topics**
+ [고려 사항](cross-database_usage.md)
+ [제한 사항](cross-database_limitation.md)
+ [데이터베이스 간 쿼리 예제](cross-database_example.md)
+ [쿼리 에디터에서 데이터베이스 간 쿼리 사용](cross-database_console.md)