저희는 다음과 같이 발표하게 되어 기쁘게 생각합니다. GA 릴리스의 카우치베이스 라이트 3.0 및 동기화 게이트웨이 3.0 모바일 및 엣지 컴퓨팅 솔루션용 플랫폼

이번 주요 릴리스는 다음과 같은 영역에서 큰 진전을 이루었습니다. 엣지 컴퓨팅 에지 디바이스 플랫폼 지원을 확장하여 Couchbase Lite용 C API를 도입했습니다. 새로운 C API는 다양한 임베디드 플랫폼에서 Couchbase Lite를 쉽게 사용할 수 있도록 지원합니다.

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

이 글에서는 3.0 베타 릴리스의 주요 기능을 소개합니다. 기타 버그 수정 및 사소한 개선 사항에 대해 자세히 알아보려면 동기화 게이트웨이 그리고 카우치베이스 라이트 플랫폼별 릴리스 노트.

베타 릴리스 자세히 알아보기

다음은 Couchbase Lite 및 동기화 게이트웨이 3.0 베타의 새로운 기능을 평가하는 방법입니다:

카우치베이스 라이트 3.0 베타 릴리즈

C API 지원

몇 년 전, 저희는 엔지니어링 랩 프로젝트로 Couchbase Lite용 C API를 출시했습니다. 저희는 많은 관심에 압도되었고 다양한 사용 사례에 깊은 인상을 받았습니다.

오늘 저희는 다음과 같은 C API를 공식적으로 지원하게 되었음을 알려드리게 되어 기쁩니다. 카우치베이스 라이트. C API를 제품화하는 과정에서 데이터베이스 암호화와 같은 엔터프라이즈급 기능 지원, 다른 Couchbase Lite 플랫폼과의 기능 동등성, API 정리, 기본 구현 최적화 등을 포함했습니다.

가치 제안

    • C는 프로그래밍 언어의 공용어입니다. 따라서 C API를 기반으로 언어 바인딩을 쉽게 구축할 수 있으므로 개발자는 이제 다음과 같은 광범위한 프로그래밍 언어를 사용하여 엣지 디바이스에서 애플리케이션을 빌드할 수 있습니다. Python, 자바스크립트, Rust, 이동
    • C API는 모바일 및 데스크톱 플랫폼에서 지원됩니다. 개발자는 다음을 사용할 수 있습니다. 바인딩 빌드를 위한 외부 함수 인터페이스(FFI) 와 같은 크로스 플랫폼 언어의 경우. 다음과 같은 프레임워크를 사용하는 크로스 플랫폼 앱의 경우 Flutter를 사용하면 개발자는 표준 데스크톱이나 스마트 모바일 디바이스에 비해 상대적으로 메모리와 컴퓨팅 리소스 공간이 적은 임베디드 플랫폼에서 실행되는 IoT 앱을 C로 빌드할 수 있습니다.

자세히 알아보기: 문서.

카우치베이스 라이트 C 클라이언트의 클라이언트 측, 필드 수준 암호화

새로운 C API는 클라이언트 측 필드 수준 암호화도 지원하며, 이 기능은 향후 다른 Couchbase Lite 플랫폼에 도입될 예정입니다.

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

가치 제안

    • 민감한 데이터를 백엔드 서버로 안전하게 전송하여 데이터에 액세스할 수 있는 자격 증명이나 권한이 없는 행위자에게 민감한 데이터가 유출되지 않도록 보장합니다.
    • 선택한 암호화 프레임워크를 사용하여 문서의 민감한 필드를 암호화/복호화할 수 있는 Couchbase Lite 애플리케이션입니다.

자세히 알아보기: 문서.

모바일용 SQL++ 쿼리 언어

Couchbase Lite 2.0에서는 다음을 도입했습니다. 쿼리 빌더 인터페이스 를 통해 SQL과 유사한 의미를 가진 유창한 API를 사용하여 Couchbase Lite 데이터베이스를 쿼리할 수 있었습니다. 3.0에서는 다음을 지원하도록 쿼리 API를 확장합니다. SQL++-형식의 쿼리 문자열(이전에는 N1QL로 알려짐)을 지원합니다.

모바일용 SQL++는 새롭게 떠오르는 SQL-for-JSON 쿼리 언어의 카우치베이스 구현입니다. 이제 개발자는 익숙한 SQL과 유사한 구문 형식으로 문자열 기반 쿼리를 제출할 수 있습니다. 이 기능은 계속 지원되는 QueryBuilder API에 추가됩니다.

가치 제안

    • 몇 가지 카우치베이스 라이트와 서버 SQL++ 구현의 차이점앱 개발자는 전반적으로 Couchbase Server와 Couchbase Lite에서 동일한 쿼리를 재사용할 수 있으므로 쿼리를 개발, 테스트 및 최적화하는 데 필요한 노력을 줄일 수 있습니다.
    • 크로스 플랫폼 또는 하이브리드 기술(예: Ionic 및 React Native)을 위한 브릿징 플러그인을 개발하는 데 있어 중요한 부분은 QueryBuilder API의 브릿징입니다. 단일 문자열 기반 API는 이러한 노력을 크게 간소화합니다. 아래 샘플을 참조하여 다음에서 쿼리 API를 브리징하는 것이 얼마나 쉬운지 확인하세요. 자바스크립트 를 모국어로 전환합니다.
    • 물론 문자열 기반 API는 C API에서 유일하게 실행 가능한 옵션입니다. C API 지원을 도입하면서 모든 Couchbase Lite 플랫폼에서 기능의 동등성을 확보하기 위해 이러한 개선이 불가피했습니다.

자세히 읽어보세요: 문서.

Android의 Kotlin 지원

우리는 다음과 같은 사실을 잘 알고 있습니다. Kotlin의 인기가 높아지고 있습니다. 를 Android 앱 개발 시 선호하는 언어로 선택합니다.

3.0 베타 이전에는 Android 앱 개발자가 다음과 같은 사실을 활용했습니다. Kotlin은 Java와 완벽하게 상호 운용됩니다. 따라서 Kotlin 앱 내에서 Couchbase Lite용 Android Java SDK를 사용할 수 있습니다.

새로운 Android용 Couchbase Lite 릴리스는 사용자 지정 확장 없이도 Kotlin으로 개발된 Android 앱과 원활하게 통합할 수 있도록 완벽하게 지원되는 기본 제공 Kotlin용 관용적 API를 제공합니다.

가치 제안

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

자세히 읽어보세요: 문서.

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

채널 는 동기화 게이트웨이를 사용하여 액세스 제어를 적용하는 기본 메커니즘입니다. 특정 채널에 액세스할 수 있는 사용자만 해당 채널의 문서에 액세스할 수 있도록 보장합니다.

사용자가 채널에 대한 액세스 권한을 상실하여 결과적으로 채널의 문서에 액세스할 수 없게 되면 Couchbase Lite 클라이언트는 해지된 채널에 속한 장치의 모든 로컬 문서를 자동으로 제거합니다. 이는 사용자가 다른 채널을 통해 문서에 액세스할 수 없는 경우에만 해당됩니다. 이는 데이터 거버넌스 및 데이터 보존 정책을 시행하는 데 중요하며, 사용자는 이 기능을 사용하지 않도록 선택할 수 있습니다.

가치 제안

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

자세히 읽어보세요: 문서.

동기화 게이트웨이 3.0 베타 릴리스

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

이번 릴리스에서는 관리자가 동기화 게이트웨이를 더 간편하게 구성하고 관리할 수 있도록 하는 핵심 아키텍처 개선 사항을 소개합니다.

우리는 다음에서 벗어나고 있습니다. 모놀리식 JSON 구성 파일 를 클러스터에서 동기화 게이트웨이 노드를 구성하는 보다 모듈화된 "클러스터 인식" 접근 방식으로 변경합니다. 이제 사용자는 동기화 게이트웨이 노드를 부트스트랩하고 이를 Couchbase Server 클러스터에 연결하는 기본 시작 구성만 지정하면 됩니다.

그 후 사용자는 다음을 통해 클러스터 전체 동기화 게이트웨이 데이터베이스, 액세스 제어 정책, 동기화 게이트웨이 간 복제 등을 구성할 수 있습니다. 관리자 REST 엔드포인트. 구성 업데이트는 동일한 REST 엔드포인트를 통해 모듈식으로 수행할 수 있습니다.

구성의 '클러스터 인식' 특성은 하나의 동기화 게이트웨이 노드에 대한 변경 사항이 클러스터의 모든 또는 사용자가 정의한 동기화 게이트웨이 노드의 하위 집합에 자동으로 전파됨을 의미합니다. 기본적으로 클러스터의 모든 노드가 구성을 상속하지만 사용자가 노드의 하위 집합으로 범위를 지정할 수 있습니다. REST 엔드포인트를 통해 변경된 구성은 유지되며 재시작 후에도 유지됩니다.

가치 제안

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

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

자세히 알아보기: 문서.

안전한 원격 관리

이번 릴리스의 주요 개선 사항은 다음과 같습니다. 중앙 집중식 영구 구성 관리 는 동기화 게이트웨이 관리자 REST API를 통해 클러스터를 안전하게 관리하는 것입니다.

3.0 베타 버전에 새롭게 추가된 관리자 API는 인증 및 역할 기반 액세스 제어 로 설정됩니다. 관리자 API 사용자는 Couchbase 서버에서 다음과 같이 구성해야 합니다. RBAC 사용자 적합한 동기화 게이트웨이 역할. 따라서 권한이 부여된 사용자만 동기화 게이트웨이 관리 엔드포인트에 액세스할 수 있습니다.

가치 제안

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

자세히 읽어보세요: 문서.

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

버전 3.0부터는 모든 서버 측 통신이 기본적으로 암호화되도록 동기화 게이트웨이용 Couchbase Server 통신에서 TLS가 기본적으로 활성화됩니다. 즉, 다음과 같은 비-TLS 체계를 사용하여 Couchbase Server에 액세스할 수 있습니다. couchbase:// 또는 http:// 는 기본적으로 허용되지 않습니다.

항상 TLS 암호화를 사용하도록 설정하는 것이 좋지만, 개발 및 테스트 환경에서는 사용자가 이 기능을 비활성화할 수도 있다는 점을 잘 알고 있습니다. 따라서 사용자는 이 기능을 사용하지 않도록 선택할 수 있습니다.

가치 제안

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

자세히 읽어보세요: 문서.

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

버전 3.0 이전에는 다음과 같은 동기화 게이트웨이 액세스 권한 부여 정보가 제공되었습니다. 채널 그리고 역할 를 문서 본문 내에 삽입해야 했습니다. 문서가 속한 채널 목록을 문서 내의 전용 속성으로 지정하는 것이 일반적입니다.

이번 베타 릴리스에서 사용자는 다음에서 액세스 권한을 지정할 수 있습니다. 사용자 정의 확장 속성(XATTR) 을 문서 본문 외부에 추가합니다. 문서 XAttr은 다음에서 액세스할 수 있습니다. 동기화 기능 를 사용하여 평소와 같이 동적 데이터 라우팅 및 액세스 권한 결정을 내릴 수 있습니다.

가치 제안

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

물론 문서 본문의 내용을 기반으로 채널 또는 액세스 권한 정보를 도출하는 것이 가장 좋은 방법인 경우도 있다는 것을 알고 있습니다. 따라서 해당 옵션은 계속 지원됩니다.

자세히 읽어보세요: 문서.

동기화 간 게이트웨이 복제에서 채널 액세스 해지 시 자동 삭제

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

가치 제안

    • 동기화 기술 개선으로 데이터 거버넌스 및 데이터 보존 정책 시행과 관련된 복잡한 워크플로의 구현이 간소화되었습니다. 다음은 워크플로우의 예시입니다:
      • 한 크루즈 선박이 클라우드 백엔드 시스템에서 항해 관련 데이터를 동기화하고 있습니다. 채널에는 항해별 문서가 포함됩니다.
      • 항해가 완료되면 선박은 항해 채널에 대한 액세스 권한이 취소됩니다.
      • 선박의 모든 항해 관련 문서를 삭제해야 합니다.

자세히 읽어보세요: 문서.

결론

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

질문이나 피드백이 있으시면 아래에 댓글을 남기거나 다음을 통해 언제든지 저에게 연락해 주세요. 트위터 또는 이메일 보내기.

 

작성자

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

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

댓글 남기기