5 데이터 모델링을 위한 데이터베이스 접속 관리

관리자는 Essbase, Snowflake 또는 Oracle EPM(Oracle Enterprise Performance Management) 데이터와 같은 관계형/비관계형 데이터를 모델링하기 위해 클라우드 데이터베이스 접속을 생성하고 관리합니다. 비즈니스 데이터는 한 곳에 있지 않아도 됩니다. 비즈니스 모델러 및 분석가가 저장 위치에 관계없이 회사 데이터를 분석할 수 있도록 다중 클라우드 데이터베이스에 접속합니다.

Essbase 큐브의 데이터 모델링

Essbase 큐브의 데이터를 모델링하고 시각화할 수 있도록 Essbase 데이터베이스에 접속합니다.

모델 관리 툴에서만 Essbase 데이터를 모델링할 수 있습니다.
시작하기 전에 Oracle Analytics 인스턴스에 데이터 게이트웨이를 배치하고 원격 Essbase 배치와 통신하도록 데이터 게이트웨이 에이전트를 구성합니다.
  1. 물리적 층에서 데이터베이스를 생성합니다.
    1. 물리적 층 창을 마우스 오른쪽 단추로 누르고 새 데이터베이스 생성을 선택합니다.
    2. 데이터베이스 대화상자에서 Oracle Analytics 내에서 데이터베이스를 식별하는 이름을 지정합니다.
    3. 데이터베이스 유형(예: Essbase 11)을 선택하고 확인을 누릅니다.
  2. 물리적 층에서 접속 풀을 생성합니다.
    1. 새 데이터베이스를 마우스 오른쪽 단추로 누르고 새 객체 생성을 누른 다음 데이터베이스 접속 풀을 선택합니다.
    2. 접속 풀 대화상자에서 Oracle Analytics 내에서 데이터베이스 풀을 식별하는 이름을 지정합니다.
    3. Essbase 서버에서 Essbase 서버에 대한 접속 문자열을 지정합니다.
      예: http://<IP address>:<port number>/essbase/agent.
    4. 데이터 게이트웨이 사용을 선택합니다.
    5. Essbase 배치를 위한 사용자 이름비밀번호를 입력합니다.
    6. 메시지가 표시되면 Essbase 배치용 비밀번호를 다시 입력합니다.
  3. 물리적 층에서 Essbase 메타데이터를 임포트합니다.
    1. Essbase 접속을 마우스 오른쪽 단추로 누르고 메타데이터 임포트를 선택합니다.
    2. 데이터 소스 선택 페이지에서 다음을 누릅니다.
    3. 메타데이터 객체 선택 페이지에서 데이터 소스 상자의 데이터베이스를 확장하고 원하는 큐브를 선택한 다음 선택한 항목 임포트를 누릅니다.

      대용량 큐브의 경우 임포트하려면 2-3분 정도 걸릴 수 있습니다.

    4. 임포트가 완료되면 저장소 뷰의 데이터베이스를 확장하여 임포트한 Essbase 큐브를 표시합니다.
    5. 완료를 누릅니다.
  4. 방금 생성한 물리적 층을 사용하여 비즈니스 모델과 매핑 층 및 프리젠테이션 층을 생성합니다.
  5. 파일, 클라우드, 게시를 차례로 누릅니다.
  6. Essbase 큐브를 기반으로 대시보드 또는 시각화 워크북을 생성합니다.
    이제 새 Essbase 큐브를 Oracle Analytics에서 주제 영역으로 사용할 수 있습니다.
    예를 들어, Oracle Analytics에서 분석을 생성하고 주제 영역 선택 대화상자에서 새 Essbase 주제 영역에 액세스할 수 있습니다. Oracle Analytics에서 워크북을 생성하고 데이터 집합 추가 대화상자에서 주제 영역을 눌러 새 Essbase 주제 영역에 액세스합니다.

Snowflake Data Warehouse의 데이터 모델링

Snowflake 데이터베이스의 데이터를 모델링할 수 있도록 온프레미스 환경을 구성합니다.

의미 모델러 또는 모델 관리 툴에서 Snowflake 데이터를 모델링할 수 있습니다. 이 작업은 모델 관리 툴을 사용한 프로세스를 설명합니다.
의미 모델에서 Snowflake로의 로컬 및 원격 접속의 경우 모델 관리 툴이 Snowflake 데이터 소스에서 테이블을 임포트하고 모델링하려면 데이터 게이트웨이를 설치해야 합니다. Snowflake에 접속하기에 적절한 드라이버로 데이터 게이트웨이 에이전트를 구성합니다. 질의가 실행될 때 원격 데이터 게이트웨이 접속이 사용 가능한지 확인합니다. 하지만 Snowflake 테이블이 모델링되고 의미 모델이 Oracle Analytics에 게시된 후에는 로컬 접속에 대해 Oracle Analytics에서 질의가 실행될 때 사용되지 않는 데이터 게이트웨이를 사용 안함으로 설정하거나 제거할 수 있습니다.

의미 모델에서 Snowflake로의 로컬 또는 원격 접속을 생성할 수 있습니다. 로컬(원격 아님) 접속을 생성할 때 의미 모델의 접속 풀은 JDBC 접속을 사용합니다.

시작하기 전에 온-프레미스 환경의 동일한 Windows 컴퓨터에 데이터 게이트웨이 및 모델 관리 툴을 설치합니다.
  1. Developer Client Tool에서 Snowflake로의 접속을 활용하도록 로컬 데이터 게이트웨이 에이전트를 구성합니다.
    1. 최신 Snowflake JDBC 드라이버(예: snowflake-jdbc-3.9.0.jar 파일)를 다운로드합니다.
    2. 다운로드한 JAR 파일을 데이터 게이트웨이 설치 폴더에 복사합니다.
      서버 배치에서 다음 경로에 JAR 파일을 복사합니다.
      <Data Gateway folder>/domain/jettybase/lib/ext
      개인 배치에서 다음 경로에 JAR 파일을 복사합니다.
      <install directory>\war\datagateway\WEB-INF\lib
    3. 데이터 게이트웨이를 재시작합니다.
  2. Snowflake 데이터베이스에 대한 접속을 구성합니다.
이제 이 접속을 사용하여 데이터를 모델링할 수 있습니다.

Snowflake에 대한 로컬 의미 모델 접속 생성

Snowflake 데이터를 모델링할 수 있도록 로컬 Snowflake 데이터베이스에 접속합니다.

  1. 모델 관리 툴에서 Java 데이터 소스를 로드하여 JDBC 접속 풀 기능을 사용으로 설정합니다. 보고를 위해 데이터 게이트웨이 구성 및 등록의 단계 3을 참조하십시오.
  2. 모델 관리 툴에서 데이터베이스를 생성하고 유형을 Snowflake로 설정합니다.
  3. 접속 풀을 추가하고 일반 사항 탭에서 다음 세부정보를 지정합니다.
    • 호출 인터페이스: JDBC(직접 드라이버).
    • 전체 테이블 이름 필요: 예.
    • 데이터 소스 이름: 접속 문자열을 입력합니다. 예: jdbc:snowflake://xxxx.snowflakecomputing.com?db=ODEV&warehouse=xxxxxx&schema=xxxxxx
    • RDC 버전: 이 필드는 비워 둡니다.
  4. 기타 탭에서 다음 세부정보를 지정합니다.
    • JDS 서버 URL: 이 필드는 비워 둡니다(이 필드 안의 항목 제거).
    • 드라이버 클래스: net.snowflake.client.jdbc.SnowflakeDriver.
    • HTTP를 통해 SQL 사용: false.
  5. 이 접속을 사용하여 데이터를 모델링합니다.
  6. 모델을 완료한 경우 의미 모델을 Oracle Analytics Cloud에 업로드 또는 게시합니다.
    Oracle Analytics Cloud는 데이터 게이트웨이를 사용하지 않고 Snowflake 데이터베이스에 접속합니다.
이제 이 접속을 사용하여 데이터를 모델링할 수 있습니다.

Snowflake에 대한 원격 의미 모델 접속 생성

Snowflake 데이터를 모델링할 수 있도록 로컬 Snowflake 데이터베이스에 접속합니다.

  1. 모델 관리 툴에서 Java 데이터 소스를 로드하여 JDBC 접속 풀 기능을 사용으로 설정합니다. 보고를 위해 데이터 게이트웨이 구성 및 등록의 단계 3을 참조하십시오.
  2. 모델 관리 툴에서 데이터베이스를 생성하고 유형을 Snowflake로 설정합니다.
  3. 접속 풀을 추가하고 일반 사항 탭에서 다음 세부정보를 지정합니다.
    • 호출 인터페이스: JDBC(직접 드라이버).
    • 전체 테이블 이름 필요: 예.
    • 데이터 소스 이름: 접속 문자열을 입력합니다. 예: jdbc:snowflake://xxxx.snowflakecomputing.com?db=ODEV&warehouse=xxxxxx&schema=xxxxxx
    • RDC 버전: 2로 설정합니다.
  4. 기타 탭에서 다음 세부정보를 지정합니다.
    • JDS 서버 URL: 이 필드는 비워 둡니다(이 필드 안의 항목 제거).
    • 드라이버 클래스: net.snowflake.client.jdbc.SnowflakeDriver.
    • HTTP를 통해 SQL 사용: true.
  5. 이 접속을 사용하여 데이터를 모델링합니다.
  6. 모델을 완료한 경우 의미 모델을 Oracle Analytics Cloud에 업로드 또는 게시합니다.
    참고: Oracle Analytics Cloud는 구성된 데이터 게이트웨이 에이전트를 사용하여 Snowflake에 접속합니다.
  7. Snowflake 드라이버 파일을 각 데이터 게이트웨이 에이전트 설치 폴더에 복사합니다.
    • 서버 배치에서는 JAR 파일을 <Data Gateway install_location>/domain/jettybase/thirdpartyDrivers에 복사합니다.
    • Windows의 개별 배치에서는 JAR 파일을 <Data Gateway_extract_path>\thirdpartyDrivers에 복사합니다.
    • MacOS의 개별 배치에서는 JAR 파일을 <Application->Show Package Contents>Resources->app.nw-> thirdpartyDrivers에 복사합니다.
  8. 데이터 게이트웨이를 재시작합니다. 데이터 게이트웨이 유지보수을(를) 참조하십시오.

Google BigQuery의 데이터 모델링

Google BigQuery 데이터베이스에 접속하여 Google BigQuery의 데이터를 모델링하고 시각화할 수 있습니다. 의미 모델러 또는 모델 관리 툴에서 Google BigQuery 데이터를 모델링할 수 있습니다. 이 작업은 모델 관리 툴을 사용한 프로세스를 설명합니다.

항목

Google BigQuery에 대한 Oracle Analytics 접속 생성

Google BigQuery 데이터베이스에 대한 시스템 접속을 생성하고 해당 접속을 사용하여 Google BigQuery 프로젝트를 모델링할 수 있습니다.

시작하기 전에 Google BigQuery 서비스에 대한 서비스 계정 프라이빗 키(JSON 형식)를 다운로드합니다.
  1. Oracle Analytics 페이지에서 생성을 누른 다음 접속을 누릅니다.
  2. BigQuery를 누릅니다.
  3. 접속 세부정보를 입력합니다.
    • 접속 이름에 Oracle Analytics에서 접속 세부정보를 식별할 사용자에게 친숙한 이름을 지정합니다.
    • 프로젝트에서 분석할 프로젝트의 BigQuery 프로젝트 이름을 소문자로 지정합니다.
    • 서비스 계정 프라이빗 키에서 선택을 누르고 BigQuery 서비스에 대한 서비스 계정 프라이빗 키(JSON 형식)를 업로드합니다. 서비스 계정 전자메일은 업로드한 키 세부정보로 채워집니다.
    • 시스템 접속에서 이 옵션을 선택합니다.

  4. 세부정보를 저장합니다.

BigQuery ODBC 드라이버 다운로드 및 설정

Google BigQuery 접속에 필요한 ODBC 드라이버를 설치하고, 모델 관리 툴에서 프로젝트를 모델링할 수 있도록 구성합니다.

  1. Google에서 Simba BigQuery ODBC 드라이버를 다운로드합니다.
    예를 들어, Google 참조 사이트에서 다운로드합니다.
  2. Oracle Analytics Client Tools가 설치된 시스템에 다운로드한 드라이버를 설치합니다.
  3. DSN 설정 대화상자를 사용하여 ODBC 드라이버를 구성합니다.

  4. 테스트를 눌러 접속을 테스트합니다.

  5. 세부정보를 저장합니다.

Google BigQuery 데이터 소스에서 데이터 모델 구축

Google BigQuery 데이터베이스용 데이터 모델을 구축하고 배치하여 BigQuery 프로젝트의 데이터를 시각화할 수 있습니다.

데이터 모델을 구축하려면 BigQuery 키에 권한이 필요합니다. BigQuery 키가 데이터 집합 레벨에 액세스 권한을 부여하는 경우, 아래 단계에 따라 BigQuery ODBC 드라이버를 사용하여 메타데이터 임포트를 수행하면 됩니다. BigQuery 키가 특정 테이블이나 뷰에만 액세스 권한을 부여하는 경우, 아래 단계에 따라 물리적 스키마를 생성하십시오.
  1. 모델 관리 툴에서 저장소에 데이터베이스를 생성하고 데이터베이스 유형을 ODBC Basic으로 설정합니다.

  2. [접속 풀] 대화상자에서 데이터베이스에 접속 풀을 생성합니다.
    • 호출 인터페이스에서 "기본값(ODBC 2.0)"을 선택합니다.
    • 데이터 소스 이름 필드에서 앞서 생성한 BigQuery ODBC 드라이버를 선택합니다.

  3. BigQuery 데이터 집합과 동일한 이름을 사용하여 데이터베이스에 물리적 스키마를 생성합니다.
    BigQuery SQL에서는 데이터 집합 이름이 테이블 이름 앞에 추가되어야 합니다(dataset.table). 데이터 집합 이름은 저장소 파일의 물리적 스키마 객체와 동일합니다.
  4. 접속 풀을 마우스 오른쪽 단추로 누르고 메타데이터 임포트를 선택합니다.
  5. [데이터 소스 선택] 대화상자에서 접속 유형으로 ODBC 2.0 또는 ODBC 3.5를 선택하고 BigQuery ODBC 드라이버를 선택합니다.

  6. [메타데이터 유형 선택] 대화상자에서 외에 BigQuery 키 권한 설정에 사용할 기타 유형을 선택합니다.

  7. [메타데이터 임포트 - 메타데이터 유형 선택] 대화상자에서 개별 테이블을 선택하고 선택한 항목 임포트를 누릅니다. 그러면 BigQuery 데이터베이스와 기본 구조가 임포트됩니다.

    모두 임포트를 누르면 데이터베이스만 임포트됩니다. 이 경우 모두 임포트를 재차 선택하여 테이블을 임포트합니다.
  8. 완료를 누릅니다.
  9. 임포트한 테이블을 물리적 스키마로 끌어옵니다.
  10. 물리적 데이터베이스를 편집하고 데이터베이스 유형을 BigQuery로 변경합니다.

    물리적 데이터베이스를 변경할 때 데이터베이스 유형이 접속 풀에 설정된 호출 인터페이스와 일치하지 않는다는 메시지가 표시됩니다. 를 누릅니다.

  11. [접속 풀] 대화상자에서 다음 설정을 구성합니다.
    • 호출 인터페이스에서 호출 인터페이스를 JDBC(직접 드라이버)로 변경합니다.
    • 전체 테이블 이름 필요를 선택합니다.
    • 데이터 접속 사용을 선택합니다.
    • Oracle Analytics에서 BigQuery 접속을 검사하고 객체 ID를 복사합니다. BigQuery는 대소문자를 구분합니다. 데이터 접속 구문이 정확하도록 하려면 복사 단추를 사용합니다.

    • [접속 풀] 대화상자에서 복사한 객체 ID를 객체 ID 필드에 붙여넣습니다.
    • 최대 접속을 100으로 설정합니다.
  12. 세부정보를 저장합니다.
저장소의 메타데이터를 모델링하고 저장소 파일(RPD)을 Oracle Analytics에 업로드합니다.

Google BigQuery에 대한 저장소 접속 문제 해결

다음은 Google BigQuery에 접속할 때 발생할 수 있는 몇 가지 문제와 임시해결책입니다.

'전체 테이블 이름 필요'가 선택되지 않았고 물리적 스키마가 생성된 SQL의 일부가 아닌 경우 'Java 데이터 소스 서버에서 데이터 읽기를 실패했습니다'와 유사한 메시지와 함께 질의가 실패합니다.

nqcmd 또는 다른 SQL 입력 툴을 사용하여 BigQuery에 대해 질의를 실행하면 실제 오류 메시지가 표시됩니다.

WITH SAWITH0 AS (select distinct T4.PROP_CD as c1 from FINOPS_RM_OCC_ACT T4) select 0 as c1, D1.c1 as c2 from SAWITH0 D1 order by c2
[Simba][BigQuery] (70) Invalid query: Table "FINOPS_RM_OCC_ACT" must be qualified with a dataset (e.g. dataset.table).
Statement preparation failed

데이터 집합으로 질의를 한정하는 방법은 저장소 파일의 물리적 스키마를 사용하는 것입니다.

Oracle Analytics 접속이 대문자 프로젝트 이름을 사용하는 경우 접속이 성공적으로 생성됩니다.

두 가지 다른 문제가 나타날 수 있습니다.

1. 마스크된 URL에 대한 404 찾을 수 없음 메시지와 함께 질의가 실패합니다.

[2022-03-17T01:13:44.105+00:00] [OBIS] [TRACE:2] [USER-34] [] [ecid: d6382db0-1e63-427e-893b-18bc00c0424e-0000de96,0:2:1:5] [sik: bootstrap] [tid: 856a6700] [messageId: USER-34] [requestid: 6358001e] [sessionid: 63580000] [username: Testuser] -------------------- Query Status: [nQSError: 46164] HTTP Server returned 404 (Not Found) for URL [masked_url]. [[
[nQSError: 46281] Failed to download metadata for dataset ‘system’.‘BigQuery Test’.
[nQSError: 43119] Query Failed:

2. Oracle Analytics 내에서 데이터 집합이 표시되지만 기본 테이블을 사용할 수 없습니다.
GUID-1C0811AA-3875-4A7C-A147-230688B98583-default.png에 대한 설명이 이어집니다.
.png''

두 경우 모두 프로젝트 이름이 소문자가 되도록 접속을 수정할 수 있습니다.

Oracle Analytics Cloud에서 BigQuery 접속 문제를 해결할 때 타사 JDBC 클라이언트를 사용하여 동일한 서비스 계정 키로 BigQuery에 접속해 보십시오.

여전히 접속을 실패하면 서비스 계정 키에 문제가 있는 것입니다.

접속을 성공하면 Oracle Analytics에 문제가 있는 것이므로 오라클 고객지원센터에 문의해야 합니다.

이 테스트는 서비스 계정 키가 ODBC를 통해 확인되지 않는 경우 유용합니다.

데이터 소스 지정을 위한 DSN 형식

Oracle Analytics에서는 여러 데이터베이스 유형에 대해 온프레미스 데이터를 모델링할 수 있습니다. Oracle Analytics는 의미 모델을 통해 일부 온-프레미스 데이터 소스에 대한 직접 액세스를 지원합니다. 모델 관리 툴을 사용하여 데이터베이스 접속을 생성할 때 접속 풀 대화상자(일반 사항 탭)의 데이터 소스 이름 필드에서 접속할 데이터베이스 유형에 적절한 DSN 형식을 사용합니다.

Amazon Redshift:
       DRIVER=Oracle 7.1 Amazon Redshift Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
      SSL: DRIVER=Oracle 7.1 Amazon Redshift Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"];EM=6;CPV=TLSv1.2,TLSv1.1,TLSv1, SSLv3, SSLv2;VSC=0
Apache Drill:
       DRIVER=MapR Drill ODBC Driver;Host=["host-name"];Port=["port"];CastAnyToVarchar=true;ExcludedSchemas=sys,INFORMATION_SCHEMA;AuthenticationType=Basic               Authentication;ConnectionType=Direct
Aster:
       DRIVER=Aster ODBC Driver;SERVER=["host-name"];PORT=["port"];DATABASE=["service-name"]
DB2:
      DRIVER=Oracle 7.1 DB2 Wire Protocol;IpAddress=["host-name"];PORT=["port"];DB=["service-name"]
      SSL:  DRIVER=Oracle 7.1 DB2 Wire Protocol;IpAddress=["host-name"];PORT=["port"];DB=["service-name"];EM=1;VSC=0
Greenplum:
       DRIVER=Oracle 7.1 Greenplum Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
Hive:
       DRIVER=Oracle 8.0 Apache Hive Wire Protocol;HOST=["host-name"];PORT=["port"]
      SSL: DRIVER=Oracle 8.0 Apache Hive Wire Protocol;HOST=["host-name"];PORT=["port"];EM=1;VSC=0
Impala:
       DRIVER=Oracle 7.1 Impala Wire Protocol;HOST=["host-name"];PORT=["port"]
     SSL:  DRIVER=Oracle 7.1 Impala Wire Protocol;HOST=["host-name"];PORT=["port"];EM=1;VSC=0
Informix:
       DRIVER=Oracle 7.1 Informix Wire Protocol;HOSTNAME=["host-name"];PORTNUMBER=["port"];DATABASE=["service-name"]
MongoDB:
       DRIVER=Oracle 8.0 MongoDB;HOST=["host-name"];PORT=["port"];DB=["service-name"]
MySQL:
      DRIVER=Oracle 7.1 MySQL Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
PostgresSql:
       DRIVER=Oracle 7.1 PostgreSQL Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
Spark:
      DRIVER=Oracle 8.0 Apache Spark SQL;HOST=["host-name"];PORT=["port"]
      SSL:  DRIVER=Oracle 8.0 Apache Spark SQL;HOST=["host-name"];PORT=["port"];EM=1;VSC=0
SQL Server:
     DRIVER=Oracle 7.1 SQL Server Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"]
     SSL:  DRIVER=Oracle 7.1 SQL Server Wire Protocol;HOST=["host-name"];PORT=["port"];DB=["service-name"];EM=1;VSC=0;CryptoProtocolVersion=TLSv1.2,TLSv1.1,TLSv1,SSLv3,SSLv2
Sybase:
       DRIVER=Oracle 7.1 Sybase Wire Protocol;NA=["host-name"], ["port"];DB=["service-name"]
Teradata:
       DRIVER=Oracle 7.1 Teradata;DBCName=["host-name"];port_name=["port"]