모범 사례 및 튜토리얼

카우치베이스 모바일 사용 모범 사례: 1부

2014년 첫 공식 출시 이후 카우치베이스 모바일 는 다양한 규모와 복잡성을 가진 다양한 사용 사례를 가능하게 했습니다. 다양함에도 불구하고 Couchbase Mobile을 사용하는 몇 가지 일반적인 사용 패턴이 있습니다.

이러한 사용 사례를 해결하기 위한 몇 가지 일반적인 사용 패턴과 팁 및 권장 사례를 다루는 일련의 블로그 게시물을 작성했습니다. 이 블로그 게시물에서는 다음과 같은 앱을 개발하는 경우의 일반적인 패턴에 대해 설명합니다. 카우치베이스 라이트. 이 게시물에서는 Couchbase Mobile의 기본 사항을 잘 알고 있다고 가정합니다. 입문서가 필요한 경우 다음 문서를 참조하세요. 카우치베이스 라이트.

패턴 1: 사용자를 특정하지 않는 대량의 공개 데이터 처리

Couchbase Mobile pattern for preloading couchbase lite data

카우치베이스 라이트는 다음을 지원합니다. 사전 구축 데이터베이스를 사용하면 시작하는 동안 동기화 게이트웨이에서 동기화하는 대신 앱에 데이터를 미리 로드할 수 있습니다.

사용 사례

초기 동기화를 피하면 시작 시간과 네트워크 전송 비용을 줄이는 데 도움이 됩니다. 이는 일반적으로 대부분 정적인 공개/공유, 사용자별이 아닌 데이터에 적용됩니다. 정적 데이터가 아니더라도 데이터를 미리 로드하고 시작 시 변경 사항만 동기화하는 이점을 활용할 수 있습니다.

접근 방식

    • 만들기 암호화되지 않음 관련 데이터가 포함된 .cblite 데이터베이스의 복사본을 만듭니다. .cblite를 만드는 옵션은 두 가지가 있습니다.
      • 동기화 게이트웨이를 통해 관련 데이터를 가져오려면 Couchbase Lite 기반 앱을 사용하세요. 이렇게 하면 cblite 파일(.cblite2 확장자)을 생성합니다. 생성된 파일의 위치는 플랫폼별로 다르며, 플랫폼의 데이터베이스 구성 객체입니다.
      • 오픈 소스인 couchbaselabs 사용 cblite 도구를 사용하세요. 이 도구를 사용하면 다양한 소스에서 데이터를 로드할 수 있습니다.
    • 두 가지 방법으로 .cblite를 앱에 로드합니다. 두 가지 옵션이 있습니다.
      • 첫 번째 옵션은 .cblite2 파일을 앱과 함께 번들로 제공하는 것입니다.
      • 두 번째 옵션은 클라이언트가 시작할 때 검색할 수 있는 CDN에서 .cblite 파일을 호스팅하는 것입니다. 데이터베이스 파일을 다운로드하는 데는 여전히 비용이 들지만 CDN에서 파일을 전송하면 대역폭과 대기 시간 비용을 크게 절감할 수 있습니다.
    • 로드되면 다음 단계를 따르세요. copy() 번들로 제공되는 .cblite2 파일을 앱에 추가합니다. 이렇게 하면 클라이언트 고유의 데이터베이스 인스턴스가 생성됩니다.

패턴 2: 클라이언트-로컬 및 동기화된 데이터 분리하기

Couchbase mobile pattern for local only data

앱 내에서 Couchbase Lite의 여러 인스턴스를 지원할 수 있습니다. 데이터베이스 인스턴스 수에는 엄격한 제한이 없지만, 예를 들어 교차 데이터베이스 조인을 수행할 수 없는 등 실질적인 한계와 제약이 있습니다.

사용 사례

앱 내에 여러 데이터베이스를 사용하는 일반적인 사용 사례는 클라이언트에만 로컬인 데이터를 나머지 데이터와 분리된 별도의 데이터베이스 인스턴스로 분리하는 것입니다. 나중에 설명하는 별도의 패턴에서 살펴보겠지만 로컬 전용 제약 조건을 적용하는 다른 방법도 있습니다. 그러나 데이터를 분리하면 앱이 데이터베이스 수준에서 액세스 제어를 적용하고 쿼리 및 데이터베이스 작업의 범위가 데이터베이스 수준으로 제한되도록 할 수 있습니다. 예를 들어, 동기화된 나머지 데이터에는 영향을 주지 않고 로컬 전용 데이터베이스를 삭제할 수 있습니다.

접근 방식

    • 로컬 전용 데이터에 대한 Couchbase Lite 데이터베이스 인스턴스를 만듭니다. 데이터베이스는 미리 빌드된 데이터베이스의 번들 복사본에서 생성하거나 복사할 수 있습니다.
    • 로컬 전용 데이터베이스에 대한 리플리케이터를 구성하지 마세요.

패턴 3: 다중 사용자 앱 지원

Couchbase Mobile pattern share database with multiple users

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

사용 사례

다중 사용자 앱은 특히 디바이스를 공유하는 시나리오에서 흔히 볼 수 있습니다.

접근 방식

    • 각 사용자에 대해 별도의 Couchbase Lite 데이터베이스 인스턴스를 만듭니다.
    • 필수는 아니지만 데이터베이스의 모든 인스턴스는 사용자별 폴더에 있을 수 있으며, 그 위치는 다음을 통해 지정할 수 있습니다. 데이터베이스 구성 를 설정할 수 있습니다. 원하는 경우 각 카우치베이스 라이트 데이터베이스는 암호화된 사용자별 비밀번호/키를 사용합니다.
    • 사용자 간에 공유되는 공통 데이터는 '공통' 폴더에 있는 데이터베이스의 공유 인스턴스에 저장할 수 있습니다.
    • 사용자 간에 전환하거나 '로그오프'할 때는 다음 사항을 확인하세요.
      • 다음에서 모든 리스너를 제거합니다. 쿼리
      • 중지 모든 리플리케이터
      • 닫기 데이터베이스

패턴 4: 디바이스의 앱 간에 데이터 공유

Couchbase Mobile pattern share database between apps

모바일 앱은 샌드박스 환경에서 실행됩니다. 따라서 특정 앱은 자신의 데이터에만 액세스하거나 수정할 수 있습니다. 그러나 특정 플랫폼에서는 적절한 권한이 있는 앱 간에 리소스를 쉽게 공유할 수 있는 옵션이 존재합니다. 플랫폼에서 지정한 이러한 메커니즘을 사용하면 Couchbase Lite 데이터베이스 인스턴스를 여러 앱에서 공유할 수 있습니다. 이는 플랫폼에서 규정하는 지침에 따릅니다.

구성 시사점
모든 독자, 작성자 없음 확인
단일 작성자, 여러 리더 확인 - 프로세스 간 변경 알림 없음
여러 작성자 테스트되지 않음. 다중 동시 액세스로 인해 데이터베이스가 잠김(YMMW*)

사용 사례

동일한 공급업체의 여러 앱이 동일한 데이터로 작업할 수 있습니다. 각 앱이 데이터의 동일한 복사본을 유지하는 대신 데이터베이스를 공유하면 전송 비용과 디바이스의 로컬 스토리지 비용을 줄일 수 있습니다.

접근 방식

    • 데이터베이스를 공유하는 앱에서 액세스할 수 있는 파일 시스템의 폴더나 위치에 데이터베이스를 호스팅하는 것이 좋습니다. 데이터를 공유하도록 앱을 구성하는 것은 플랫폼 수준에서 구현됩니다.
      • iOS에서는 다음을 사용합니다. 앱 그룹 에 설명된 것과 유사하게 블로그 를 클릭하여 여러 앱에서 공유 Couchbase Lite 리소스에 대한 액세스를 설정할 수 있습니다.
      • Android에서는 다음을 활용할 수 있습니다. 콘텐츠 제공업체 를 사용하여 앱 간에 Couchbase Lite 데이터를 공유할 수 있습니다.

다음 단계

이 게시물에서는 Couchbase Lite의 몇 가지 일반적인 사용 패턴을 다루었습니다. 앞으로도 일반적인 문제 해결을 위한 다른 팁과 권장 사항을 설명하는 게시물을 계속 게시할 예정입니다.
질문이나 피드백이 있으면 아래에 댓글을 남기거나 트위터로 언제든지 문의해 주세요. @rajagp 또는 이메일을 보내주세요. priya.rajagopal@couchbase.com. . 카우치베이스 포럼 를 통해 질문할 수 있습니다.

감사

특히 Couchbase Lite 개발 팀의 공헌을 인정하고 싶습니다. 짐 보든 이 블로그 게시물을 검토해 주셔서 감사합니다.

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 프리야 라자고팔, 제품 관리 부문 선임 이사

프리야 라자고팔은 클라우드 및 엣지용 개발자 플랫폼을 담당하는 Couchbase의 제품 관리 수석 이사입니다. 그녀는 20년 이상 여러 기술 및 제품 리더십 직책을 맡으며 전문적으로 소프트웨어를 개발해 왔으며, 그중 10년 이상은 모바일 기술에 집중했습니다. TISPAN IPTV 표준 대표로서 IPTV 표준 사양에 핵심적인 기여를 했습니다. 네트워킹 및 플랫폼 보안 분야에서 22개의 특허를 보유하고 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.