오늘 저희는 다음과 같은 기능을 일반에 공개합니다. 카우치베이스 모바일 2.5는 지금까지 출시된 모바일 애플리케이션을 위한 가장 진보된 NoSQL 데이터 플랫폼입니다. 이번 릴리즈는 작년에 Couchbase Mobile 2.0을 출시하면서 마련한 강력한 아키텍처 기반을 기반으로 구축되었습니다. 수많은 새로운 기능과 향상된 기능을 갖춘 이번 릴리스에서는 안전한 임베디드 로컬 스토리지와 고급 동기화 기능을 갖춘 모바일 애플리케이션을 그 어느 때보다 쉽게 개발할 수 있습니다.
카우치베이스 모바일 는 Couchbase Server의 기능을 확장하여 분산형 NoSQL 데이터베이스 기능을 에지로 가져오는 동시에 모든 클라우드에서 에지 장치로, 그리고 에지 장치 간에 직접 데이터를 안전하게 관리하고 동기화합니다. 이 게시물에서는 다음과 같은 주요 기능에 대해 설명합니다. 카우치베이스 라이트 그리고 동기화 게이트웨이. 여기에서 설명하는 기능 외에도 플랫폼별 릴리스 노트에 설명된 여러 가지 버그 수정 및 소규모 개선 사항이 있습니다.
델타 동기화를 통한 대역폭 절약
네트워크 대역폭이 제한되어 있고 데이터 요금제가 비싼 모바일 배포의 경우, 델타 동기화 기능은 문서의 변경된 부분만 동기화하여 복제 프로토콜을 개선하므로 대역폭 소비를 크게 절감할 수 있습니다. 이는 Couchbase Lite 지원 모바일 애플리케이션과 동기화 게이트웨이 간의 데이터 동기화뿐만 아니라 다음과 같은 경우에도 마찬가지입니다. 피어 투 피어 동기화 Couchbase Lite 클라이언트 간
이 기능의 이점을 이해하기 위해 참석자가 이벤트 일정, 발표자 약력, 장소 세부 정보, 지도 등의 세부 정보에 액세스할 수 있는 모바일 이벤트 애플리케이션의 경우를 예로 들어 보겠습니다. 이벤트 세부 정보는 사용자의 모바일 장치에 동기화되어 로컬에 저장되므로 데이터를 항상 사용할 수 있고 애플리케이션의 반응성이 매우 뛰어납니다. 행사 당일 연사가 비행기를 놓쳐 새로운 연사가 강연을 할 예정이라고 가정해 보겠습니다. 이러한 막판 연사 변경은 혼잡하기로 악명 높은 컨퍼런스 Wi-Fi 연결을 통해 애플리케이션과 동기화되어야 합니다.
델타 동기화를 사용하면 문서의 관련 변경 사항만 업데이트되므로 대역폭 제약에도 불구하고 모든 참석자가 업데이트를 받을 수 있습니다. 델타 동기화의 대안은 데이터에서 변경 가능성이 높은 부분을 자체 문서로 분리하는 방식으로 데이터를 모델링하는 것입니다. 이 방법은 모든 경우에 실용적이지 않을 수 있습니다.
문서 크기가 클수록 절감 효과는 크게 증가합니다. 따라서 애플리케이션의 요구 사항을 가장 잘 충족하는 방식으로 문서를 유연하게 모델링할 수 있습니다. 델타 동기화를 활성화할 때는 스토리지 및 복제 시간 비용을 고려해야 합니다.
델타 동기화에 대한 자세한 내용과 배포에서 델타 동기화를 활성화하는 방법은 다음을 참조하세요. 문서 페이지.
예측 쿼리를 사용한 엣지에서의 실시간 예측
엣지에서의 머신 러닝(ML)은 더 빠른 실시간 예측, 보안/개인정보 보호 강화, 오프라인 지원 등 여러 가지 이점을 제공합니다. 점점 더 많은 에코시스템 메모리 사용량이 적고 온디바이스 성능에 최적화된 모바일 최적화 머신 러닝 모델을 제공합니다. 또한 모든 주요 모바일 플랫폼에는 다음과 같은 엣지 머신 러닝을 위한 하드웨어 및 소프트웨어 지원이 포함되어 있습니다. CoreML 를 클릭합니다, 텐서플로 라이트 에서 Windows ML 를 지원합니다. 따라서 이러한 플랫폼 및 에코시스템의 발전을 활용하여 데이터베이스에서 직접 실시간 예측을 실행하는 것은 Couchbase Lite 애플리케이션에 당연한 일입니다.
개발자 프리뷰에서 제공되는 Couchbase Lite의 새로운 예측 쿼리 API를 사용하면 모바일 애플리케이션이 모바일에 최적화된 사전 학습된 머신 러닝 모델을 활용하여 데이터베이스의 데이터에 대해 편리하고 빠르며 항상 사용할 수 있는 방식으로 예측 쿼리를 실행할 수 있습니다. 이를 위해 예측 쿼리 API를 통해 머신 러닝 모델을 등록하기만 하면 Couchbase Lite는 등록된 모델을 사용하여 예측을 실행합니다. 또한 Couchbase Lite는 예측 결과의 캐시 역할을 하는 예측 인덱스를 구축할 수도 있습니다. 쓰기 시간 동안 예측 인덱스를 구축함으로써 사용자는 귀납적 쿼리의 성능이 몇 배나 향상될 것으로 기대할 수 있습니다.
예를 들어, 디바이스 카메라를 통해 애플리케이션에 업로드된 이미지와 카우치베이스 라이트 데이터베이스에 저장된 이미지 세트 간에 가장 일치하는 이미지를 찾는 데 사용되는 얼굴 인식 애플리케이션을 예로 들 수 있습니다. 예측 쿼리 API를 통해 사용자는 등록된 ML 모델을 사용하여 이미지의 의미 있는 벡터인 이미지 '지문'의 예측 인덱스를 구축할 수 있습니다. 앱에 새 이미지가 업로드될 때마다 Couchbase Lite의 새로운 거리 함수를 사용하여 업로드된 지문과 이전에 예측 인덱스에 캐시된 이미지의 지문 간의 유사성 일치를 빠르게 수행할 수 있습니다.
새로운 예측 쿼리 API를 통해 Facebook은 모바일 데이터 저장 분야에서 계속해서 사고 리더십과 혁신을 선보이고 있으며, 이 기능을 통해 모바일 애플리케이션에서 사용할 수 있는 새로운 기능들을 기대해 주시기 바랍니다.
새로운 예측 쿼리 API에 대해 자세히 알아보려면 다음을 확인하세요. 문서.
카우치베이스 라이트
향상된 로깅 지원으로 지원 가능성 향상
세 가지 로깅 모드를 제공하는 통합 로그 인터페이스(선택 사항)를 제공하여 Couchbase Lite 지원 및 디버그 기능을 개선했습니다.
지속적인 파일 기반 로깅
이 기능을 활성화하면 Couchbase Lite는 오류, 경고, 정보 및 자세한 설명의 네 가지 로그 수준에 해당하는 파일에 데이터를 지속적으로 기록합니다. 로그 파일은 자동으로 회전되며 각 수준에서 최대 로그 파일 수를 제어할 수 있습니다. 기본적으로 Couchbase Lite는 매우 효율적인 바이너리 형식으로 데이터를 기록하지만 텍스트 기반 형식도 사용하도록 설정할 수 있습니다.
사용자 지정 로깅
애플리케이션은 로그 데이터와 함께 Couchbase Lite가 호출하는 콜백 함수를 등록할 수 있습니다. 애플리케이션은 필요에 따라 로그 데이터를 처리하거나 원하는 사용자 정의 로깅 프레임워크에 공급할 수 있습니다. 이를 통해 애플리케이션은 필요한 유연성을 확보하여 모든 사용자 정의 로깅 프레임워크를 사용할 수 있습니다.
콘솔 로깅
이 기능은 이전 버전의 카우치베이스 라이트에서도 사용할 수 있으며 디버그 콘솔 창에 기록되는 데이터를 참조합니다. 이 기능은 일반적으로 디버그 모드에서만 활성화됩니다. 지원용 로그 파일과 콘솔 기반 로깅 기능을 분리함으로써 사용자는 콘솔에 기록되는 내용을 유연하게 조정할 수 있으며, 심지어 지원 기능에 영향을 주지 않으면서도 해당 기능을 비활성화할 수도 있습니다.
향상된 로깅 기능에 대해 자세히 알아보려면 다음을 확인하세요. 문서.
세분화된 복제 이벤트
카우치베이스 모바일 2.1에서 애플리케이션은 애플리케이션의 전반적인 상황을 알려주는 이벤트를 수신할 수 있는 기능이 있었습니다. 상태 사용 중, 연결 중, 중지됨 등과 같은 복제 상태를 표시합니다. 이는 애플리케이션 사용자에게 전반적인 동기화 상태를 알려주는 데는 유용하지만, 애플리케이션 사용자가 특정 문서 세트의 동기화 상태에만 관심이 있는 경우에는 충분하지 않았습니다. 카우치베이스 라이트 2.5에서는 애플리케이션이 개별 문서의 푸시 또는 풀 복제 상태에 대한 콜백을 등록할 수 있습니다. 이렇게 세분화된 이벤트를 통해 애플리케이션은 문서가 푸시 또는 풀링되었거나 복제에 오류가 발생했을 때 알림을 받을 수 있습니다.
이 수준의 세분화된 알림에는 몇 가지 강력한 사용 사례가 있습니다. 예를 들어, 애플리케이션은 이제 푸시 후 로컬 저장소에서 문서를 만료시킬 수 있습니다. 애플리케이션은 복제된 이벤트 알림을 통해 문서가 푸시되었다는 알림을 받으면 문서에 만료 타이머를 설정하거나 문서를 즉시 삭제할 수 있습니다. 이는 동기화 후 로컬 문서를 제거하여 로컬 데이터베이스 크기를 관리하는 데 도움이 되며, 데이터 개인정보 보호 지침에 따라 중요한 데이터가 포함된 문서는 푸시 후 장치에 남아 있지 않도록 해야 하는 사용 사례도 지원합니다.
복제 이벤트 등록 방법에 대해 자세히 알아보려면 다음을 참조하세요. 문서.
세분화된 필터링 복제
이제 Couchbase Mobile 2.x에서 제공되는 채널 기반 필터링 외에도 애플리케이션에서 필터를 등록하여 푸시 및 풀 복제에 대해 세분화된 필터링을 수행할 수 있습니다.
푸시 필터 를 사용하면 모바일 장치에서 클라우드 및 다른 장치와 동기화되는 문서를 제어할 수 있습니다. 예를 들어, 수집 상태가 '완료'인 문서만 서버에 동기화해야 하는 현장 데이터 수집 애플리케이션을 생각해 보세요. 즉, 데이터를 수집하는 동안(즉, 사용자가 '저장'을 탭할 때마다) 문서가 클라우드로 푸시되어서는 안 됩니다. 푸시 필터링은 대역폭도 보존합니다.
풀 필터는 원격 엔드포인트에서 가져와서 특정 필터를 충족하는 문서만 로컬 데이터베이스에 저장되도록 하는 데 사용됩니다. 가져오기 필터는 실제로 유선을 통해 가져오는 내용을 제어하지는 않지만 로컬 유효성 검사기 역할을 합니다. 이는 채널 기반 필터링을 지원하지 않는 피어 투 피어 동기화에서 특히 유용합니다.
세분화된 필터링을 적용하는 방법에 대한 자세한 내용은 문서.
로컬 문서의 만료일
카우치베이스 라이트 문서에 만료 시간(TTL) 지원이 다시 도입되었습니다! 새로운 만료 날짜 기능을 통해 애플리케이션은 Couchbase Lite의 문서에 TTL 값을 설정할 수 있습니다. 만료되면 로컬 데이터베이스에서 문서가 제거됩니다. 제거는 로컬 클라이언트 데이터베이스에만 영향을 미치며 다른 엔드포인트에 복제되지 않습니다. 이 기능은 다양한 용도로 사용됩니다. 예를 들어, Couchbase Lite에 알려진 수명이 있는 문서가 있는 경우 만료일 를 문서에 설정하여 애플리케이션이 오프라인 상태일 때에도 만료 시 삭제되도록 합니다.
이 기능에 대해 자세히 알아보려면 다음을 확인하세요. 문서.
제거된 문서의 자동 삭제
사용자의 모든 채널에서 문서가 제거되어 사용자가 문서에 액세스할 수 없게 된 경우, 이후 동기화 게이트웨이에서 문서를 가져오면 문서 제거 알림이 생성됩니다. 카우치베이스 라이트의 새로운 자동 제거 기능은 사용자의 모든 채널에서 제거된 문서를 제거합니다. 이는 사용자가 더 이상 액세스할 수 없는 문서가 로컬 데이터베이스에서 자동으로 제거되도록 하는 편리한 기능입니다.
이 기능에 대해 자세히 알아보려면 다음을 확인하세요. 문서.
날짜/시간 기능
카우치베이스 라이트 2.5에서는 다음과 같이 쿼리 API를 확장했습니다. 날짜/시간 편의성 함수를 사용할 수 있습니다. 카우치베이스 라이트 내에서 생성된 날짜 속성은 내부적으로 다음과 같이 저장됩니다. ISO 8601 형식의 문자열이지만 외부에서 생성된 문서에는 날짜 값이 에포크/유닉스 타임스탬프. 새로운 날짜/시간 기능은 ISO 8601과 에포크 날짜 형식 간에 편리하게 변환할 수 있는 방법을 제공합니다.
동기화 게이트웨이
동기화 게이트웨이 모니터링
동기화 게이트웨이의 모니터링 기능을 대폭 확장하여 배포 상태에 대한 중요한 인사이트를 제공하는 종합적인 통계 세트를 포함하도록 했습니다. 이 통계는 일반적인 동기화 문제의 원인을 파악하고 동기화 게이트웨이가 정상적으로 작동하는지 확인하는 데 도움이 됩니다. JSON 형식의 통계는 다음을 통해 사용할 수 있습니다. _expvar REST 엔드포인트. 또한 플랫폼의 지원 가능성을 높이기 위해 통계가 기록됩니다. JSON 출력을 원하는 모니터링 플랫폼으로 내보낼 수도 있습니다.
저희의 문서 를 클릭해 전체 통계 목록을 확인하세요.
다음 단계
이 게시물에서는 Couchbase Mobile 2.5의 새로운 기능 중 일부에 대해 간략하게 소개했습니다. 모든 개선 사항과 버그 수정에 대한 전체 목록은 설명서를 참조하세요. 지금 바로 다음 링크에서 Couchbase Mobile 2.5를 다운로드할 수 있습니다. 다운로드 페이지. Couchbase Server Enterprise Edition은 개발 목적으로 무료로 다운로드하여 사용할 수 있습니다. 자세한 내용은 새로운 기능 페이지로 이동합니다.
리소스:
카우치베이스 모바일
카우치베이스 라이트
동기화 게이트웨이
카우치베이스 포럼 는 질문이 있을 때 연락하기 좋은 곳입니다.
질문이나 피드백이 있으시면 아래에 댓글을 남기거나 다음 연락처로 언제든지 저에게 연락해 주세요. 이메일 또는 트위터.