본문으로 건너뛰기

MongoDB 데이터 소스 구성

최근 업데이트 2026. 10. 03.

AE 데이터 개발 플랫폼의 오프라인 동기화 계획은 MongoDB 데이터 소스의 쓰기(Writer)를 지원합니다. 이 문서에서는 MongoDB 데이터 동기화 기능의 지원 현황을 소개합니다.

MongoDB는 문서 데이터베이스(JSON을 데이터 모델로 사용)입니다.

MongoDB는 비관계형 데이터베이스 중에서 기능이 가장 풍부하고 관계형 데이터베이스와 가장 비슷합니다. 지원하는 데이터 형식은 BSON으로, JSON과 유사한 바이너리 형태의 저장 형식이며 Binary JSON의 약칭입니다. JSON과 마찬가지로 내장 문서 객체와 배열 객체를 지원하므로 비교적 복잡한 데이터 타입을 저장할 수 있습니다.

SQL 개념MongoDB 개념설명
데이터베이스(database)데이터베이스(database)논리적인 네임스페이스로, 하나의 데이터베이스에는 이름이 서로 다른 여러 컬렉션이 포함됩니다
테이블(table)컬렉션(collection)SQL의 테이블에 해당하며, 하나의 컬렉션에는 필드(타입)가 서로 다른 여러 문서를 저장할 수 있습니다
행(row)문서(document)하나의 문서는 데이터 테이블의 한 행에 해당하며, 여러 필드로 구성됩니다
열(column)필드(field)문서의 속성 하나로, 열(column)에 해당합니다
인덱스(index)인덱스(index)SQL 개념과 동일
기본 키(primary key)_id(필드)모든 문서에는 고유한 id 필드가 있습니다
뷰(view)뷰(view)가상의(실제로 존재하지 않는) 컬렉션
테이블 조인(table joins)집계 연산($lookup)테이블 조인(tablejoin)과 "유사한" 집계 연산자

MongoDB의 가장 큰 특징은 지원하는 쿼리 언어가 매우 강력하다는 점입니다. 구문이 객체 지향 쿼리 언어와 다소 비슷하여 관계형 데이터베이스의 단일 테이블 쿼리 기능 대부분을 구현할 수 있으며, 데이터에 인덱스를 생성하는 것도 지원합니다.

게임 시나리오: MongoDB에 게임 유저 정보를 저장하고, 유저의 장비, 포인트 등을 내장 문서 형태로 바로 저장하여 조회와 업데이트를 편리하게 할 수 있습니다.

지원 버전​

MongoDB 4.0+

사용 제한​

현재는 다음 구성 방식만 지원합니다.

  • AE 사전 설정 스토리지 공간 테이블에서 MongoDB로 쓰기 지원(오프라인 쓰기)

참고:

  • MongoDB 데이터 소스 읽기는 아직 지원하지 않습니다(오프라인 읽기)

지원 필드 타입​

필드 타입오프라인 쓰기(MongoDB Writer)설명
INT지원32비트 정수형
LONG지원64비트 정수형
STRING지원
OBJECTID지원
DECIMAL지원Decimal128, 최대 34자리 정밀도
NULL지원
DOUBLE지원
DATE지원초 단위 정밀도
TIMESTAMP지원밀리초 단위 정밀도
BOOLEAN지원
BINDATA미지원
REGEX미지원
JAVASCRIPT미지원
MINKEY미지원
MAXKEY미지원

MongoDB 데이터 소스 생성​

데이터 개발 플랫폼 - 통합 모듈에서 MongoDB 데이터 소스 추가를 선택할 수 있습니다.

데이터 소스 설정 파라미터 정보

데이터 소스에 필요한 설정 정보를 입력하고 연결 테스트를 완료하면 MongoDB 데이터 소스가 생성됩니다.

파라미터 이름 앞에 *가 있는 항목은 필수 파라미터이고, *가 없는 항목은 선택 파라미터입니다.

필드 이름설명
기본 정보
*데이터 소스 이름데이터 개발 플랫폼 공간 내에서 고유해야 하며, 영문자, 숫자, 밑줄로 구성하고 숫자나 밑줄로 시작할 수 없습니다
비고선택 사항
데이터 소스 설정
환경 구분 없음 / 독립 환경 설정둘 중 하나 선택: 환경 구분 없음은 운영 환경과 개발 환경이 하나의 설정을 공유하고, 독립 환경 설정은 두 환경을 각각 독립적으로 설정합니다
*배포 모드

다음 배포 모드를 지원합니다

  • 클러스터 모드
  • 복제본 모드
  • 싱글 노드 모드
*서비스 주소/IP

데이터베이스가 있는 서비스 주소

클러스터 배포 시 여러 노드 정보를 입력하려면 추가를 클릭하십시오

*포트MongoDB에 접근하는 데 사용하는 포트
*데이터베이스명연결할 MongoDB 데이터베이스 이름
*사용자 이름데이터베이스에 접근할 권한이 있는 사용자 이름
*비밀번호사용자 이름에 대응하는 비밀번호
인증 데이터베이스사용자를 생성할 때 사용한 데이터베이스 이름. 예: admin
복제본 세트 이름배포 모드가 복제본 모드인 경우 복제본 세트 이름을 입력하십시오
고급 설정

데이터베이스 연결에 필요한 기타 고급 파라미터. 직접 입력할 수 있습니다

예: SSL 인증서로 연결해야 하는 경우 ssl=true 파라미터로 제어할 수 있습니다

참고: 위 파라미터 정보를 조합하여 connection string을 구성하며, 이는 MongoDB 데이터베이스와 연결을 설정하는 데 사용하는 문자열입니다

예: mongodb://<username>:<password>@<instance_ip>:<instance_port>/<database_name>?authSource=admin&ssl=true

오프라인 동기화 작업 생성​

위 단계에 따라 MongoDB 데이터 소스 생성을 완료하고 연결 테스트에 성공했다면, 실제 시나리오에 맞게 MongoDB 오프라인 쓰기 오프라인 동기화 작업을 구성할 수 있습니다.

MongoDB를 데이터 목적지로 사용​

데이터 목적지에서 MongoDB를 선택하고 다음 관련 파라미터를 설정합니다.

필드 이름설명
*소스 타입데이터 목적지의 대상 타입으로 MongoDB 선택
*데이터 소스 이름데이터 소스 관리 화면에 등록된 MongoDB 데이터 소스이며, 드롭다운에서 선택할 수 있습니다.
해당 데이터 소스를 아직 만들지 않았다면 데이터 소스 관리 버튼을 클릭하여 MongoDB 데이터 소스를 생성할 수 있습니다.
*데이터베이스명읽을 데이터베이스 이름
*컬렉션 이름

드롭다운에서 컬렉션 이름(collection)을 선택할 수 있습니다

주의: 해당 컬렉션(collection)이 현재 존재하지 않으면 삽입 작업 시 해당 컬렉션이 생성됩니다.

*쓰기 모드
  • 새 데이터 삽입: Insert(고유 키 충돌이 발생하면 작업이 실패합니다)
  • 업데이트 및 삽입: Upsert(고유 키가 같으면 새 데이터로 기존 데이터를 덮어쓰고, 고유 키가 다르면 새 데이터를 바로 삽입합니다). 고유 키는 필드 매핑의 컬렉션 필드 추가 팝업에서 UPSERT 키로 사용 스위치로 지정합니다

주의: insert/update 명령에 포함되는 문서는 최대 16MB를 초과할 수 없습니다.

전처리 구문

기능: MongoDB에 데이터를 쓰기 전에 MongoDB의 기존 데이터에 대해 수행하는 사전 작업

입력한 전처리 구문은 JSON 문법 요구 사항을 충족해야 합니다.

전처리 조건(PreSQL) 설정에는 type과 json 두 가지 속성이 포함됩니다.

  • type: 필수 항목이며, 가능한 값은 remove, drop입니다
  • json:
    • type이 remove인 경우 필수 항목이며, 설정 구문은 MongoDB의 표준 Query입니다.
    • type이 drop인 경우 입력할 필요가 없습니다.
{
"type":"remove",
"item": [
{
"_id": ObjectId("..."),
"student_id": 1001,
"name": "xiaoming",
"grade": "grade_1"
}
]
}
고급 설정일괄 건수: 1회 배치로 MongoDB에 쓰는 데이터양
일괄 쓰기 간격: 메모리 버퍼의 데이터를 MongoDB로 플러시(Flush)하는 최대 시간 간격을 제어하며, 단위는 밀리초(ms)입니다

파라미터 이름 앞에 *가 있는 항목은 필수 파라미터이고, *가 없는 항목은 선택 파라미터입니다.

필드 매핑 설명​

데이터 소스와 타겟 설정을 완료한 후에는 필드 매핑 관계를 설정해야 합니다. 시스템은 매핑 관계에 따라 소스 필드의 데이터로 타겟 collection의 필드를 자동으로 생성합니다.

  • 분석에 성공하면 동일 이름으로 매핑 생성을 클릭하여 소스 테이블의 데이터 타입에 따라 Mongo Document 구조를 생성합니다.
  • 사용자는 쓰기 대상 Document의 필드 이름과 필드 데이터 타입을 다시 편집할 수 있습니다.

하나의 타겟 필드는 하나의 소스 필드에만 대응할 수 있다는 점에 유의하십시오.

필드 타입 매핑 방식(공간 테이블 —— Mongo):

소스 파일 타입공간 테이블MongoDB BSON 타입설명

orc、parquet

tinyintInt
smallintInt
integerInt32비트 정수형
bigintLong64비트 정수형
varcharString or ObjectID
booleanBoolean
doubleDouble
dateDate
timestampTimestamp밀리초 단위 정밀도
decimalDecimal(10)Decimal128
arrayArray배열 타입
rowObject
mapObject
csv、textvarcharString or ObjectID

결과 미리보기​

결과 미리보기를 클릭하면 소스 데이터를 샘플링하여 쓰기 결과 예시 3건을 생성합니다.

주의⚠️: 소스 필드가 Null이면 쓰기 미리보기에서는 해당 필드가 표시되지 않지만, 실제로 Mongo에 쓸 때는 해당 필드가 "key" :null로 기록됩니다.

기본 정보 설정​

마지막으로 통합 계획의 기본 정보를 설정해야 합니다. 계획 이름, 담당자, 통합 동기화 속도, 비고 등이 포함됩니다.

설정을 완료한 후 저장 버튼을 클릭하면 통합 계획 생성이 완료됩니다.

참고: 계획 이름은 저장 후 수정할 수 없습니다

상세 페이지:

오프라인 동기화 계획을 작업 플로우에 연결​

작업 플로우에 연결​

1. 연결 시작

  • 통합 계획 상세 페이지에서 오른쪽 상단의 작업 플로우에 연결 버튼을 클릭합니다

2. 작업 플로우 선택

  • 드롭다운 메뉴에서 대상 작업 플로우를 선택합니다

  • 새 작업 플로우를 만들려면:

    • 드롭다운 메뉴 아래의 새 작업 플로우 바로가기 버튼을 클릭합니다
    • 또는 개발 모듈로 이동하여 생성합니다
  • 팁: 대상 작업 플로우가 표시되지 않으면 오른쪽의 ↻ 새로고침 버튼을 클릭합니다

3. 동기화 노드 생성

  • 작업 플로우에서 오프라인 동기화 계획 타입의 노드를 새로 만듭니다
  • 이 노드는 현재 통합 계획과 연관되며, 노드가 실행되면 해당 통합 계획의 실행이 트리거됩니다

4. 연결 완료

  • 노드 생성 및 연결을 클릭하여 설정을 완료합니다
  • 연결에 성공하면 작업 플로우로 이동을 클릭하여 연결 결과를 바로 확인할 수 있습니다
팁

참고: 작업 플로우에 연결하여 생성된 작업 노드는 아직 배포되지 않은 상태입니다. 작업 플로우로 이동하여 확인한 후 해당 노드를 배포하여 라이브 상태로 전환하는 것을 권장합니다.

작업 플로우 연결 해제​

오프라인 동기화 계획의 작업 플로우 연결을 해제하려면 다음과 같이 진행합니다.

  • 작업 플로우가 아직 배포되지 않았다면, 해당 계획이 연결된 작업 플로우로 이동하여 개발 모드에서 해당 오프라인 동기화 계획 작업 노드를 삭제하면 됩니다.
  • 작업 플로우가 이미 배포되어 라이브 상태라면, 개발 모드에서 해당 오프라인 동기화 계획 작업 노드를 삭제한 후 작업 플로우를 다시 배포해야 합니다. 이렇게 하면 운영 환경에서도 해당 노드의 연결이 함께 해제됩니다.
이 문서가 도움이 되었나요?