MongoDB용 Openflow 커넥터 설정
MongoDB용 Openflow 커넥터 설정
이 문서에서는 MongoDB용 Openflow 커넥터를 설정하는 단계를 설명합니다.
출처: Snowflake 문서
본문
커넥터 구성
커넥터를 구성하려면 다음 단계를 수행하세요.
- 추가된 런타임을 마우스 오른쪽 버튼으로 클릭하고 Parameters를 선택하세요.
- '플로우 파라미터 지정'에서 설명한 대로 필수 파라미터 값을 채우세요.
플로우 파라미터 지정
이 섹션에서는 다음 파라미터 컨텍스트에서 구성할 수 있는 플로우 파라미터를 설명합니다.
- MongoDB source parameters: MongoDB에서 데이터를 읽는 구성을 정의하는 데 사용.
- MongoDB destination parameters: Snowflake와 연결을 수립하는 데 사용.
- MongoDB ingestion parameters: 복제할 컬렉션을 지정하는 데 사용.
MongoDB source parameters
| 파라미터 | 설명 |
|---|---|
| MongoDB Connection URI | MongoURI, 일반적으로 형식: mongodb://host1[:port1][,host2[:port2],...]/?[options]. Snowflake는 URI에 readPreference=secondaryPreferred 옵션을 포함할 것을 권장합니다. 이는 읽기 작업을 보조 노드로 보내 replica set의 기본 노드 부하를 줄여 줍니다. 보안 문제로 간주되므로 데이터베이스 사용자 이름과 비밀번호는 URI에 제공하면 안 됩니다. 예: mongodb://10.11.98.246:27017,10.11.104.58:27017/?replicaSet=myReplicaSet&readPreference=secondaryPreferred |
| MongoDB Username | MongoDB와 상호작용하기 위한 사용자 이름. 예: openflowUser |
| MongoDB Password | MongoDB와 상호작용하기 위한 비밀번호. 예: myPassword123 |
| MongoDB Authentication Source | 사용자 자격 증명이 담긴 데이터베이스. 예: admin |
| MongoDB Authentication Mechanism | MongoDB가 연결을 인증하는 데 사용하는 인증 메커니즘. 가능한 값: None(인증 없이 연결), SCRAM-SHA-256(SHA-256 해시 함수를 사용하는 인증 메커니즘) |
MongoDB destination parameters
| 파라미터 | 설명 |
|---|---|
| Destination Database | 복제할 목적지 데이터베이스 이름. 혼합 대소문자 지원. 예: MY_DESTINATION_DB |
| Snowflake Account Identifier | 사용하는 경우: SNOWFLAKE_MANAGED 인증 전략 → 비워야 함. KEY_PAIR → 데이터가 저장될 Snowflake 계정 이름 |
| Snowflake Authentication Strategy | 사용하는 경우: SPCS → Authentication Strategy 값에 SNOWFLAKE_MANAGED 사용. BYOC → Authentication Strategy 값에 KEY_PAIR 사용. 예: KEY_PAIR |
| Snowflake Connection Strategy | 사용하는 경우: KEY_PAIR → Snowflake에 연결하는 전략 지정. 가능한 값: STANDARD, PRIVATE_CONNECTIVITY |
| Snowflake Private Key | 사용하는 경우: SNOWFLAKE_MANAGED 인증 전략 → 개인 키는 비워야 함. KEY_PAIR → PKCS8 표준에 따라 형식화되고 표준 PEM 헤더와 푸터를 포함하는 인증용 RSA 개인 키 내용을 복사. 헤더 줄은 -----BEGIN PRIVATE로 시작 |
| Snowflake Private Key File | 사용하는 경우: SNOWFLAKE_MANAGED 인증 전략 → 개인 키 파일은 비워야 함. KEY_PAIR → PKCS8 표준에 따라 형식화되고 표준 PEM 헤더와 푸터를 포함하는 인증용 RSA 개인 키가 담긴 파일을 Snowflake에 업로드. 헤더 줄은 -----BEGIN PRIVATE로 시작. 개인 키 파일을 업로드하려면 Reference asset 체크박스 선택 |
| Snowflake Private Key Password | 사용하는 경우: SNOWFLAKE_MANAGED 인증 전략 → 비워야 함. KEY_PAIR → Snowflake Private Key File과 연결된 비밀번호 제공 |
| Snowflake Role | 사용하는 경우: SNOWFLAKE_MANAGED 인증 전략 → 런타임의 execute-as 역할(또는 여기에 부여된 하위 역할) 사용. execute-as 역할은 Openflow UI에서 런타임의 View Details로 이동해 찾을 수 있음. KEY_PAIR 인증 전략 → 서비스 사용자에 대해 구성된 유효한 역할 사용. 예: OPENFLOW_<RUNTIME_NAME>_EXECUTE_AS_RL |
| Snowflake Username | 사용하는 경우: SNOWFLAKE_MANAGED 인증 전략 → 비워야 함. KEY_PAIR → Snowflake 인스턴스에 연결하는 데 사용할 사용자 이름 제공. 예: OPENFLOW_USER |
| Snowflake Warehouse | 커넥터가 사용하는 웨어하우스 이름. 예: OPENFLOW_WH |
MongoDB ingestion parameters
| 파라미터 | 설명 |
|---|---|
| Included Collection Names | 복제할 컬렉션의 쉼표로 구분된 목록. 예: my_db.collection1,my_db.collection2 |
| Included Collection Regex | 복제할 컬렉션 이름을 지정하는 정규식. 예: my_db.* |
| Object Identifier Resolution | MongoDB용 Openflow 커넥터의 기본값은 CASE_INSENSITIVE입니다. 이는 하위 호환성을 위해 CASE_SENSITIVE를 기본으로 하는 다른 Openflow 데이터베이스 커넥터(Postgres, MySQL 등)와 다릅니다. 소스 객체 식별자(스키마, 테이블, 열 이름 등)가 Snowflake에서 어떻게 저장되고 쿼리되는지를 지정합니다. 옵션 1(기본, 대소문자 구분, 하위 호환용): 변환 - 대소문자가 보존됨. 예: My_Table은 My_Table로 유지됨. 쿼리 - SQL 쿼리는 데이터베이스 객체의 정확한 대소문자를 일치시키기 위해 큰따옴표를 사용해야 함. 예: SELECT * FROM "My_Table";. 참고: 레거시 또는 호환성 이유로 소스 대소문자를 보존해야 한다면 Snowflake는 이 옵션을 권장함. 예를 들어 소스 데이터베이스에 대소문자만 다른 테이블 이름(MY_TABLE과 my_table)이 있다면, 대소문자 구분 없는 비교를 사용할 때 이름 충돌이 발생함. 옵션 2(권장, 대소문자 구분 없음): 변환 - 모든 식별자가 대문자로 변환됨. 예: My_Table은 MY_TABLE이 됨. 쿼리 - SQL 쿼리는 대소문자 구분 없이 동작해 SQL 큰따옴표가 필요 없음. 예: SELECT * FROM my_table;은 SELECT * FROM MY_TABLE;와 같은 결과를 반환함. 참고: 데이터베이스 객체에 혼합 대소문자 이름이 예상되지 않으면 Snowflake는 이 옵션을 권장함. 중요: 커넥터가 데이터 수집을 시작한 뒤에는 이 설정을 변경하지 마세요. 수집 시작 후 이 설정을 변경하면 기존 수집이 깨집니다. 반드시 바꿔야 한다면 새 커넥터 인스턴스를 만드세요. |
| Merge Task Schedule CRON | 저널에서 목적지 테이블로의 병합 작업이 트리거되는 시점을 정의하는 CRON 표현식. 연속 병합에는 * * * * * ?을 사용하거나, 웨어하우스 실행 시간을 제한하려면 시간 일정을 사용하세요. 예: * 0 * * * ? 문자열은 정각에 1분 동안 병합을 예약합니다. * 20 14 ? * MON-FRI 문자열은 월요일부터 금요일까지 매일 오후 2:20에 병합을 예약합니다. 추가 정보와 예시는 Quartz 문서의 cron triggers 튜토리얼을 참조하세요. 예: * * * * * ? |
플로우 실행
- 평면(plane)을 마우스 오른쪽 버튼으로 클릭하고 Enable all Controller Services를 선택하세요.
- 가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Start를 선택하세요. 커넥터가 데이터 수집을 시작합니다.
다음 단계
설치 후 커넥터 사용에 대한 정보는 'Use the Openflow Connector for MongoDB'를 참조하세요.