스트림 분석에 데이터 복제

OCI GoldenGate에서 Stream Analytics로 데이터를 복제하는 방법을 알아봅니다.

GoldenGate Stream Analytics는 Apache Spark 및 Apache Kafka를 통해 런타임 프레임워크에서 실행되도록 진화한 복잡한 이벤트 처리 엔진으로 시작되었습니다. Stream Analytics는 데이터베이스, GoldenGate, Kafka, JMS, REST 또는 파일 시스템 파일과 같은 모든 소스에서 데이터 스트림을 수집할 수 있습니다. 데이터가 수집되면 실시간 데이터에 대한 분석을 실행할 수 있습니다.

시작하기 전에

이 빠른 시작을 성공적으로 완료하려면 다음이 필요합니다.

  • 샘플 데이터가 로드되고 보완 로깅이 사용으로 설정된 소스 Autonomous Database입니다.

    참고:

    작업할 샘플 데이터가 필요한 경우 OCI GoldenGate 샘플 데이터를 다운로드할 수 있습니다.
    • 먼저 SETUP_USERS_ATP.sql를 편집하고 SRC_OCIGGLL 사용자의 암호를 수정하여 특수 문자를 제거합니다.
    • Autonomous Database의 Database actions SQL 도구를 사용하여 두 스크립트를 실행하여 사용자 스키마 및 테이블을 생성합니다.
    • SQL 툴을 사용하여 보완 로깅을 활성화합니다.
    자세한 내용은 실습 1, 태스크 3: ATP 스키마 로드의 단계를 따르십시오.
  • 소스 Autonomous Database 인스턴스에서 GGADMIN 사용자 잠금 해제
    1. [Autonomous Database 세부 정보] 페이지의 데이터베이스 작업 메뉴에서 데이터베이스 사용자를 선택합니다.

      참고:

      로그인할 인스턴스를 생성할 때 제공된 Autonomous Database 관리자 인증서를 프롬프트가 표시되면 사용합니다.
    2. GGADMIN 사용자를 찾은 다음 줄임표(점 3개) 메뉴에서 Edit를 선택합니다.
    3. Edit User(사용자 편집) 패널에서 암호를 입력하고 암호를 확인한 다음 Account is Locked의 선택을 해제합니다.
    4. 변경 사항 적용을 누릅니다.

작업 1: OCI GoldenGate 리소스 생성

  1. 데이터 복제를 위한 OCI GoldenGate 배치를 생성합니다.
  2. 소스 데이터베이스에 대한 접속을 생성합니다.
  3. 배포에 연결을 지정합니다.
  4. 추출 생성 및 실행.

작업 2: 스트림 분석 리소스 생성

  1. Stream Analytics 배치를 생성합니다.
  2. Kafka 인스턴스의 퍼블릭 IP를 사용하여 Kafka 접속을 생성하고 보안 프로토콜에 대해 일반 텍스트를 선택합니다.
  3. GoldenGate 접속을 생성합니다.
  4. Stream Analytics 배포에 연결을 할당합니다.

작업 3: 파이프라인 생성 및 실행

  1. Stream Analytics 배치 콘솔을 실행합니다.
  2. Stream Analytics 배포 콘솔에서 연결을 검토합니다.
    1. Stream Analytics 배치 콘솔에서 카탈로그를 누릅니다.
    2. 카탈로그 페이지에서 연결 목록을 검토합니다. GoldenGate 접속, Autonomous Database 접속 및 Kafka 접속이 표시됩니다.
  3. GoldenGate Big Data 클러스터를 시작합니다.
    1. OCI GoldenGate Stream Analytics 배포 콘솔의 ossaadmin 사용자 메뉴에서 시스템 설정을 선택합니다.
    2. [시스템 설정] 대화상자에서 클러스터 관리를 누른 다음 GGDB 클러스터를 확장합니다.
    3. 클러스터 시작을 누릅니다. 클러스터 상태가 Running 상태가 될 때까지 기다린 후 대화 상자를 닫습니다.
  4. GoldenGate 접속 인증서를 업데이트합니다.

    Stream Analytics 배포 콘솔에서 GoldenGate 연결을 사용할 수 있지만 GoldenGate 자격 증명은 이월되지 않습니다. 암호를 갱신하고 연결을 테스트합니다.

    1. 카탈로그를 누른 다음 GoldenGate 접속을 누릅니다.
    2. 접속 편집 대화상자에서 다음을 누릅니다.
    3. GG 사용자 이름에 대해 oggadmin을 입력합니다.
    4. GG 비밀번호의 경우 비밀번호 변경을 누른 다음 태스크 1에서 데이터 복제에 대한 OCI GoldenGate 배치를 생성할 때 제공된 비밀번호를 입력합니다.
    5. 연결 테스트를 클릭합니다. 성공하면 저장을 누릅니다.
  5. GoldenGate 추출을 사용하여 GoldenGate 데이터 변경을 생성하고 시작합니다.

    GG 변경 데이터 세부정보 페이지의 태스크 1에 제공된 추출 세부정보를 사용해야 합니다.

  6. Autonomous Database 사용자 이름을 업데이트합니다.

    데이터베이스 연결은 기본 사용자 ggadmin로 생성됩니다. 제공된 샘플 데이터를 사용한 경우 사용자 이름을 SRC_OCIGGLL로 갱신하여 해당 스키마 및 테이블에 액세스합니다.

    1. 카탈로그를 누른 다음 Autonomous Database 접속을 누릅니다.
    2. [접속 편집] 대화상자에서 다음을 누릅니다.
    3. 사용자 이름SRC_OCIGGLL을 입력합니다.
    4. 비밀번호의 경우 이 빠른 시작의 시작 단계에서 시작하기 전에 수정한 SRC_OCIGGLL비밀번호를 입력합니다.
    5. 연결 테스트를 클릭합니다. 성공하면 저장을 누릅니다.
  7. Autonomous Database 룩업 테이블을 사용하여 고객 및 주문에 대한 참조를 생성합니다.
  8. Kafka 연결을 사용하여 고객 및 주문에 대한 Kafka 스트림을 생성합니다.
  9. Autonomous Database SQL 도구를 사용하여 소스 데이터베이스에서 삽입을 수행합니다.
    예를 들어, 다음 삽입을 실행할 수 있습니다.
    Insert into SRC_OCIGGLL.SRC_ORDERS (ORDER_ID,STATUS,CUST_ID,ORDER_DATE,CUSTOMER) values (11,'COM',101,to_date('16-AUG-2023','DD-MON-YYYY'),null);
    Insert into SRC_OCIGGLL.SRC_ORDERS (ORDER_ID,STATUS,CUST_ID,ORDER_DATE,CUSTOMER) values (12,'COM',102,to_date('16-AUG-2023','DD-MON-YYYY'),null);
    Insert into SRC_OCIGGLL.SRC_ORDERS (ORDER_ID,STATUS,CUST_ID,ORDER_DATE,CUSTOMER) values (13,'COM',103,to_date('16-AUG-2023','DD-MON-YYYY'),null);
    Insert into SRC_OCIGGLL.SRC_ORDERS (ORDER_ID,STATUS,CUST_ID,ORDER_DATE,CUSTOMER) values (14,'COM',104,to_date('16-AUG-2023','DD-MON-YYYY'),null);
    Insert into SRC_OCIGGLL.SRC_ORDERS (ORDER_ID,STATUS,CUST_ID,ORDER_DATE,CUSTOMER) values (15,'COM',105,to_date('16-AUG-2023','DD-MON-YYYY'),null);
    Insert into SRC_OCIGGLL.SRC_ORDERS (ORDER_ID,STATUS,CUST_ID,ORDER_DATE,CUSTOMER) values (16,'COM',106,to_date('16-AUG-2023','DD-MON-YYYY'),null);
    Insert into SRC_OCIGGLL.SRC_ORDERS (ORDER_ID,STATUS,CUST_ID,ORDER_DATE,CUSTOMER) values (17,'COM',107,to_date('16-AUG-2023','DD-MON-YYYY'),null);
    Insert into SRC_OCIGGLL.SRC_ORDERS (ORDER_ID,STATUS,CUST_ID,ORDER_DATE,CUSTOMER) values (18,'COM',201,to_date('16-AUG-2023','DD-MON-YYYY'),null);
    Insert into SRC_OCIGGLL.SRC_ORDERS (ORDER_ID,STATUS,CUST_ID,ORDER_DATE,CUSTOMER) values (19,'COM',202,to_date('16-AUG-2023','DD-MON-YYYY'),null);
  10. 8단계에서 생성한 Kafka 스트림을 사용하는 파이프라인을 생성합니다.
  11. 질의 단계를 추가한 다음 필터를 추가하여 주문 스트림의 CUST_ID가 고객 스트림의 CUSTID와 일치하는 주문만 반환합니다.
  12. 대상 단계 추가.
  13. 파이프라인을 게시합니다.