개발바닥

MongoDB Realm 본문

몽고DB

MongoDB Realm

라이언 2021. 11. 17. 03:16
반응형

MongoDB Realm 공식 문서를 바탕으로 정리를 해보고자 합니다.

 

                         목차

  1. MongoDB Realm 이란?
  2. Realm Sync
  3. Realm App Services
  4. Realm Authentication

 

MongoDB Realm 이란?

Realm은 모바일 개발자들을 위한 모바일 오픈 소스 데이터베이스이다.

 

출처 : 공식 사이트 문서

 

Realm 데이터베이스 특징

  • Object 데이터베이스
  • 복잡한 쿼리 제공
  • Offline - First
  • Open-Source 데이터 베이스

Realm Sync 란?

MongoDB Realm은 디바이스 로컬 데이터베이스로 구성되고 디바이스와 백엔드간에 변경사항을 복제하는 정교한 동기화 메커니즘을 내부적으로 구현하고 있다.
그래서 모바일 디바이스와 백엔드 간에 Conflict resolution 이나 네트워크가 단절됐다가 연결됐을 때 그것을 처리할 수 있는 모든 로직을 사용하여 모바일 애플리케이션에서 데이터를 동기화 해줄 수 있다.
동기화는 아틀라스에 있는 데이터베이스와 동기화 해준다.

즉, 단 몇 줄의 코드로 모바일 애플리케이션과 양방향 복제가 가능하다.

 

Realm Sync 동작 과정

1. 디바이스 로컬 디비 업데이트 됐을 때

출처 : 공식 사이트 문서

2. 아틀라스 데이터 업데이트 됐을 때

 

출처: 공식 사이트 문서

3. Realm 데이터를 파티셔닝해서 동기화를 한다.

출처 : 공식 사이트 문서

4. 양측에서 데이터 동기화 됐을 때

출처: 공식 사이트 문서

※ Conflict Resolution 규칙

1. 삭제는 항상 승리합니다.

   한 쪽이 객체를 삭제하면 다른 쪽이 나중에 변경하더라도 항상 삭제된 상태로 유지됩니다.

2. 마지막 업데이트가 이깁니다.

   양측이 동일한 속성을 업데이트하면 Realm은 가장 최근 업데이트의 값을 유지합니다.

3. 목록의 삽입은 시간순으로 정렬됩니다.

   두 항목이 같은 위치에 삽입되면 먼저 삽입된 항목이 다른 항목보다 먼저 삽입됩니다. 즉, 양쪽이 목록 끝에 항목을 추가하면 삽입 시간 순서대로 두 항목이 모두 포함됩니다.

4. 기본 키는 개체 ID를 지정합니다.

   양측이 동일한 기본 키를 사용하여 동일한 클래스의 객체를 생성하는 경우 동일한 객체의 인스턴스로 처리됩니다.

 

Realm App Services

출처 : 공식 사이트 문서

 

Realm Authentication

 

반응형

'몽고DB' 카테고리의 다른 글

MongoDB Realm 기능 설명  (0) 2022.03.28
몽고 DB 명령어  (0) 2019.02.01
몽고DB 기본 지식  (0) 2019.02.01
우분투 몽고DB 설치  (0) 2018.10.06
Comments