이기종 데이터베이스와 Aurora PostgreSQL 호환 통합 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

이기종 데이터베이스와 Aurora PostgreSQL 호환 통합

Aurora PostgreSQL 호환을 원격 SQL Server 데이터베이스와 통합하려면 테이블 형식 데이터 스트림 외부 데이터 래퍼(tds_fdw) 확장을 사용합니다. tds_fdw 확장을 사용하면 페더레이션 쿼리 기능을 구현하여 온프레미스 및 Amazon EC2에서 관리형 또는 자체 관리형 원격 SQL Server 기반 데이터베이스와 상호 작용할 수 있습니다. tds_fdw 확장은 현재 지원되는 모든 버전의 Amazon RDS for PostgreSQL 및 Aurora PostgreSQL-Compatible에서 사용할 수 있습니다.

tds_fdw 사용 사례 및 상위 수준 단계

Aurora PostgreSQL 호환을 SQL Server와 같은 이기종 데이터베이스와 통합하면 다음과 같은 사용 사례가 지원됩니다.

  • 하이브리드 아키텍처 ‒ 조직에 Aurora PostgreSQL 호환과 공존하고 통합되어야 하는 기존 SQL Server 데이터베이스가 있을 수 있습니다. 이러한 경우 Aurora PostgreSQL 호환은 이기종 데이터베이스와 상호 작용하여 데이터를 교환하거나 특정 작업을 수행하는 하이브리드 아키텍처의 일부일 수 있습니다. 이 통합을 통해 조직은 기존 투자를 유지하면서 다양한 데이터베이스 플랫폼의 강점을 사용할 수 있습니다.

  • 보고 및 분석 ‒ Aurora PostgreSQL-Compatible을 보고 또는 분석 데이터베이스로 사용할 수 있습니다. Oracle 및 SQL Server 데이터베이스를 비롯한 여러 소스의 데이터를 통합할 수 있습니다. 이 사용 사례는 조직이 특정 사업부 또는 사용 사례에 맞게 특수 보고 데이터베이스 또는 데이터 마트를 생성하려는 시나리오에서 일반적입니다.

Aurora PostgreSQL-Compatible에서 tds_fwd 확장을 구성하려면 다음 상위 수준 단계를 사용합니다.

  1. PostgreSQL 클라이언트를 사용하여 Aurora PostgreSQL 호환 클러스터에 연결하고 tds_fdw 확장을 생성합니다.

    CREATE EXTENSION tds_fdw;

    이 확장은 원격 SQL Server 데이터베이스에서 로컬 테이블인 것처럼 데이터에 액세스하고 쿼리하는 기능을 제공합니다.

  2. 연결하려는 원격 SQL Server 또는 TDS 호환 데이터베이스를 나타내는 서버 객체를 생성합니다.

  3. Aurora PostgreSQL 호환이 원격 SQL Server 데이터베이스에 연결할 수 있도록 필요한 보안 그룹 및 네트워크 구성이 마련되어 있는지 확인합니다.

    원격 데이터베이스가 온프레미스에서 호스팅되는 경우 VPN 또는 AWS Direct Connect 연결을 구성해야 할 수 있습니다.

    다음 명령 실행:

    CREATE SERVER my_remote_sql_server FOREIGN DATA WRAPPER tds_fdw OPTIONS ( servername 'your_server_name', port '1433', instance 'your_instance_name' );
  4. Aurora PostgreSQL 호환 사용자를 원격 SQL Server 또는 TDS 호환 데이터베이스의 사용자에게 매핑하는 사용자 매핑을 정의합니다.

    CREATE USER MAPPING FOR postgres SERVER my_remote_sql_server OPTIONS ( username 'your_sql_server_username', password 'your_sql_server_password' );
  5. 원격 SQL Server 또는 TDS 호환 데이터베이스에서 테이블 또는 뷰를 나타내는 외래 테이블을 생성합니다.

    CREATE FOREIGN TABLE sql_server_table ( column1 INTEGER, column2 VARCHAR(50) ) SERVER my_remote_sql_server OPTIONS ( schema_name 'your_schema_name', table_name 'your_table_name' );
  6. SQL 쿼리를 기반으로 외래 테이블을 생성합니다.

    CREATE FOREIGN TABLE mssql_people ( empno INT NOT NULL , ename VARCHAR(10) NULL, dept INT) SERVER my_remote_sql_server OPTIONS (  query 'SELECT empno, ename, dept FROM dbo.emp');
  7. Aurora PostgreSQL-Compatible의 다른 테이블을 쿼리하는 것처럼 외부 테이블을 쿼리합니다.

    SELECT * FROM sql_server_table;  SELECT * FROM mssql_people; -- Query based on table
  8. SQL Server에서 PostgreSQL로 테이블을 가져옵니다.

    IMPORT FOREIGN SCHEMA dbo LIMIT TO (emp) FROM SERVER my_remote_sql_server INTO public_fdw;
  9. 쿼리 계획을 검증하려면를 실행합니다EXPLAIN SELECT.

    EXPLAIN SELECT * FROM mssql_people;
참고

데이터 조작 언어(DML) 작업은 tds_fdw 확장을 통해 사용할 수 없습니다. 시스템은 여러 데이터베이스 엔진에서 DML 작업 수행을 지원하지 않습니다. INSERT, UPDATE, 및 DELETETRUNCATE TABLE는 원격 SQL 서버에서 성공하지 못합니다.