2014년 첫 공식 출시 이후 카우치베이스 모바일 는 다양한 규모와 복잡성을 가진 다양한 사용 사례를 가능하게 했습니다. 다양함에도 불구하고 Couchbase Mobile을 사용하는 몇 가지 일반적인 사용 패턴이 있습니다.
이러한 사용 사례를 해결하기 위한 몇 가지 일반적인 사용 패턴과 팁 및 권장 사례를 다루는 일련의 블로그 게시물을 작성했습니다. 이 블로그 게시물에서는 다음과 같은 앱을 개발하는 경우의 일반적인 패턴에 대해 설명합니다. 카우치베이스 라이트. 이 게시물에서는 Couchbase Mobile의 기본 사항을 잘 알고 있다고 가정합니다. 입문서가 필요한 경우 다음 문서를 참조하세요. 카우치베이스 라이트.
패턴 1: 사용자를 특정하지 않는 대량의 공개 데이터 처리

카우치베이스 라이트는 다음을 지원합니다. 사전 구축 데이터베이스를 사용하면 시작하는 동안 동기화 게이트웨이에서 동기화하는 대신 앱에 데이터를 미리 로드할 수 있습니다.
사용 사례
초기 동기화를 피하면 시작 시간과 네트워크 전송 비용을 줄이는 데 도움이 됩니다. 이는 일반적으로 대부분 정적인 공개/공유, 사용자별이 아닌 데이터에 적용됩니다. 정적 데이터가 아니더라도 데이터를 미리 로드하고 시작 시 변경 사항만 동기화하는 이점을 활용할 수 있습니다.
접근 방식
-
- 만들기 암호화되지 않음 관련 데이터가 포함된 .cblite 데이터베이스의 복사본을 만듭니다. .cblite를 만드는 옵션은 두 가지가 있습니다.
- 두 가지 방법으로 .cblite를 앱에 로드합니다. 두 가지 옵션이 있습니다.
- 첫 번째 옵션은 .cblite2 파일을 앱과 함께 번들로 제공하는 것입니다.
- 두 번째 옵션은 클라이언트가 시작할 때 검색할 수 있는 CDN에서 .cblite 파일을 호스팅하는 것입니다. 데이터베이스 파일을 다운로드하는 데는 여전히 비용이 들지만 CDN에서 파일을 전송하면 대역폭과 대기 시간 비용을 크게 절감할 수 있습니다.
- 로드되면 다음 단계를 따르세요. copy() 번들로 제공되는 .cblite2 파일을 앱에 추가합니다. 이렇게 하면 클라이언트 고유의 데이터베이스 인스턴스가 생성됩니다.
패턴 2: 클라이언트-로컬 및 동기화된 데이터 분리하기

앱 내에서 Couchbase Lite의 여러 인스턴스를 지원할 수 있습니다. 데이터베이스 인스턴스 수에는 엄격한 제한이 없지만, 예를 들어 교차 데이터베이스 조인을 수행할 수 없는 등 실질적인 한계와 제약이 있습니다.
사용 사례
앱 내에 여러 데이터베이스를 사용하는 일반적인 사용 사례는 클라이언트에만 로컬인 데이터를 나머지 데이터와 분리된 별도의 데이터베이스 인스턴스로 분리하는 것입니다. 나중에 설명하는 별도의 패턴에서 살펴보겠지만 로컬 전용 제약 조건을 적용하는 다른 방법도 있습니다. 그러나 데이터를 분리하면 앱이 데이터베이스 수준에서 액세스 제어를 적용하고 쿼리 및 데이터베이스 작업의 범위가 데이터베이스 수준으로 제한되도록 할 수 있습니다. 예를 들어, 동기화된 나머지 데이터에는 영향을 주지 않고 로컬 전용 데이터베이스를 삭제할 수 있습니다.
접근 방식
-
- 로컬 전용 데이터에 대한 Couchbase Lite 데이터베이스 인스턴스를 만듭니다. 데이터베이스는 미리 빌드된 데이터베이스의 번들 복사본에서 생성하거나 복사할 수 있습니다.
- 로컬 전용 데이터베이스에 대한 리플리케이터를 구성하지 마세요.
패턴 3: 다중 사용자 앱 지원

카우치베이스 라이트 기반 앱은 여러 사용자를 지원할 수 있습니다. 이는 앱 내에서 Couchbase Lite의 여러 인스턴스를 지원하는 기능으로 활성화할 수 있는 또 다른 패턴입니다. 다중 사용자 앱은 데이터 분리 및 데이터 액세스 제어에 대한 엄격한 요구 사항을 적용하여 사용자가 고의 또는 실수로 서로의 데이터에 액세스하거나 밟지 않도록 합니다.
사용 사례
다중 사용자 앱은 특히 디바이스를 공유하는 시나리오에서 흔히 볼 수 있습니다.
접근 방식
패턴 4: 디바이스의 앱 간에 데이터 공유

모바일 앱은 샌드박스 환경에서 실행됩니다. 따라서 특정 앱은 자신의 데이터에만 액세스하거나 수정할 수 있습니다. 그러나 특정 플랫폼에서는 적절한 권한이 있는 앱 간에 리소스를 쉽게 공유할 수 있는 옵션이 존재합니다. 플랫폼에서 지정한 이러한 메커니즘을 사용하면 Couchbase Lite 데이터베이스 인스턴스를 여러 앱에서 공유할 수 있습니다. 이는 플랫폼에서 규정하는 지침에 따릅니다.
| 구성 | 시사점 |
|---|---|
| 모든 독자, 작성자 없음 | 확인 |
| 단일 작성자, 여러 리더 | 확인 - 프로세스 간 변경 알림 없음 |
| 여러 작성자 | 테스트되지 않음. 다중 동시 액세스로 인해 데이터베이스가 잠김(YMMW*) |
사용 사례
동일한 공급업체의 여러 앱이 동일한 데이터로 작업할 수 있습니다. 각 앱이 데이터의 동일한 복사본을 유지하는 대신 데이터베이스를 공유하면 전송 비용과 디바이스의 로컬 스토리지 비용을 줄일 수 있습니다.
접근 방식
다음 단계
이 게시물에서는 Couchbase Lite의 몇 가지 일반적인 사용 패턴을 다루었습니다. 앞으로도 일반적인 문제 해결을 위한 다른 팁과 권장 사항을 설명하는 게시물을 계속 게시할 예정입니다.
질문이나 피드백이 있으면 아래에 댓글을 남기거나 트위터로 언제든지 문의해 주세요. @rajagp 또는 이메일을 보내주세요. priya.rajagopal@couchbase.com. . 카우치베이스 포럼 를 통해 질문할 수 있습니다.
감사
특히 Couchbase Lite 개발 팀의 공헌을 인정하고 싶습니다. 짐 보든 이 블로그 게시물을 검토해 주셔서 감사합니다.