여러 가지 향상된 기능이 포함된 Couchbase Mobile 3의 출시를 발표하게 되어 기쁘게 생각합니다. 카우치베이스 라이트 그리고 동기화 게이트웨이 모바일 및 엣지 컴퓨팅 솔루션용 제품입니다. 이번 주요 릴리스에서는 다음과 같은 영역에서 계속해서 큰 진전을 이루었습니다. 엣지 컴퓨팅 에지 디바이스 플랫폼 지원을 확장하여 카우치베이스 라이트용 C API. 새로운 C API는 다양한 임베디드 플랫폼에서 Couchbase Lite를 쉽게 사용할 수 있도록 지원합니다.

또한, 플랫폼을 더욱 간편하게 구성하고 관리할 수 있는 중요한 아키텍처 개선 사항을 도입합니다. 동기화 게이트웨이 구성을 모듈화하여 '클러스터 인식'이 가능하도록 만들었으며, 이제 런타임 관리를 간소화하기 위해 안전한 RESTful API 엔드포인트를 제공합니다. 이 외에도 여러 가지 보안 관련 업데이트가 이루어졌습니다. 이는 빙산의 일각에 불과합니다!

이 포스팅에서는 여러 가지 중요한 기능에 대해 소개해드렸습니다. 버그 수정 및 사소한 개선 사항에 대해 자세히 알아보려면 동기화 게이트웨이 그리고 카우치베이스 라이트 플랫폼별C 릴리스 노트.

시작하기!

Couchbase Lite 및 Sync Gateway 3.0의 새로운 기능을 평가하는 방법은 다음과 같습니다:

카우치베이스 라이트

C API 플랫폼 지원

몇 년 전, 저희는 엔지니어링 랩 프로젝트로 Couchbase Lite용 C API를 출시했습니다. 많은 분들의 관심에 놀랐고 다양한 사용 사례에 깊은 인상을 받았습니다. 이제 Couchbase Lite용 C API를 공식적으로 지원하게 되었음을 발표하게 되어 기쁘게 생각합니다. C API를 제품화하는 과정에서 데이터베이스 암호화와 같은 엔터프라이즈급 기능에 대한 지원을 추가하고, 다른 Couchbase Lite 플랫폼과의 기능 동등성을 보장하고, API를 정리하고, 기본 구현을 최적화하는 등 많은 작업을 거쳤습니다.

개발자에게는 여러 가지 이점이 있습니다:

  • 개발자는 표준 데스크톱이나 스마트 모바일 디바이스에 비해 상대적으로 적은 메모리와 컴퓨팅 리소스 공간을 사용하는 임베디드 플랫폼에서 실행할 수 있는 IoT 앱을 C로 빌드할 수 있습니다.
  • C는 프로그래밍 언어의 공용어입니다. 따라서 다음을 사용하여 C API 위에 언어 바인딩을 쉽게 구축할 수 있습니다. 외부 기능 인터페이스(FFI)즉, 개발자는 이제 Dart, Python, JS, Rust, Go 등과 같은 광범위한 프로그래밍 언어를 사용하여 Couchbase Lite를 사용하여 임베디드 애플리케이션을 구축할 수 있습니다.
  • C API는 모바일, 데스크톱 및 맞춤형 임베디드 하드웨어를 위한 광범위한 운영 체제를 지원하는 진정한 크로스 플랫폼입니다. 이제 다양한 하드웨어에서 실행되는 크로스 플랫폼 애플리케이션을 구축할 수 있습니다.

자세히 알아보기 카우치베이스 라이트 C API 문서.

클라이언트 측 필드 레벨 암호화

새로운 C API는 클라이언트 측 필드 수준 암호화도 지원합니다.. 새로운 클라이언트 측 암호화 기능을 사용하여 Couchbase Lite C 클라이언트는 유선을 통해 데이터를 Couchbase Server로 복제하기 전에 문서의 필드를 암호화할 수 있습니다. 올바른 암호화 키에 액세스할 수 있는 클라이언트만 보호된 데이터를 해독하고 읽을 수 있습니다. 클라이언트 측 암호화는 다음과 호환됩니다. 카우치베이스 서버 SDK 필드 수준 암호화 형식.

이러한 새로운 암호화 혜택에는 다음이 포함됩니다:

  • 진정한 엔드투엔드 암호화 지원으로 데이터에 액세스할 수 있는 자격 증명이나 권한이 없는 행위자에게 민감한 데이터가 유출되지 않도록 보장합니다.  
  • 애플리케이션은 모든 암호화 프레임워크를 사용하여 문서의 민감한 필드를 암호화/복호화할 수 있습니다.

자세히 알아보기 Couchbase Lite 필드 암호화 문서.

모바일용 SQL++/N1QL 쿼리 언어

카우치베이스 라이트는 다음을 지원합니다. 쿼리 빌더 인터페이스를 통해 앱이 SQL 시맨틱을 갖춘 유창한 API를 사용하여 Couchbase Lite 데이터베이스를 쿼리할 수 있습니다. 3.0에서는 다음을 지원하도록 쿼리 API를 확장합니다. N1QL 형식의 쿼리 문자열, 특히 C API 사용을 위한 것입니다. 모바일용 N1QL은 SQL++라는 새로운 SQL-for-JSON 쿼리 언어 사양을 Couchbase에서 구현한 것입니다. 이제 개발자는 익숙한 SQL 구문 형식으로 문자열 기반 쿼리를 제출할 수 있습니다. 이는 계속 지원되는 QueryBuilder API에 추가됩니다.

가치 제안:

  • 앱 개발자는 Couchbase Server와 Couchbase Lite에서 동일한 SQL++/N1QL 쿼리를 재사용할 수 있으므로 쿼리를 개발, 테스트 및 최적화하는 데 필요한 노력을 줄일 수 있습니다. 몇 가지 카우치베이스 라이트와 서버 N1QL의 차이점.
  • 이 단일 문자열 기반 API는 크로스 플랫폼 또는 Ionic 및 React Native와 같은 하이브리드 기술을 위한 QueryBuilder API를 통해 브릿징 플러그인 개발을 크게 간소화합니다.

자세히 알아보기 문서에서 Couchbase Lite 쿼리 문자열 구현하기.

Android의 Kotlin 지원

우리는 Kotlin이 인기 증가 을 Android 앱 개발 시 선호하는 언어로 선택했습니다. 3.0 이전에는 Android 앱 개발자가 Kotlin이 완전히 상호 운용성 를 지원하므로 Kotlin 앱 내에서 Couchbase Lite용 Android Java SDK를 사용할 수 있습니다. 새로운 Android용 Couchbase Lite 릴리스는 사용자 지정 확장 없이도 Kotlin에서 개발된 Android 앱과 원활하게 통합할 수 있도록 완벽하게 지원되는 즉시 사용 가능한 관용적 API를 Kotlin에 제공합니다.

가치 제안:

  • 개발자들의 요청에 귀를 기울였습니다! 이제 Kotlin 개발자는 일반적인 Kotlin 패턴 를 클릭하세요.

자세한 내용은 카우치베이스 모바일 코틀린 문서.

채널 액세스 해지 시 디바이스 데이터 자동 삭제

채널 는 동기화 게이트웨이를 사용하여 액세스 제어를 적용하는 기본 메커니즘입니다. 특정 채널에 대한 액세스 권한이 있는 사용자만 해당 채널의 문서에 액세스할 수 있도록 보장합니다. 3.0의 새로운 채널 액세스 취소 기능을 사용하면 사용자가 채널에 대한 액세스 권한을 잃고 그 결과 채널의 문서에 액세스할 수 없게 되면 Couchbase Lite 클라이언트는 취소된 채널에 속한 장치의 모든 로컬 문서를 자동으로 제거합니다. 이는 사용자가 다른 채널을 통해 문서에 액세스할 수 없는 경우에만 해당됩니다. 이는 데이터 거버넌스 및 데이터 보존 정책을 시행하는 데 중요합니다.

자동 삭제 기능을 사용하면 정책을 더 쉽게 관리할 수 있습니다:

  • 동기화 기술 개선으로 데이터 거버넌스 및 데이터 보존 정책 시행과 관련된 복잡한 워크플로우 구현이 간소화되었습니다.
  • 예를 들어 다음은 이러한 워크플로우의 예입니다:
    •  영업 사원, "Bob", "Region_East"에 대한 액세스 권한이 일시적으로 부여됩니다.Region_West" 채널로 이동합니다. 채널에는 지역별 리드 문서가 포함됩니다.
    •  서부 지역에 새 어소시에이트가 채용되면 Bob은 "region_west" 채널. 
    • 이전에 동기화된 모든 문서는 Bob의 장치에서 제거해야 합니다.

자동 삭제에 대한 자세한 내용은 Couchbase Lite 복제 문서.

동기화 게이트웨이

중앙 집중식 영구 모듈식 구성

이번 릴리스에서는 관리자가 동기화 게이트웨이를 쉽게 구성하고 관리할 수 있도록 하는 핵심 아키텍처 개선 사항을 소개합니다. 모놀리식 동기화 게이트웨이에서 벗어나 JSON 구성 파일 를 클러스터에서 동기화 게이트웨이 노드를 구성하는 보다 모듈화된 클러스터 인식 접근 방식으로 변경합니다. 이제 사용자는 동기화 게이트웨이 노드를 부트스트랩하고 이를 Couchbase Server 클러스터에 연결하는 기본 시작 구성만 지정하면 됩니다.

그 후 사용자는 다음을 통해 클러스터 전체 동기화 게이트웨이 데이터베이스, 액세스 제어 정책, 동기화 게이트웨이 간 복제 등을 구성할 수 있습니다. 관리자 REST 엔드포인트. 구성 업데이트는 동일한 REST 엔드포인트를 통해 모듈식으로 수행할 수 있습니다. 구성의 클러스터 인식 특성은 하나의 동기화 게이트웨이 노드에 대한 변경 사항이 클러스터의 모든 또는 사용자 정의 동기화 게이트웨이 노드의 하위 집합에 자동으로 전파됨을 의미합니다. 

가치 제안:

  • REST API를 통해 이루어진 임시 데이터베이스 구성 변경 사항은 해당 서버 버킷에 유지되며, 충돌 또는 의도적인 재시작으로 인해 동기화 게이트웨이가 다시 시작되는 동안 손실되지 않습니다.
  • 대규모 클러스터를 위한 중앙 집중식 데이터베이스 구성 업데이트는 관리와 운영을 간소화합니다. 노드에 대한 데이터베이스 변경 사항은 클러스터의 모든 노드에 자동으로 적용되거나 노드의 하위 집합으로 범위를 지정할 수 있습니다. 
  • 그리고 관리 REST 엔드포인트를 사용하여 동기화 게이트웨이 클러스터를 안전하게 관리할 수 있는 기능은 프로그래밍 방식의 제어를 가능하게 하고, SSH 터널링과 같은 옵션에 의존하지 않고도 클라우드 배포에서 원격 관리를 간소화합니다.
  • 특히 구성이 복잡한 경우 모놀리식 파일을 유지 관리하는 것은 어렵습니다. 단일 구성 파일에 여러 개의 동기화 게이트웨이 데이터베이스를 정의할 수 있습니다. 이는 한 테넌트에 대한 데이터베이스 변경으로 인해 모든 테넌트에 영향을 미치는 노드를 다시 시작해야 하는 멀티테넌트 애플리케이션에서 잠재적으로 바람직하지 않은 결과를 초래할 수 있습니다. 

마이그레이션 프로세스를 간소화하기 위해 기존 JSON 구성은 다음과 같습니다. 자동으로 마이그레이션 로 변경해야 합니다. 사용자는 새로운 영구 구성 기반 접근 방식을 사용하는 것이 좋지만, 기존 방식의 동기화 게이트웨이 구성을 계속 사용하려는 경우 disable_persistent_config 플래그. 그런 다음 사용자가 준비가 되면 새로운 접근 방식으로 마이그레이션할 수 있습니다. 

자세히 알아보기 동기화 게이트웨이 3.0 구성 문서.

안전한 원격 관리

이번 릴리스의 주요 개선 사항은 다음과 같습니다. 중앙 집중식 영구 구성 관리, 동기화 게이트웨이 관리자 REST API를 통해 클러스터를 안전하게 관리할 수 있습니다. 3.0의 새로운 기능인 관리자 API는 인증 및 역할 기반 액세스 제어 로 설정됩니다. 관리자 사용자는 기본적으로 Couchbase 서버에서 다음과 같이 구성해야 합니다. RBAC 사용자 적합한 동기화 게이트웨이 역할. 따라서 권한이 부여된 사용자만 동기화 게이트웨이 관리 엔드포인트에 액세스할 수 있습니다.

안전한 원격 관리의 이점은 다음과 같습니다:

  • 동기화 게이트웨이는 네트워크 인프라 기반 액세스 제어 메커니즘(SSH 터널링 또는 방화벽 규칙)을 사용하지 않고도 안전하게 관리할 수 있습니다. 원격 관리는 분산된 클라우드 배포에서 특히 중요합니다. ID 서버와 같은 백엔드 서버 애플리케이션은 동기화 게이트웨이 사용자를 구성하기 위해 관리자 REST API에 대한 프로그래밍 방식의 액세스가 필요합니다. 
  • 애플리케이션마다 용도가 다르고 사용자도 다릅니다. 동기화 게이트웨이 3.0부터는 특정 동기화 게이트웨이 역할이 있는 사용자만 관리자 REST 엔드포인트를 통해 동기화 게이트웨이를 관리할 수 있습니다.
  • 향후 릴리스에서는 관리자 기능을 더욱 세밀하게 제어할 수 있는 세분화된 동기화 게이트웨이 역할이 지원될 예정입니다. 계속 지켜봐 주세요!

자세한 내용은 동기화 게이트웨이 3.0 REST API 액세스 문서.

기본적으로 사용하도록 설정된 TLS 암호화

버전 3.0부터는 동기화 게이트웨이용 Couchbase Server 통신에서 TLS가 기본적으로 활성화되어 모든 서버 측 통신이 기본적으로 암호화됩니다. 즉, "couchbase://" 또는 "http://"와 같은 비-TLS 체계를 통한 Couchbase Server 액세스는 기본적으로 허용되지 않습니다. 항상 TLS를 사용하도록 설정하는 것이 좋지만, 개발 및 테스트 환경에서는 사용자가 비활성화하기를 원할 수 있다는 점을 잘 알고 있습니다. 따라서 사용자는 이 기능을 사용하지 않도록 선택할 수 있습니다.

가치 제안:

  • 이 새로운 기본 동작을 통해 보안 모범 사례를 시행하고 장려하고 있습니다.

자세히 알아보기 동기화 게이트웨이 보안 문서에서 TLS 적용하기.

액세스 제어 메타데이터를 위한 사용자 정의 확장 속성(XAttr)

현재 다음과 같은 액세스 권한 정보를 제공합니다. 채널 그리고 역할 는 일반적으로 문서 본문에 전용 속성으로 포함됩니다. 이번 릴리스에서 사용자는 추가 옵션을 사용하여 사용자 정의 액세스 권한을 지정할 수 있습니다. 확장 속성(XATTR) 을 문서 본문 외부에서 사용할 수 있습니다. 문서 XAttr은 문서 본문의 동기화 기능 를 사용하여 평소와 같이 동적 데이터 라우팅 및 액세스 권한 결정을 내릴 수 있습니다.

문서 본문에서 액세스 권한 메타데이터를 분리하면 몇 가지 이점이 있습니다:

  • 문서 본문 내에 액세스 권한 메타데이터를 포함한다는 것은 문서와 관련된 액세스 권한이 변경되면 문서 본문도 그에 따라 업데이트된다는 의미입니다. 문서 업데이트는 차례로 클라이언트에 대한 문서 복제를 트리거합니다. 액세스 권한 변경은 클라이언트와 관련이 없으므로 '노이즈'가 발생합니다. 더 중요한 것은 채널 목록이 많으면 문서 복제로 인해 상당한 대역폭 사용량이 발생할 수 있다는 점입니다.
  • 문서 본문 내에 채널 액세스 권한을 포함하면 해당 문서를 동기화하는 모든 사용자가 해당 정보에 액세스할 수 있습니다. 이로 인해 특정 개인정보 보호 문제가 발생할 수 있습니다. 예를 들어, 채널 이름이 사용자 ID와 일치하는 경우 문서를 복제하는 사용자는 문서에 액세스할 수 있는 다른 사용자에 대해 알게 됩니다.
  • 전용 속성으로 액세스 권한 데이터를 업데이트하기 위해 기존 문서의 데이터 모델을 수정할 필요가 없습니다. 데이터 동기화를 위해 동기화 게이트웨이를 사용하기 위해 기존 프로세스 및 애플리케이션을 수정할 필요가 없습니다.

문서 본문의 내용을 기반으로 채널 또는 액세스 권한 정보를 도출하는 것이 가장 좋은 옵션인 경우가 있으며, 이 옵션은 계속 지원됩니다.

자세히 알아보기 문서 내 XAttr 액세스 제어.

채널 액세스 해지 시 클러스터 데이터 자동 삭제 

동기화 게이트웨이 클러스터는 다음을 사용하여 서로 데이터를 복제할 수 있습니다. 동기화 게이트웨이 간 복제 기술을 사용합니다. 복제 중에 사용자가 채널에 대한 액세스 권한을 잃고 그 결과 복제 중인 채널의 문서에 액세스할 수 없게 되면 활성 상태의 동기화 게이트웨이가 클러스터 복제가 시작된 채널에서 해지된 채널의 문서를 자동으로 제거하도록 구성할 수 있습니다. 

이 기능은 옵트인 기능입니다.

가치 제안:

  • 동기화 기술 개선으로 데이터 거버넌스 및 데이터 보존 정책 시행과 관련된 복잡한 워크플로우 구현이 간소화됩니다.

다음은 워크플로우의 예입니다:

    •  한 크루즈 선박이 클라우드 백엔드 시스템에서 항해 관련 데이터를 동기화하고 있습니다. 채널에는 항해 관련 문서가 포함됩니다.
    • 항해가 완료되면 선박은 항해 채널에 대한 액세스 권한이 취소됩니다.
    • 선박의 모든 항해 관련 문서를 삭제해야 합니다. 

자세한 내용은 복제 제거 문서.

리소스

하지만 그게 다가 아닙니다! 제품별 릴리스 노트에 설명된 다른 여러 가지 개선 사항도 있습니다. 다음은 몇 가지 유용한 리소스에 대한 직접 링크입니다. 자세한 내용은 카우치베이스 라이트 그리고 동기화 게이트웨이 새로운 기능 페이지에 링크되어 있습니다.

질문이나 피드백이 있는 경우 카우치베이스 개발자 포럼 는 저희와 소통할 수 있는 좋은 방법입니다. 아래에 댓글을 남기거나 다음을 통해 언제든지 저에게 연락해 주세요. 트위터 또는 이메일 보내기

작성자

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

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

댓글 남기기