Docs Menu
Docs Home
/ /
Atlas App Services
/ /

클라이언트 애플리케이션의 데이터를 Atlas 및 기타 기기와 동기화

이 페이지의 내용

  • Atlas Access 설정
  • Atlas App Services App 만들기
  • Device Sync 구성
  • 인증 제공자 활성화
  • Atlas App Services 스키마 생성
  • 클라이언트 애플리케이션에 동기화 추가
  • App Services 백엔드에 클라이언트 연결
  • 사용자 인증
  • 동기화된 Realm 열기
  • 기존 데이터를 동기화된 Realm으로 복사
  • 동기화된 Realm 사용

Realm 데이터베이스를 사용하는 모바일 또는 클라이언트 애플리케이션이 있고 다른 기기와 해당 데이터를 동기화하고 MongoDB Atlas에 백업하려는 경우 Device Sync를 사용하면 됩니다. 시작하려면 다음과 같은 개략적인 단계를 따르세요.

1

App Services 애플리케이션은 클라이언트 장치를 MongoDB Atlas에 연결할 수 있게 해주는 게이트웨이입니다. App을 만들 때는 이름을 지정하고, Atlas 클러스터에 연결하고, 애플리케이션에 가장 적합한 배포서버 모델과 배포서버 리전을 지정합니다.

App Services App을 만드는 방법을 알아보려면 앱 만들기를 참조하세요.

2

Device Sync는 Atlas 및 클라이언트 기기 간 데이터 동기화를 관리하는 서비스입니다. Device Sync는 Realm SDK와 함께 네트워크 연결, 충돌 해결, 사용자 인증, 사용자 권한 및 데이터 액세스를 자동으로 관리합니다.

Device Sync를 구성할 때 클라이언트 장치에서 액세스할 수 있는 데이터 소스와 사용자가 읽고 쓸 수 있는 데이터를 결정하는 권한을 지정합니다.

Atlas UI, Atlas App Services CLI 또는 App Services Admin API를 통해 Device Sync를 구성할 수 있습니다. Device Sync를 처음 구성하는 경우 다양한 설정 및 옵션에 대한 링크와 정보를 제공하는 Atlas UI를 사용하는 것이 도움이 될 수 있습니다.

3

클라이언트 사용자는 인증을 받아야 동기화된 데이터에 액세스할 수 있습니다. App Services는 사용자가 인증을 완료할 수 있도록 다양한 인증 제공자를 제공합니다. 이러한 인증 제공자 중 하나 이상을 구성해 클라이언트 애플리케이션에서 인증을 사용하도록 설정하세요.

왼쪽 탐색 메뉴에서 Authentication 를 선택하여 App Services App UI 내에서 인증 제공자를 구성한 다음 제공자 를 클릭하여 구성할 수 있습니다. Atlas App Services 명령줄 인터페이스 또는 App Services Admin API를 사용하여 App Services 구성을 편집하여 인증 제공자를 구성할 수도 있습니다.

4

Realm 데이터베이스를 사용하는 클라이언트 애플리케이션이 이미 있는 경우 Realm 객체 모델을 사용하여 클라이언트 기기와 Atlas 간에 데이터를 매핑하는 Atlas App Services 스키마를 생성할 수 있습니다. 동기화된 Realm 데이터에서 객체 모델 데이터를 읽고 해당 데이터에서 스키마를 생성하는 기능인 개발 모드를 활성화하면 됩니다.

Realm 객체 모델에서 Atlas App Services 스키마를 생성하는 방법에 대한 자세한 내용은 Realm 객체 모델에서 Atlas App Services 스키마 생성을 참조하세요 Realm

그런 다음 Atlas 사이드에 필요한 모든 설정하다 을 마쳤으며 데이터 동기화 를 위해 클라이언트 애플리케이션 을 준비할 수 있습니다. Realm 데이터베이스를 사용하여 데이터를 유지하는 클라이언트 애플리케이션 이 이미 있는 경우, 몇 가지 요소를 추가하기만 하면 해당 데이터를 여러 기기 및 Atlas 와 동기화할 수 있습니다.

1

클라이언트 애플리케이션 코드에서 앱 클라이언트를 초기화하여 클라이언트를 앱 서비스 백엔드에 연결합니다. 이를 통해 클라이언트는 인증과 같은 앱 서비스 기능을 사용할 수 있고 동기화된 영역을 열 수 있습니다.

2

동기화된 데이터에 액세스하려면 클라이언트 애플리케이션 사용자가 App Services 백엔드로 인증되어야 합니다. 클라이언트 앱에 로직을 추가하여 사용자를 등록하고 로그인합니다.

3

인증된 사용자가 있으면 동기화된 Realm 데이터베이스 인스턴스를 열어 해당 사용자에 대해 사용할 수 있습니다.

클라이언트 코드에서 Flexible Sync 쿼리 구독을 정의하여 클라이언트 애플리케이션에 동기화할 데이터를 결정합니다. Device Sync는 사용자가 읽기 및 쓰기 권한이 있는 쿼리와 일치하는 Atlas 문서를 찾고 해당 문서를 클라이언트 장치에 Realm 객체로 동기화합니다. Flexible Sync 쿼리 구독을 추가, 제거 또는 업데이트하여 기기에 동기화되는 문서를 변경할 수 있습니다.

4

이미 클라이언트 데이터가 있는 경우 동기화되지 않은 영역 에 Device Sync 를 직접 추가할 수 없습니다. 동기화되지 않은 영역 의 데이터를 동기화된 영역 으로 복사해야 합니다. 클라이언트 데이터가 없는 경우 이 단계를 건너뛸 수 있습니다.

일부 SDK는 Realm을 열 때 이 작업을 수행할 수 있는 메서드를 제공합니다. 그러나 많은 Realm SDK는 현재 Flexible Sync에서 이러한 메서드를 사용하는 것을 지원하지 않습니다.

SDK가 로컬 Realm을 Flexible Sync Realm으로 복사하는 것을 지원하지 않는 경우 동기화되지 않은 Realm의 각 객체를 반복하여 동기화된 Realm으로 복사하는 로직을 작성해야 합니다. 이 프로세스는 한 번만 수행할 수 있습니다. 데이터를 복사한 후에는 동기화되지 않은 Realm을 삭제하고 앞으로 동기화된 Realm만 열 수 있습니다.

5

동기화된 영역에서 변경 사항을 읽고, 쓰고, 보는 구문은 동기화되지 않은 영역의 구문과 동일합니다. 로컬 데이터로 작업하는 동안 백그라운드 스레드는 변경 세트를 효율적으로 통합, 업로드 및 다운로드합니다. 쓰기 권한이 있는 사용자가 기기에 변경 사항을 적용하면 데이터는 로컬로 유지됩니다. 사용자가 네트워크에 연결되어 있으면 데이터가 자동으로 Atlas와 다른 기기에 다시 동기화됩니다.

돌아가기

Atlas 데이터와 클라이언트 동기화