데이터베이스

Java 데이터베이스 연결(JDBC) API를 지원하는 데이터베이스에 저장되어 있는 문서를 크롤링합니다.

IBM Cloud Pak for Data IBM Software Hub

이 정보는 설치된 배포에만 적용됩니다.

IBM Watson® Discovery Cloud Pak for Data 에서 Kerberos 인증을 지원하지 않습니다.

크롤링되는 문서

  • 데이터베이스의 각 행은 크롤링되어 하나의 문서로 컬렉션에 추가됩니다. 열은 메타데이터로 인덱싱됩니다.
  • 크롤러는 데이터베이스에 저장된 BLOB/BINARY와 같은 콘텐츠를 크롤링하고 색인을 생성하려고 시도합니다. Discovery에서 지원하는 파일 형식이 색인됩니다. 자세한 내용은 지원되는 파일 형식 를 참조하세요.
  • 소스를 다시 가져오면 새 문서가 추가되고, 업데이트된 문서가 현재 버전으로 수정되며, 삭제된 문서가 컬렉션의 색인에서 삭제됩니다.
  • 모든 Discovery 데이터 원본 커넥터는 읽기 전용입니다. 크롤링 계정에 부여된 권한에 관계없이 Discovery는 원본 데이터 원본의 콘텐츠를 쓰거나 업데이트하거나 삭제하지 않습니다.

데이터 소스 요구사항

설치된 모든 배포에 대한 데이터 소스 요구 사항 외에도 데이터베이스 데이터 소스는 다음 요구 사항을 충족해야 합니다:

  • Discovery는 다음 데이터 소스 버전을 지원합니다.

    • Data Virtualization에서 IBM Cloud Pak for Data 1.8.0, 1.8.3 사용 Db2 11.5를 사용 중이세요
    • IBM Db2: 10.5, 11.1, 11.5
    • Microsoft SQL Server: 2012, 2014, 2016, 2017
    • Oracle Database: 12c, 18c, 19c
    • PostgreSQL: 9.6, 10, 11

    Data Virtualization에 대한 지원은 IBM Cloud Pak for Data 4.5.x 릴리스에서 추가되었습니다

  • 연결하려는 데이터 소스에 필요한 서비스 라이선스를 모두 취득해야 합니다. 라이선스에 대한 자세한 내용은 데이터 원본의 시스템 관리자에게 문의하세요.

전제 조건 단계

  • 크롤링할 데이터베이스 테이블을 결정합니다. 컬렉션에서 여러 테이블을 크롤링할 수 있으며, 서로 다른 스키마 또는 열 집합을 가진 테이블을 지정할 수 있습니다. 다음 정보를 알고 있어야 합니다:

    • 스키마 이름
    • 테이블 이름

    Data Virtualization의 경우 IBM Cloud Pak for Data 웹 클라이언트에서 이러한 세부 정보를 얻을 수 있습니다. 주 메뉴 아이콘을 클릭하고 데이터를 확장한 다음 Data virtualization를 선택합니다. 페이지 시작 부분에서 가상화 데이터를 표시하도록 선택합니다.

    Cloud Pak for Data
    가상화된 데이터 보기에서 보기를 표시합니다 Data virtualization Cloud Pak for Data

  • 이름은 같지만 데이터 유형이 다른 열이 있는 여러 테이블을 크롤링하려는 경우 주의하세요. 콘텐츠 마이닝 프로젝트에서 이름은 같지만 데이터 유형이 다른 열은 이름에 데이터 유형 접미사가 있는 필드(예: DATA_string)에 할당됩니다. 다른 모든 프로젝트 유형에서는 테이블 중 하나의 데이터가 인덱스에서 제외됩니다. 예를 들어 DATA 이라는 열이 있는 두 개의 테이블이 있고 한 테이블의 DATA 열은 날짜로 채워지고 다른 테이블의 열은 문자열로 채워지는 경우, 테이블 중 하나의 데이터는 인덱스에서 제외됩니다.

  • 크롤링하려는 테이블에 액세스할 수 있는 권한이 있는 사용자의 사용자 자격 증명을 가져옵니다.

  • 데이터베이스에 연결하려면 먼저 데이터베이스용 JDBC 드라이버 라이브러리를 가져와야 합니다. 데이터베이스 데이터 소스를 설정할 때 JDBC 드라이버 클래스 경로를 지정하라는 메시지가 표시됩니다.

  • JDBC을 사용하여 Data Virtualization 서비스에 연결하려면 먼저 IBM 데이터 서버 드라이버 패키지를 설치해야 합니다. 자세한 내용은 데이터 가상화 서비스에 애플리케이션 연결하기를 참조하세요.

  • Data Virtualization 인스턴스에 연결하려면 Discovery 서비스와 다른 클러스터에서 호스팅되는 Data Virtualization로 라우팅되는 트래픽을 외부 인프라 노드에서 클러스터의 마스터 노드로 포워딩해야 합니다. 자세한 내용은 HAProxy 구성 파일 업데이트하기를 참조하세요.

  1. 데이터베이스 서버 또는 공급업체 웹사이트에서 JDBC 드라이버 라이브러리용 JAR 파일을 다운로드합니다.

    각 데이터베이스와 연결된 파일은 다음과 같습니다:

    • Db2 및 Data Virtualization: db2jcc4.jar
    • Oracle: ojdbc8.jar
    • SQL Server: mssql-jdbc-7.2.2.jre8.jar
    • PostgreSQL: postgresql-42.2.6.jar
  2. JAR 파일을 하나의 압축 파일로 압축합니다.

    JAR 파일이 하나만 있는 JDBC 드라이버가 있는 경우 이 단계를 건너뛰세요.

  3. 드라이버가 저장된 위치를 메모해 두세요. 다음 절차에서 이 JAR 또는 압축 파일을 저장하는 디렉터리를 지정해야 Discovery가 해당 파일을 업로드할 수 있습니다.

데이터베이스 데이터 소스에 연결

시작하기 전에 데이터에 보강 기능을 적용하려는 경우 콘텐츠 마이닝 프로젝트 유형으로 컬렉션을 만드세요. 다른 프로젝트 유형을 사용 중이고 보강 기능을 적용할 계획이라면 여기서 멈추세요. 자세한 내용은 데이터베이스에서 콘텐츠에 보강 기능 적용하기 를 참조하세요.

Discovery 프로젝트에서 다음 단계를 완료합니다:

  1. 탐색 창에서 컬렉션 관리를 선택합니다.

  2. 새 컬렉션을 클릭합니다.

  3. 데이터베이스를 클릭한 후 다음을 클릭합니다.

  4. 컬렉션의 이름을 지정합니다.

  5. 데이터베이스에 있는 문서의 언어가 영어가 아닌 경우 적절한 언어를 선택합니다.

    지원되는 언어 목록은 언어 지원을 참조하십시오.

  6. 선택: 동기화 일정을 변경합니다.

    자세한 내용은 크롤링 일정 옵션 를 참조하세요.

  7. 자격 증명 입력 섹션에서 다음 필드를 작성합니다:

    데이터베이스 URL

    데이터베이스 서버의 URL.

    다음 표에는 데이터베이스 URL 예시가 나와 있습니다:

    예시 데이터베이스 URL
    데이터베이스 구문
    Data virtualization(동일한 클러스터) jdbc:db2://{fully-qualified-hostname-of-dv-service}:{jdbc-nonssl-internal-port}/bigsql jdbc:db2://c-db2u-dv-db2u-engn-svc.myproject.svc.cluster.local:50000/bigsql
    Data virtualization(별도 클러스터) jdbc:db2://{cluster-address }: {jdbc-nonssl-external-port} /bigsql jdbc:db2://api.conn.cp.example.com:30269/bigsql
    Db2 jdbc:db2://{server}:{port}/{database_name} jdbc:db2://localhost:50000/sample:sslConnection=true;
    Oracle jdbc:oracle:thin:@//{host}:{TCPport}/{service_name} jdbc:oracle:thin:@localhost:1521/sample
    SQL Server jdbc:sqlserver://{serverName}[{instanceName}]:{port}[;property=value] jdbc:sqlserver://localhost:1433;DatabaseName=sample
    PostgreSQL jdbc:postgresql://{host}:{port}/{database} jdbc:postgresql://localhost/sample
    사용자

    선택한 데이터베이스에서 얻은 사용자 아이디입니다. 이 사용자 이름을 사용하여 소스를 크롤링합니다. 사용자 이름은 데이터베이스마다 다릅니다.

    비밀번호

    사용자 아이디와 연결된 비밀번호입니다. 사용자의 비밀번호는 데이터베이스마다 다릅니다.

  8. 연결 설정 섹션에서 다음 필드를 작성합니다:

    JDBC 드라이버 유형

    데이터베이스를 선택합니다.

    Db2 가 기본적으로 선택되어 있습니다. 목록에 없는 데이터베이스 유형에서 크롤링하려면 기타를 선택합니다. Data Virtualization에서 IBM Cloud Pak for Data로 관리되는 데이터를 크롤링하려면 Db2 을 선택한 상태로 유지합니다.

    JDBC 드라이버 클래스명

    선택한 데이터베이스와 연결된 JDBC 드라이버 클래스 이름입니다. 이 필드는 OTHER 를 선택하지 않는 한 자동으로 채워집니다.

    JDBC 드라이버 클래스 경로

    파일 확장자가.jar 또는.zip인 JDBC 드라이버 파일을 업로드합니다. 또는 이전에 업로드한 .jar 또는 .zip 파일을 재사용할 수도 있습니다.

  9. 크롤링할 항목 지정 섹션에서 다음 필드를 작성한 다음 추가를 클릭합니다:

    스키마 이름
    크롤링하려는 스키마입니다.
    테이블 이름
    크롤링하려는 스키마 내의 테이블입니다.

    편집 아이콘을 클릭하여 다음과 같은 추가 테이블 크롤링 설정을 지정할 수 있습니다:

    기본 키
    대상 데이터베이스 테이블의 기본 키입니다. 기본 키가 대상 데이터베이스 테이블에 구성되어 있지 않은 경우 이 필드에 키를 지정해야 합니다. JDBC 데이터베이스 크롤러에서는 이 기본 키 값을 크롤링된 각 행의 URL에 추가하여 고유성을 유지합니다. 기본 키가 복합 키이면 쉼표를 사용하여 키 이름을 연결하십시오(예: key1,key2). 지정하지 않으면 프로젝트는 기본적으로 테이블의 기본 키 필드로 설정됩니다. 대상 데이터베이스 테이블에 기본 키가 구성된 경우에는 이 키가 자동으로 발견됩니다.
    행 필터
    선택사항. SQL WHERE 절을 지정하여 크롤링할 테이블 행을 지정합니다. WHERE 문에서 SELECT 절의 조건이 될 수 있는 부울 표현식을 지정해야 합니다. 구문 또는 열 이름에 오류가 있는 경우 해당 테이블이 크롤링에서 제외되며 문서가 인덱싱되지 않습니다.
    추출할 데이터가 있는 열
    크롤링하려는 데이터가 있는 열의 이름입니다. 열을 지정하지 않으면 텍스트가 있거나 하나의 큰 개체가 있는 열이 크롤링되도록 선택됩니다.
    MIME 데이터 유형
    선택사항. 지정하지 않으면 MIME 유형이 감지됩니다.

    테이블 크롤링 설정 대화 상자에서 지정한 값은 스키마 및 테이블 이름과 함께 표시되지 않지만 해당 값은 데이터베이스 연결에 적용됩니다.

    추출할 데이터가 있는 열MIME 형식의 데이터 필드는 4.6.5 릴리스와 함께 추가되었습니다.

  10. 크롤러가 문서의 이미지에서 텍스트를 추출하도록 하려면 추가 처리 설정를 확장하고 광학 문자 인식(OCR)On 으로 설정하세요.

    OCR이 활성화되어 있고 문서에 이미지가 포함되어 있으면 처리 시간이 더 오래 걸립니다. 자세한 내용은 광학 문자 인식 를 참조하세요.

  11. ** 완료**를 누르십시오.

컬렉션이 빠르게 생성됩니다. 데이터가 컬렉션에 추가되면 처리하는 데 시간이 더 걸립니다.

진행 상황을 확인하려면 활동 페이지로 이동하세요. 탐색 창에서 컬렉션 관리를 클릭한 다음 클릭하여 컬렉션을 엽니다.

Linux에서 Windows 인증 사용

Microsoft의 JDBC 드라이버는 Linux에서 Windows 인증을 지원하지 않습니다. Microsoft Windows 인증을 사용하여 Linux에서 SQL Server에 액세스하려는 경우 소스포지에서 jTDS라는 타사 JDBC 드라이버를 사용할 수 있습니다. 구성하는 동안 다음 값을 지정합니다:

  • 데이터베이스 URL: jdbc:jtds:sqlserver://<host>:<port>;databaseName=<database>;domain=<domain>;useNTLMv2=true;
  • JDBC 드라이버 유형: OTHER
  • JDBC 드라이버 클래스 이름: net.sourceforge.jtds.jdbc.Driver

데이터베이스에서 콘텐츠에 보강 기능 적용하기

데이터베이스를 데이터 소스로 사용하고 데이터베이스에서 색인된 중첩된 필드에 보강 기능을 적용하려면 콘텐츠 마이닝 프로젝트 유형을 사용해야 합니다.

문서 검색 프로젝트 유형을 사용하여 검색 애플리케이션을 만드는 것이 목표라면 먼저 콘텐츠 마이닝 프로젝트 유형을 만드세요. 콘텐츠 마이닝 프로젝트에서 데이터베이스에 연결하여 데이터를 보강할 수 있습니다. 그런 다음 문서 검색 프로젝트에서 강화된 컬렉션을 재사용할 수 있습니다.

문서 검색 프로젝트에서 사용할 수 있도록 데이터베이스 콘텐츠를 보강하려면 다음 단계를 완료하세요:

  1. 콘텐츠 마이닝 프로젝트를 만듭니다.

    자세한 내용은 프로젝트 만들기 를 참조하세요.

  2. 데이터베이스 데이터 소스에 연결합니다.

    자세한 내용은 데이터 소스 구성하기를 참조하세요: 데이터베이스 를 참조하세요.

  3. 인텐시티를 적용합니다.

    자세한 정보는 다음 주제를 참조하십시오.

  4. 문서 검색 프로젝트를 만듭니다.

    자세한 내용은 프로젝트 만들기 를 참조하세요.

    컬렉션을 선택하라는 메시지가 표시되면 기존 컬렉션의 데이터 재사용를 선택합니다. 필요한 경우 스크롤하여 이 옵션을 확인합니다.

  5. 콘텐츠 마이닝 프로젝트를 사용하여 생성하고 보강한 컬렉션을 선택한 다음 완료를 클릭합니다.