다음을 통해 공유


Netezza 마이그레이션에 대한 보안, 액세스 및 작업

이 문서는 Netezza에서 Azure Synapse Analytics로 마이그레이션하는 방법에 대한 지침을 제공하는 7부작 시리즈 중 3부입니다. 이 문서는 보안 액세스 작업에 대한 모범 사례에 중점을 두고 있습니다.

보안 고려 사항

이 문서에서는 기존 레거시 Netezza 환경의 연결 방법과 위험 및 사용자 영향을 최소화하면서 기존 연결 방법을 Azure Synapse Analytics로 마이그레이션하는 방법에 대해 설명합니다.

이 문서에서는 기존 연결 방법 및 사용자/역할/권한 구조를 있는 그대로 마이그레이션해야 하는 요구 사항이 있다고 가정합니다. 그렇지 않은 경우 Azure Portal을 사용하여 새 보안 체제를 만들고 관리합니다.

Azure Synapse 보안 옵션에 대한 자세한 내용은 보안 백서를 참조하세요.

연결 및 인증

Netezza 및 Azure Synapse 인증은 "데이터베이스에서" 또는 외부 메서드를 통해 수행할 수 있습니다.

Netezza 권한 부여 옵션

IBM Netezza 시스템은 Netezza 데이터베이스 사용자를 위한 여러 가지 인증 방법을 제공합니다.

  • 로컬 인증: Netezza 관리자는 CREATE USER 명령을 사용하거나 Netezza 관리 인터페이스를 통해 데이터베이스 사용자 및 암호를 정의합니다. 로컬 인증에서는 Netezza 시스템을 사용하여 데이터베이스 계정과 암호를 관리하고, 시스템에서 데이터베이스 사용자를 추가 및 제거합니다. 이 방법은 기본 인증 방법입니다.

  • LDAP 인증: LDAP 이름 서버를 사용하여 데이터베이스 사용자를 인증하고 암호, 데이터베이스 계정 활성화, 비활성화를 관리합니다. Netezza 시스템은 PAM(플러그형 인증 모듈)을 사용하여 LDAP 이름 서버에서 사용자를 인증합니다. Microsoft Active Directory는 LDAP 프로토콜을 준수하므로 LDAP 인증을 위한 LDAP 서버처럼 취급할 수 있습니다.

  • Kerberos 인증: Kerberos 분산 서버를 사용하여 데이터베이스 사용자를 인증하고 암호, 데이터베이스 계정 활성화, 비활성화를 관리합니다.

인증은 시스템 수준 설정입니다. 사용자는 로컬로 인증되거나 LDAP 또는 Kerberos 메서드를 사용하여 인증되어야 합니다. LDAP 또는 Kerberos 인증을 선택하는 경우 사용자별로 로컬 인증을 사용하여 사용자를 만듭니다. LDAP와 Kerberos를 동시에 사용하여 사용자를 인증할 수는 없습니다. Netezza 호스트는 호스트의 운영 체제 로그인이 아니라 데이터베이스 사용자 로그인에 대해서만 LDAP 또는 Kerberos 인증을 지원합니다.

Azure Synapse 권한 부여 옵션

Azure Synapse는 연결 및 권한 부여에 대한 두 가지 기본 옵션을 지원합니다.

  • SQL 인증: SQL 인증은 데이터베이스 식별자, 사용자 ID 및 암호와 기타 선택적 매개 변수를 포함하는 데이터베이스 연결을 통해 수행됩니다. Netezza 로컬 연결과 기능적으로 동일합니다.

  • Microsoft Entra 인증: Microsoft Entra 인증을 사용하면 데이터베이스 사용자 및 다른 Microsoft 서비스의 ID를 하나의 중앙 위치에서 관리할 수 있습니다. 중앙 ID 관리는 Azure Synapse 사용자 관리를 위한 단일 위치를 제공하며 권한 관리를 간소화합니다. Microsoft Entra ID는 LDAP 및 Kerberos 서비스에 대한 연결도 지원할 수 있습니다. 예를 들어 데이터베이스 마이그레이션 후 그대로 유지되는 경우 Microsoft Entra ID를 사용하여 기존 LDAP 디렉터리에 연결할 수 있습니다.

사용자 역할 및 권한

개요

마이그레이션 프로젝트가 성공하려면 개략적인 계획을 수립해야 합니다.

Netezza와 Azure Synapse는 사용자, 역할(Netezza의 그룹) 및 권한의 조합을 통해 데이터베이스 액세스 제어를 구현합니다. 둘 다 표준 SQL CREATE USERCREATE ROLE/GROUP 문을 사용하여 사용자 및 역할을 정의하고, GRANTREVOKE 문을 사용하여 해당 사용자 및/또는 역할에 권한을 할당하거나 제거합니다.

경과 시간과 오류 범위를 줄이려면 마이그레이션 프로세스를 자동화하는 것이 좋습니다.

개념적으로 두 데이터베이스는 비슷하며 기존 사용자 ID, 그룹 및 권한의 마이그레이션을 어느 정도 자동화할 수 있습니다. Netezza 시스템 카탈로그 테이블에서 기존 레거시 사용자 및 그룹 정보를 추출하고 동일한 사용자/역할 계층 구조를 다시 만들기 위해 Azure Synapse에서 실행할 일치하는 동일한 CREATE USERCREATE ROLE 문을 생성하여 이러한 데이터를 마이그레이션합니다.

데이터 추출 후에는 Netezza 시스템 카탈로그 테이블을 사용하여 동일한 GRANT 문을 생성하여 권한을 할당합니다(해당하는 명령문이 있는 경우). 다음 다이어그램에서는 기존 메타데이터를 사용하여 필요한 SQL을 생성하는 방법을 보여줍니다.

Chart showing how to automate the migration of privileges from an existing system.

자세한 내용은 다음 섹션을 참조하세요.

사용자 및 역할

데이터 웨어하우스를 마이그레이션하려면 테이블, 보기, SQL 문 외에도 더 필요한 것이 있습니다.

Netezza 시스템의 현재 사용자 및 그룹에 대한 정보는 시스템 카탈로그 뷰 _v_users_v_groupusers에 보관됩니다. nzsql 유틸리티나 Netezza Performance, NzAdmin 또는 Netezza Utility 스크립트와 같은 도구를 사용하여 사용자 권한을 나열합니다. 예를 들어 nzsql의 dpudpgu 명령을 사용하여 사용자 또는 그룹과 그들이 보유한 권한을 표시합니다.

유틸리티 스크립트 nz_get_usersnz_get_user_groups를 사용하거나 편집하여 동일한 정보를 필요한 형식으로 검색합니다.

시스템 카탈로그 뷰를 직접 쿼리하여(사용자가 해당 뷰에 대한 SELECT 액세스 권한을 갖고 있는 경우) 시스템 내에 정의된 현재 사용자 및 역할 목록을 가져옵니다. 사용자, 그룹 또는 사용자 및 관련 그룹을 나열하는 예제를 참조하세요.

-- List of users
SELECT USERNAME FROM _V_USER;

--List of groups
SELECT DISTINCT(GROUPNAME) FROM _V_USERGROUPS;

--List of users and their associated groups
SELECT USERNAME, GROUPNAME FROM _V_GROUPUSERS;

SELECT 문 내에 적절한 텍스트를 리터럴로 포함하여 일련의 CREATE USERCREATE GROUP 문의 결과 집합을 생성하도록 예제 SELECT 문을 수정합니다.

기존 암호를 검색할 수 있는 방법이 없으므로, Azure Synapse에서 새로운 초기 암호를 할당하기 위한 체계를 구현해야 합니다.

사용 권한

DML 및 DDL과 같은 기본 데이터베이스 작업을 위한 동일한 Azure Synapse 권한이 있습니다.

Netezza 시스템에서는 사용자 및 역할에 대한 액세스 권한이 시스템 테이블 _t_usrobj_priv에 보관됩니다. 이러한 테이블을 쿼리하여(사용자가 해당 테이블에 대한 SELECT 액세스 권한을 갖고 있는 경우) 시스템 내에 정의된 현재 액세스 권한 목록을 가져옵니다.

Netezza에서는 개별 권한이 필드 권한 또는 g_privileges 내에서 개별 비트로 표시됩니다. 사용자 그룹 권한에서 예제 SQL 문을 참조하세요.

사용자 및 그룹의 현재 권한을 복제하는 GRANT 명령이 포함된 DDL 스크립트를 가져오는 가장 간단한 방법은 다음과 같이 적절한 Netezza 유틸리티 스크립트를 사용하는 것입니다.

--List of group privileges
nz_ddl_grant_group -usrobj dbname > output_file_dbname;

--List of user privileges
nz_ddl_grant_user -usrobj dbname > output_file_dbname;

출력 파일을 수정하여 Azure Synapse에 대한 일련의 GRANT 문인 스크립트를 생성할 수 있습니다.

Netezza는 Admin과 Object라는 두 가지 액세스 권한 클래스를 지원합니다. Netezza 액세스 권한과 이에 해당하는 Azure Synapse 액세스 권한 목록은 다음 표를 참조하세요.

관리 권한 설명 동등한 Azure Synapse 관리 권한
Backup 사용자가 백업을 만들 수 있도록 허용합니다. 사용자가 백업을 실행할 수 있습니다. 사용자가 nzbackup 명령을 실행할 수 있습니다. 1
[Create] Aggregate 사용자가 UDA(사용자 정의 집계)를 만들 수 있도록 허용합니다. 기존 UDA에 대해 작업을 수행하는 권한은 개체 권한을 통해 제어됩니다. CREATE FUNCTION 3
[Create] Database 사용자가 데이터베이스를 만들 수 있도록 허용합니다. 기존 데이터베이스에 대해 작업을 수행하는 권한은 개체 권한을 통해 제어됩니다. CREATE DATABASE
[Create] External Table 사용자가 외부 테이블을 만들 수 있도록 허용합니다. 기존 테이블에 대해 작업을 수행하는 권한은 개체 권한을 통해 제어됩니다. CREATE TABLE
[Create] Function 사용자가 UDF(사용자 정의 함수)를 만들 수 있도록 허용합니다. 기존 UDF에 대해 작업을 수행하는 권한은 개체 권한을 통해 제어됩니다. CREATE FUNCTION
[Create] Group 사용자가 그룹을 만들 수 있도록 허용합니다. 기존 그룹에 대해 작업을 수행하는 권한은 개체 권한을 통해 제어됩니다. CREATE ROLE
[Create] Index 시스템에서만 사용됩니다. 사용자는 인덱스를 만들 수 없습니다. CREATE INDEX
[Create] Library 사용자가 공유 라이브러리를 만들 수 있도록 허용합니다. 기존 공유 라이브러리에 대해 작업을 수행하는 권한은 개체 권한을 통해 제어됩니다. 1
[Create] Materialized View 사용자가 구체화된 뷰를 만들 수 있도록 허용합니다. 보기 만들기
[Create] Procedure 사용자가 저장 프로시저를 만들 수 있도록 허용합니다. 기존 저장 프로시저에 대해 작업을 수행하는 권한은 개체 권한을 통해 제어됩니다. 절차 만들기
[Create] Schema 사용자가 스키마를 만들 수 있도록 허용합니다. 기존 스키마에 대해 작업을 수행하는 권한은 개체 권한을 통해 제어됩니다. CREATE SCHEMA
[Create] Sequence 사용자가 데이터베이스 시퀀스를 만들 수 있도록 허용합니다. 1
[Create] Synonym 사용자가 동의어를 만들 수 있도록 허용합니다. CREATE SYNONYM
[Create] Table 사용자가 테이블을 만들 수 있도록 허용합니다. 기존 테이블에 대해 작업을 수행하는 권한은 개체 권한을 통해 제어됩니다. CREATE TABLE
[Create] Temp Table 사용자가 임시 테이블을 만들 수 있도록 허용합니다. 기존 테이블에 대해 작업을 수행하는 권한은 개체 권한을 통해 제어됩니다. CREATE TABLE
[Create] User 사용자가 사용자를 만들 수 있도록 허용합니다. 기존 사용자에 대해 작업을 수행하는 권한은 개체 권한을 통해 제어됩니다. CREATE USER
[Create] View 사용자가 뷰를 만들 수 있도록 허용합니다. 기존 뷰에 대해 작업을 수행하는 권한은 개체 권한을 통해 제어됩니다. 보기 만들기
[Manage Hardware 사용자가 하드웨어 상태 보기, SPU 관리, 토폴로지 및 미러링 관리, 진단 테스트 실행과 같은 하드웨어 관련 작업을 수행할 수 있도록 허용합니다. 사용자는 nzhw 및 nzds 명령을 실행할 수 있습니다. 4
[Manage Security 사용자가 기록 데이터베이스 관리 및 구성, 다단계 보안 개체 관리, 사용자 및 그룹에 대한 보안 지정, 감사 데이터의 디지털 서명을 위한 데이터베이스 키 저장소와 키 및 키 저장소 관리 등의 고급 보안 옵션과 관련된 명령 및 작업을 실행할 수 있도록 허용합니다. 4
[Manage System 사용자가 시스템 시작/중지/일시 중지/다시 시작, 세션 중단, 배포 맵/시스템 통계/로그 보기 등의 관리 작업을 수행할 시 있도록 허용합니다. 사용자는 nzsystem, nzstate, nzstats 및 nzsession 명령을 사용할 수 있습니다. 4
복원 사용자가 시스템을 복원할 수 있도록 허용합니다. 사용자는 nzrestore 명령을 실행할 수 있습니다. 2
Unfence 사용자가 사용자 정의 함수 또는 집계를 만들거나 변경하여 고정되지 않은 모드에서 실행할 수 있도록 허용합니다. 1
개체 권한 중단 설명 동등한 Azure Synapse 관리 권한
중단 사용자가 세션을 중단할 수 있도록 허용합니다. 그룹 및 사용자에게 적용됩니다. KILL DATABASE CONNECTION
변경 사용자가 개체 특성을 수정할 수 있도록 허용합니다. 모든 개체에 적용됩니다. ALTER
삭제 사용자가 테이블 행을 삭제할 수 있도록 허용합니다. 테이블에만 적용됩니다. Delete
Drop 사용자가 개체를 드롭할 수 있도록 허용합니다. 모든 개체 형식에 적용됩니다. DROP
실행 사용자가 사용자 정의 함수, 사용자 정의 집계 또는 저장 프로시저를 실행할 수 있도록 허용합니다. 실행
GenStats 사용자가 테이블 또는 데이터베이스에 대한 통계를 생성할 수 있도록 허용합니다. 사용자는 GENERATE STATISTICS 명령을 실행할 수 있습니다. 2
Groom 사용자가 삭제되거나 오래된 행에 대한 디스크 공간을 회수하거나, 키를 구성하여 테이블을 다시 구성하거나, 여러 저장 버전이 있는 테이블의 데이터를 마이그레이션할 수 있도록 허용합니다. 2
삽입 사용자가 테이블에 행을 삽입할 수 있도록 허용합니다. 테이블에만 적용됩니다. 삽입
List 사용자가 목록이나 다른 방식으로 개체 이름을 표시할 수 있도록 허용합니다. 모든 개체에 적용됩니다. 명단 등록
선택 사용자가 테이블 내에서 행을 선택(또는 쿼리)할 수 있도록 허용합니다. 테이블 및 뷰에 적용됩니다. SELECT
Truncate 사용자가 테이블의 모든 행을 삭제할 수 있도록 허용합니다. 테이블에만 적용됩니다. TRUNCATE
엽데이트 사용자가 테이블 행을 수정할 수 있도록 허용합니다. 테이블에만 적용됩니다. UPDATE

테이블 참고 사항:

  1. Azure Synapse에는 이 함수와 직접적으로 동등한 함수가 없습니다.

  2. 이러한 Netezza 함수는 Azure Synapse에서 자동으로 처리됩니다.

  3. Azure Synapse CREATE FUNCTION 기능은 Netezza 집계 기능을 통합합니다.

  4. 이러한 기능은 시스템에서 또는 Azure Synapse의 Azure Portal을 통해 자동으로 관리됩니다. 운영 고려 사항에 대한 다음 섹션을 참조하세요.

Azure Synapse Analytics 보안 권한을 참조하세요.

운영상의 고려 사항

데이터 웨어하우스를 효율적으로 운영하려면 운영 작업이 필요합니다.

이 섹션에서는 사용자에게 미치는 위험과 영향을 최소화하면서 Azure Synapse에서 일반적인 Netezza 운영 작업을 구현하는 방법에 대해 설명합니다.

모든 데이터 웨어하우스 제품과 마찬가지로, 프로덕션 환경으로 전환한 이후에는 시스템을 효율적으로 실행하고 모니터링 및 감사 데이터를 제공하는 데 필요한 지속적인 관리 작업이 있습니다. 향후 성장을 위한 리소스 사용률 및 용량 계획도 데이터의 백업/복원과 마찬가지로 이 범주에 속합니다.

Netezza 관리 작업은 일반적으로 다음 두 가지 범주로 나뉩니다.

  • 하드웨어, 구성 설정, 시스템 상태, 액세스, 디스크 공간, 사용량, 업그레이드 및 기타 작업을 관리하는 시스템 관리

  • 사용자 데이터베이스 및 해당 콘텐츠를 관리하고, 데이터를 로드하고, 데이터를 백업하고, 데이터를 복원하고, 데이터 액세스 권한 및 사용 권한을 제어하는 데이터베이스 관리

IBM Netezza는 다양한 시스템 및 데이터베이스 관리 작업을 수행하는 데 사용할 수 있는 다음과 같은 여러 가지 방법 또는 인터페이스를 제공합니다.

  • Netezza 명령(nz* 명령)은 Netezza 호스트의 /nz/kit/bin 디렉터리에 설치됩니다. 많은 nz* 명령의 경우 Netezza 시스템에 로그인하여 해당 명령에 액세스하고 실행할 수 있어야 합니다. 대부분의 경우 사용자는 기본 nz 사용자 계정으로 로그인하지만, 시스템에서 다른 Linux 사용자 계정을 만들 수 있습니다. 일부 명령은 작업을 수행할 수 있는 권한이 있는지 확인하기 위해 데이터베이스 사용자 계정, 암호 및 데이터베이스를 지정해야 합니다.

  • Netezza CLI 클라이언트 키트는 Windows 및 UNIX 클라이언트 시스템에서 실행할 수 있는 nz* 명령의 하위 집합을 패키징합니다. 작업을 수행할 데이터베이스 관리 및 개체 권한이 있는지 확인하기 위해 클라이언트 명령에서 데이터베이스 사용자 계정, 암호 및 데이터베이스를 지정할 것을 요구할 수도 있습니다.

  • SQL 명령은 SQL 데이터베이스 세션 내에서 관리 작업 및 쿼리를 지원합니다. Netezza nzsql 명령 인터프리터에서 또는 ODBC, JDBC 및 OLE DB 공급자와 같은 SQL API를 통해 SQL 명령을 실행할 수 있습니다. 수행하는 쿼리 및 작업에 대한 적절한 권한으로 SQL 명령을 실행할 수 있는 데이터베이스 사용자 계정이 있어야 합니다.

  • NzAdmin 도구는 Netezza 시스템을 관리하기 위해 Windows 클라이언트 워크스테이션에서 실행되는 Netezza 인터페이스입니다.

개념적으로는 다양한 데이터 웨어하우스에 대한 관리 및 운영 작업이 비슷하지만, 개별 구현은 다를 수 있습니다. 일반적으로 Azure Synapse 같은 최신 클라우드 기반 제품은 Netezza와 같은 레거시 데이터 웨어하우스의 보다 “수동”적인 접근 방식과 달리 보다 자동화된 “시스템 관리형” 접근 방식을 통합하는 경향이 있습니다.

다음 섹션에서는 다양한 운영 작업에 대한 Netezza 및 Azure Synapse 옵션을 비교합니다.

하우스키핑 작업

하우스키핑 작업은 프로덕션 웨어하우스가 효율적으로 작동되도록 유지하고 스토리지와 같은 리소스 사용을 최적화합니다.

대부분의 레거시 데이터 웨어하우스 환경에서는 정기적인 “하우스키핑” 작업에 많은 시간이 걸립니다. 이전 버전의 업데이트 또는 삭제된 행을 제거하거나 효율성 향상을 위해 데이터, 로그 파일 또는 인덱스 블록을 다시 구성하여 디스크 스토리지 공간을 확보합니다(Netezza에서는 GROOMVACUUM). 통계 수집 역시 시간이 오래 걸릴 수 있는 작업이며, 대량 데이터 수집 후에 쿼리 최적화 프로그램에 쿼리 실행 계획의 기반이 될 최신 데이터를 제공하기 위해 필요한 작업입니다.

Netezza는 다음과 같은 통계 수집을 권장합니다.

  • 채워지지 않은 테이블에 대한 통계를 수집하여 내부 처리에 사용되는 간격 히스토그램을 설정합니다. 이 초기 수집을 사용하면 후속 통계 수집이 더 빨라집니다. 데이터가 추가된 후에는 반드시 통계를 다시 수집합니다.

  • 새로 채워진 테이블에 대한 프로토타입 단계 통계를 수집합니다.

  • 테이블 또는 파티션의 상당한 변화(전체 행의 ~10%) 후의 프로덕션 단계 통계를 수집합니다. 날짜 또는 타임스탬프와 같은 고유하지 않은 값이 많은 경우 7%에서 다시 수집하는 것이 유리할 수 있습니다.

  • 사용자를 만들고 실제 쿼리 로드를 데이터베이스에 적용한 후 프로덕션 단계 통계를 수집합니다(최대 약 3개월의 쿼리).

  • CPU 사용률이 낮은 기간 동안 업그레이드 또는 마이그레이션한 이후에 처음 몇 주 동안 통계를 수집합니다.

Netezza 데이터베이스의 데이터 사전에는 자동으로 또는 특정 기능이 활성화된 후에 데이터를 누적하는 여러 로그 테이블이 포함되어 있습니다. 로그 데이터는 시간이 지날수록 커지기 때문에 영구 공간을 사용하지 않도록 이전 정보를 제거해야 합니다. 사용 가능한 로그의 유지 관리를 자동화하는 옵션이 있습니다.

Azure에서 하우스키핑 작업을 자동화하고 모니터링합니다.

Azure Synapse에는 필요에 따라 사용할 수 있도록 자동으로 통계를 만드는 옵션이 있습니다. 인덱스 및 데이터 블록의 조각 모음을 수동으로, 예약된 시간에 또는 자동으로 수행합니다. 기본 제공 Azure 기능을 활용하면 마이그레이션 실행에 드는 수고를 줄일 수 있습니다.

모니터링 및 감사

Netezza Performance Portal은 Netezza 시스템의 모니터링 및 로깅에 권장되는 방법입니다.

Netezza는 활동, 성능, 큐 및 리소스 사용률을 포함하여 하나 이상의 Netezza 시스템의 다양한 측면을 모니터링할 수 있는 Netezza Performance Portal을 제공합니다. Netezza Performance Portal은 사용자가 차트에 대한 하위 수준 세부 정보를 드릴다운할 수 있는 대화형 GUI입니다.

Azure Portal은 모든 Azure 데이터 및 프로세스에 대한 모니터링 및 감사 작업을 관리할 수 있는 UI를 제공합니다.

마찬가지로, Azure Synapse는 Azure Portal 내에서 데이터 웨어하우스 워크로드에 대한 인사이트를 제공하는 다양한 모니터링 환경을 제공합니다. 데이터 웨어하우스를 모니터링할 때는 구성 가능한 보존 기간, 경고, 권장 사항, 메트릭과 로그용 사용자 지정 가능한 차트 및 대시보드를 제공하는 도구인 Azure Portal을 사용하는 것이 좋습니다.

또한 이 포털을 통해 OMS(Operations Management Suite) 및 Azure Monitor(로그)와 같은 다른 Azure 모니터링 서비스와 통합하여 데이터 웨어하우스뿐만 아니라 Azure 분석 플랫폼 전체에 대한 전체적인 모니터링 환경을 제공함으로써 통합된 모니터링 환경을 구현할 수 있습니다.

하위 수준 및 시스템 수준 메트릭은 Azure Synapse에 자동으로 기록됩니다.

Azure Synapse의 리소스 사용률 통계는 시스템 내에 자동으로 기록됩니다. 각 쿼리에 대한 메트릭에는 CPU, 메모리, 캐시, I/O 및 임시 작업 영역의 사용 통계와 실패한 연결 시도와 같은 연결 정보가 포함됩니다.

Azure Synapse는 DMV(동적 관리 뷰) 세트를 제공합니다. 이러한 보기는 워크로드로 인한 성능 병목 상태를 적극적으로 해결하고 식별할 때 유용합니다.

자세한 내용은 Azure Synapse 운영 및 관리 옵션을 참조하세요.

HA(고가용성) 및 DR(재해 복구)

Netezza 어플라이언스는 중복된 내결함성 시스템이며, Netezza 시스템에는 고가용성 및 재해 복구를 가능하게 하는 다양한 옵션이 있습니다.

재해 복구를 위한 IBM Netezza Replication Services를 추가하면 로컬 및 광역 네트워크에서 중복성을 확장하여 내결함성이 향상됩니다.

IBM Netezza Replication Services는 주 시스템(주 노드)의 데이터를 하나 이상의 대상 노드(하위 노드)의 데이터와 동기화하여 데이터 손실을 방지합니다. 이러한 노드는 복제본 세트를 구성합니다.

Linux-HA라고도 하는 High-Availability Linux는 주 또는 활성 Netezza 호스트에서 보조 또는 대기 Netezza 호스트로 장애 조치(failover)하는 기능을 제공합니다. Linux-HA 솔루션의 기본 클러스터 관리 디먼을 하트비트라고 합니다. 하트비트는 호스트를 감시하고 서비스의 통신 및 상태 검사를 관리합니다.

각 서비스는 리소스입니다.

Netezza는 Netezza 관련 서비스를 nps 리소스 그룹으로 그룹화합니다. 하트비트는 Netezza 사용자에게 호스트 오류 조건 또는 서비스 중단을 유발하는 문제를 감지하면 대기 호스트로 장애 조치(failover)를 시작할 수 있습니다.

DRBD(Distributed Replicated Block Device)는 호스트 간에 블록 디바이스(하드 디스크, 파티션 및 논리 볼륨)의 콘텐츠를 미러링하는 블록 디바이스 드라이버입니다. Netezza는 /nz/export/home 파티션에만 DRBD 복제를 사용합니다. 새 데이터가 주 호스트의 /nz 파티션 및 /export/home 파티션에 기록되면 DRBD 소프트웨어는 대기 호스트의 /nz/export/home 파티션을 자동으로 동일하게 변경합니다.

Azure Synapse는 빠른 복구 시간을 보장하기 위해 자동으로 스냅샷을 만듭니다.

Azure Synapse는 데이터베이스 스냅샷을 사용하여 웨어하우스의 고가용성을 제공합니다. 데이터 웨어하우스 스냅샷은 데이터 웨어하우스를 복구하거나 이전 상태로 복사하는 데 사용할 수 있는 복원 지점을 만듭니다. Azure Synapse이 분산 시스템이므로 데이터 웨어하우스 스냅샷은 Azure Storage에 있는 여러 파일로 구성됩니다. 스냅샷은 데이터 웨어하우스에 저장된 데이터의 증분 변경 내용을 캡처합니다.

키를 업데이트하기 전에 사용자 정의 스냅샷을 사용하여 복구 지점을 정의하세요.

Microsoft Azure는 DR을 지원하기 위해 별도의 지리적 위치에 자동 백업을 제공합니다.

Azure Synapse는 하루 종일 자동으로 스냅샷을 만들고, 7일 동안 사용할 수 있는 복원 지점을 만듭니다. 이 보존 기간은 변경할 수 없습니다. Azure Synapse는 8시간 RPO(복구 지점 목표)를 지원합니다. 지난 7일 동안 만든 스냅샷 중 하나의 주 지역에 데이터 웨어하우스를 복원할 수 있습니다.

사용자 정의 복원 지점도 지원되므로, 스냅샷을 수동으로 트리거하여 대량 수정 전과 후에 데이터 웨어하우스의 복원 지점을 만들 수 있습니다. 이 기능은 복원 지점을 논리적으로 일관되게 유지하여 워크로드 중단 또는 사용자 오류 발생 시 8시간 미만의 목표 RPO를 달성할 수 있도록 추가적인 데이터 보호를 제공합니다.

앞에서 설명한 스냅샷 외에도, Azure Synapse는 쌍을 이루는 데이터 센터에 매일 한 번씩 지역 백업을 표준으로 수행합니다. 지역 복원의 RPO는 24시간입니다. Azure Synapse가 지원되는 다른 지역의 서버로 지역 백업을 복원할 수 있습니다. 지역 백업을 사용하면 주 지역의 복원 지점을 사용할 수 없는 경우 데이터 웨어하우스를 복원할 수 있습니다.

워크로드 관리

프로덕션 데이터 웨어하우스에서는 일반적으로 리소스 사용 특징이 서로 다른 혼합 워크로드가 동시에 실행됩니다.

Netezza는 워크로드 관리를 위한 다양한 기능을 통합합니다.

기법 설명
스케줄러 규칙 스케줄러 규칙은 계획의 일정에 영향을 미칩니다. 각 스케줄러 규칙은 단일 조건 또는 조건 세트를 지정합니다. 스케줄러는 계획을 받을 때마다 모든 스케줄러 수정 규칙을 평가하고 적절한 작업을 수행합니다. 스케줄러는 실행할 계획을 선택할 때마다 모든 스케줄러 제한 규칙을 평가합니다. 스케줄러 제한 규칙의 제한을 초과하지 않는 경우에만 계획이 실행됩니다. 초과하면 계획이 대기합니다. 따라서 다른 WLM 기술(SQB, GRA 및 PQE)에 영향을 주는 방식으로 계획을 분류하고 조작할 수 있습니다.
GRA(보장된 리소스 할당) 리소스 그룹이라는 엔터티에 총 시스템 리소스의 최소 공유 및 최대 백분율을 할당할 수 있습니다. 스케줄러는 각 리소스 그룹이 최소 공유에 비례하여 시스템 리소스를 받도록 합니다. 리소스 그룹은 다른 리소스 그룹이 유휴 상태일 때 더 큰 리소스 공유를 수신하지만, 구성된 최대 백분율보다 더 많이 수신하는 일은 절대 없습니다. 각 계획은 리소스 그룹과 연결되며, 해당 리소스 그룹의 설정에 따라 계획을 처리하는 데 사용할 수 있는 시스템 리소스의 비율이 결정됩니다.
SQB(짧은 쿼리 바이어스) 리소스(즉, 예약 슬롯, 메모리 및 우선 큐)는 짧은 쿼리를 위해 예약됩니다. 짧은 쿼리는 예상 비용이 지정된 최댓값(기본값은 2초)보다 작은 쿼리입니다. SQB를 사용하면 시스템이 다른 긴 쿼리를 처리 중일 때에도 짧은 쿼리를 실행할 수 있습니다.
PQE(우선 순위가 지정된 쿼리 실행) 구성하는 설정에 따라 시스템은 각 쿼리에 우선 순위(위험, 높음, 보통 또는 낮음)를 할당합니다. 우선 순위는 쿼리와 연결된 사용자, 그룹 또는 세션과 같은 요인에 따라 달라집니다. 그러면 시스템은 리소스 할당 기준으로 우선 순위를 사용할 수 있습니다.

Azure Synapse는 리소스 사용률 통계를 자동으로 기록합니다. 메트릭에는 각 쿼리에 대한 CPU, 메모리, 캐시, I/O 및 임시 작업 영역에 대한 사용 통계가 포함됩니다. Azure Synapse는 실패한 연결 시도와 같은 연결 정보도 기록합니다.

하위 수준 및 시스템 수준 메트릭은 Azure 내에 자동으로 기록됩니다.

Azure Synapse에서 리소스 클래스는 쿼리 실행을 위한 컴퓨팅 리소스와 동시성을 관리하는 미리 결정된 리소스 제한입니다. 리소스 클래스를 사용하면 동시에 실행되는 쿼리 수와 각 쿼리에 할당되는 컴퓨팅 리소스에 대한 제한을 설정하여 워크로드를 관리할 수 있습니다. 메모리와 동시성 사이에는 장단점이 있습니다.

Azure Synapse는 다음과 같은 기본 워크로드 관리 개념을 지원합니다.

  • 워크로드 분류: 중요도 수준을 설정하기 위해 워크로드 그룹에 요청을 할당할 수 있습니다.

  • 워크로드 중요도: 요청이 리소스에 액세스하는 순서에 영향을 줄 수 있습니다. 기본적으로 쿼리는 리소스를 사용할 수 있게 되면 선입선출 방식으로 큐에서 해제됩니다. 워크로드 중요도를 통해 우선 순위가 높은 쿼리가 큐와 관계없이 즉시 리소스를 받을 수 있습니다.

  • 워크로드 격리: 워크로드 그룹에 대한 리소스를 예약하고, 다양한 리소스에 대해 최대 및 최소 사용량을 할당하고, 요청 그룹이 사용할 수 있는 리소스를 제한하고, 런어웨이 쿼리를 자동으로 종료하도록 시간 제한 값을 설정할 수 있습니다.

혼합된 워크로드를 실행하면 사용량이 많은 시스템에서 리소스 문제가 발생할 수 있습니다. 성공적인 워크로드 관리 체계는 리소스를 효과적으로 관리하고, 매우 효율적인 리소스 사용률을 보장하며, ROI(투자 수익률)를 극대화합니다. 워크로드 분류, 워크로드 중요도워크로드 격리를 통해 워크로드가 시스템 리소스를 활용하는 방법을 더 잘 제어할 수 있습니다.

워크로드 관리 가이드에서는 워크로드를 분석하고 워크로드 중요도를 관리 및 모니터링하는 기술을 설명합니다.](../../sql-data-warehouse/sql-data-warehouse-how-to-manage-and-monitor-workload-importance.md) 및 리소스 클래스를 워크로드 그룹으로 변환하는 단계입니다. Azure PortalDMV의 T-SQL 쿼리를 사용하여 해당 리소스가 효율적으로 활용되도록 워크로드를 모니터링합니다. Azure Synapse 워크로드 관리의 모든 측면을 모니터링하기 위한 DMV(동적 관리 뷰) 세트를 제공합니다. 이러한 보기는 워크로드의 성능 병목 상태를 적극적으로 해결하고 식별할 때 유용합니다.

이 정보는 추가 사용자 또는 애플리케이션 워크로드에 필요한 리소스를 결정하는 용량 계획에도 사용할 수 있습니다. 이는 빈도 없는 활동 기간으로 둘러싸인 일시적, 강렬한 활동 버스트가 있는 워크로드와 같이 “뾰족한” 워크로드를 비용 효율적으로 지원하기 위한 컴퓨팅 리소스의 스케일 업/스케일 다운 계획에도 적용됩니다.

Azure Synapse의 워크로드 관리에 대한 자세한 내용은 리소스 클래스를 사용한 워크로드 관리를 참조하세요.

컴퓨팅 리소스 스케일링

Azure의 주요 이점은 피크 워크로드를 비용 효율적으로 처리할 수 있도록 컴퓨팅 리소스를 주문형으로 스케일 업 및 다운하는 기능입니다.

Azure Synapse의 아키텍처는 스토리지와 컴퓨팅을 분리하므로, 각각 독립적으로 스케일링할 수 있습니다. 따라서 데이터 스토리지에 관계없이 성능 요구 사항에 맞게 컴퓨팅 리소스를 스케일링할 수 있습니다. 또한 컴퓨팅 리소스를 일시 중지했다가 다시 시작할 수도 있습니다. 이 아키텍처의 태생적 이점은 컴퓨팅 요금과 스토리지 요금이 각각 따로 청구된다는 것입니다. 데이터 웨어하우스를 사용하지 않는 경우 컴퓨팅을 일시 중지하여 컴퓨팅 비용을 절감할 수 있습니다.

데이터 웨어하우스의 데이터 웨어하우스 단위 설정을 조정하여 컴퓨팅 리소스를 스케일 업 또는 스케일 백할 수 있습니다. 데이터 웨어하우스 단위를 추가하면 로드 및 쿼리 성능이 선형적으로 증가합니다.

컴퓨팅 노드를 추가하면 컴퓨팅 성능과 더 많은 병렬 처리를 활용할 수 있는 기능이 추가됩니다. 컴퓨팅 노드 수가 늘어나면 컴퓨팅 노드당 배포 수가 줄어들어 쿼리에 더 많은 컴퓨팅 및 병렬 처리 성능이 제공됩니다. 마찬가지로, 데이터 웨어하우스 단위를 줄이면 컴퓨팅 노드 수가 줄어들어 쿼리에 제공되는 컴퓨팅 리소스가 줄어듭니다.

다음 단계

시각화 및 보고에 대한 자세한 내용은 이 시리즈의 다음 문서인 Netezza 마이그레이션에 대한 시각화 및 보고를 참조하세요.