카우치베이스 모바일 1.2

그리고 새 릴리스 카우치베이스 모바일 1.2 버전은 다음에서 사용할 수 있습니다. 다운로드는 모바일 디바이스용 로컬 클라이언트 측 스토리지 엔진의 성능을 크게 개선했습니다. 특히, 다양한 서버 및 모바일 운영 체제를 지원하도록 설계된 새로운 스토리지 엔진으로 ForestDB가 최신 통합되었습니다. 서버 측에서,카우치베이스 서버 4.1 로 모바일 스토리를 완성합니다.동기화 게이트웨이 1.2 사이에 실행되는 카우치베이스 라이트 1.2 모바일 클라이언트. 이 블로그에서는 ForestDB를 살펴보고, 이점을 살펴보고, 개발자가 앱에서 이 기능을 활성화하는 방법을 공유해 보겠습니다.

ForestDB

무엇 ForestDB 는 키와 값 매핑이 모두 바이너리 블롭인 영구 키/값 스토리지 라이브러리인 카우치베이스 라이트에 제공합니다. ForestDB는 로우레벨 키/값 스토리지 엔진으로, 다음과 같은 제품군에 속합니다. 버클리 DB 그리고 LevelDB. 개발자는 사전 순으로 키를 열거할 수 있을 뿐만 아니라 그에 따라 값을 가져와 설정할 수 있습니다.

Couchbase의 차세대 스토리지 엔진을 더 잘 이해하고 자세히 알아보세요, 이 프레젠테이션 보기 서치영 2015 카우치베이스 커넥트에서

혜택

다음은 Couchbase Lite 1.2의 새로운 스토리지 시스템의 성능 개선 사항 중 일부입니다:

  • 빨라진 속도 - 앱마다 다르지만 문서 삽입 및 쿼리와 같은 작업에서 2배에서 5배까지 개선된 것으로 나타났습니다.
  • 동시성 향상 - (리플리케이터와 같은) 작성자 스레드는 (GUI 스레드와 같은) 리더를 차단하지 않으므로 애플리케이션의 응답성을 유지하는 데 도움이 됩니다.
  • RAM 사용 공간 감소 - 데이터 캐시가 스레드 간에 공유되므로 복제 중에 발생하는 여러 스레드가 데이터베이스에 액세스하는 데 따른 오버헤드가 줄어듭니다.
  • 자동 데이터베이스 압축 - 데이터베이스 압축(디스크 공간 확보)은 다른 스레드를 차단하지 않고 백그라운드에서 실행되며, 복구할 공간이 충분할 때마다 자동으로 예약됩니다.

관련된 작업 및 데이터 세트에 따라 다릅니다, 속도가 최대 5배까지 향상될 수 있습니다, 작성자가 독자를 차단하지 않는 더 나은 동시성 관리가 가능합니다. 데이터 캐시가 스레드 간에 공유되므로 이제 RAM 사용 공간이 줄어듭니다. 이는 자동 데이터베이스 압축 및 백그라운드 존재로 보완됩니다. 다음에 대해 자세히 알아볼 수 있습니다. 에서 ForestDB 벤치마크와 성능 테스트 결과를 확인할 수 있습니다. 블로그 의 차세대 스토리지 엔진에서 Couchbase Server 및 Couchbase Lite를 지원합니다.

시작하기

이전 버전에서는 SQLite 는 쿠크베이스 라이트에서 사용 가능한 스토리지 엔진이었습니다. 현재 SQLite가 기본값으로 유지되고 있지만, Couchbase Mobile 1.2의 경우 Couchbase Lite 프로젝트 라이브러리에 ForestDB를 활성화하는 옵션 패키지가 있습니다. ForestDB 구성 요소가 포함된 iOS 및 Android GrocerySync 스타터 프로젝트는 다음에서 다운로드할 수 있습니다. GitHub 를 클릭합니다.

ForestDB 사용

이제 다음을 활성화하는 방법에 대해 설명하겠습니다. 모바일 애플리케이션 프로젝트에 ForestDB를 추가하여 새로운 이점을 활용하세요. 이전 버전의 Couchbase Lite를 사용하는 이전 프로젝트가 있는 경우 기존 데이터베이스 파일은 변환되지 않는다는 점에 유의하세요. SQLite 지원 데이터베이스가 계속 유지됩니다. 데이터베이스 유형의 형식은 프로젝트 생성 초기에 설정되므로 기본적으로 SQLite를 사용합니다. 기존 데이터베이스는 항상 생성한 것과 동일한 스토리지 엔진으로 열립니다. 향후 블로그에서 마이그레이션 방법을 다룰 예정이니 기대해 주세요.

iOS:

다음은 설명합니다. iOS 프로젝트 내에서 ForestDB 스토리지 엔진을 활성화하는 데 필요한 단계를 설명합니다. 먼저 'CouchbaseLite.framework' 라이브러리 파일을 이동하거나 복사합니다. 카우치베이스-라이트-ios-엔터프라이즈_1.2.0-112 ZIP 파일을 iOS 앱 프로젝트의 폴더 또는 iOS 앱 프로젝트의 Frameworks 하위 폴더에 끌어다 놓습니다. 거기에서 버전 1.2 CouchbaseLite.framework를 프로젝트에 드래그하여 프로젝트에 다른 파일 시스템 경로에 대한 참조가 생성되지 않도록 합니다. 이렇게 하면 모든 시스템에서 프레임워크를 사용할 수 있습니다.

이제 Frameworks 폴더에 CouchbaseLite.framework 파일이 포함되어 있어야 합니다. 그런 다음 libCBLForestDBStorage.a 파일을 끌어다 놓아 녹색 하이라이트가 모두 프레임워크 폴더에 표시되도록 합니다.

시스템 라이브러리 libc++dylib를 링크해야 하며, 이를 위해 대상의 "빌드 단계" 에디터로 이동합니다. "라이브러리와 바이너리 연결" 섹션 아래의 '+' 기호를 클릭하고 '/usr/lib/'에서 관심 있는 파일을 선택하거나 라이브러리 선택기의 필터 필드에 'c++'를 입력하면 'libc++'가 표시됩니다.

파일 경로는 다음과 비슷하게 보일 수 있습니다:

  • Xcode에서 애플리케이션 대상의 빌드 단계 화면을 열고 라이브러리와 바이너리 연결 섹션을 엽니다.
  • 파일 시스템 폴더(앞서 드래그한 위치)에서 libCBLForestDBStorage.a를 라이브러리와 바이너리 연결 섹션의 목록으로 드래그합니다.
  • 라이브러리 목록 아래의 '+' 기호를 클릭하면 라이브러리 선택기가 열립니다. 필터 필드에 'c++'를 입력하면 'libc++'가 표시됩니다. 이를 선택하고 추가합니다.

  • 이제 프로젝트를 빌드하면 성공할 것입니다.

이제 ForestDB를 사용할 수 있지만 기본 저장소 유형으로 설정되어 있지 않으므로 새 데이터베이스는 여전히 SQLite로 만들어집니다. 이를 변경하려면 데이터베이스를 열기 전에 CBLManager 인스턴스의 storageType 속성을 설정하세요. 예를 들어 녹색으로 표시된 코드를 추가할 수 있습니다:

그 위에 CBLManager 클래스를 참조하여 'storageType' 속성을 ForestDB로 지정할 수 있습니다. 이렇게 하면 iOS 프로젝트에서 이제 ForestDB 스토리지 시스템을 사용할 수 있습니다.

특정 샘플 앱 프로젝트의 경우 'AppDelegate.m' 파일로 이동하여 'createDatabase' 메서드 아래에서 storageType 속성을 지정합니다. 이 프로퍼티는 앱 코드의 구조에 따라 다르지만 일반적으로 애플리케이션 델리게이트 클래스에 있습니다. 프로젝트 또는 코드에서 CBLManager 클래스를 인스턴스화하는 위치로 이동한 다음 바로 뒤에 다음과 같이 storageType 속성을 설정하는 줄을 추가합니다:

이제 모바일 앱에서 ForestDB를 스토리지 엔진으로 사용하도록 애플리케이션을 빌드하고 실행할 준비가 되었습니다.

Android:

Android 프로젝트 내에서 ForestDB 스토어를 활성화하는 데 필요한 단계는 다음과 같습니다.

Android 프로젝트 내에서 모듈 레벨의 build.gradle 파일은 종속성 수준에서 스토리지 엔진으로 ForestDB를 명시적으로 가져오는 것과 함께 Couchbase Lite 버전 1.2를 참조해야 합니다. 이제 종속성에는 다음이 포함됩니다:

그리고 전체적으로 빌드.gradle 파일은 다음과 같아야 합니다:

참고할 수 있습니다. build.gradle 파일을 다운로드합니다. 이제 'MainActivity.java' 파일에서 Android용 Couchbase Lite 1.2의 새로운 기능은 '.setStorageType'과 같은 속성을 지정하는 'DatabaseOptions' 클래스가 있다는 점입니다.

이제 Android 애플리케이션에서 ForestDB를 활성화하려면 'setStorageType' 함수에 ForestDB_Storage 매개 변수를 전달하여 스토리지 유형을 SQLite에서 ForestDB로 전환해야 합니다. 이를 수행하는 방법은 아래를 참조하세요:

아래 GrocerySync 샘플 앱에서는 startCBLite() 메서드 내에서 'setStorageType' 속성을 참조하는 위치를 확인할 수 있습니다:

이제 Couchbase Mobile 1.2에는 새로운 스토리지 엔진으로 ForestDB가 제공되며, 기본 SQLite 솔루션에서 이 기능을 활성화하는 방법을 배웠습니다. 다음 블로그에서 암호화 및 성능 주제를 포함하여 Couchbase Mobile 1.2에 대해 자세히 살펴보겠습니다.  새로운 카우치베이스 모바일 1.2 에서 우리와 소통하고 모바일 개발자 포럼.

작성자

게시자 윌리엄 호앙, 모바일 개발자 옹호자, Couchbase

윌리엄은 카우치베이스의 모바일 엔지니어링/개발자 경험 팀의 개발자 옹호자였습니다. 커피와 코드에 대한 그의 사랑은 오프라인 대면 경험을 즐기면서 모바일의 세계로 넘어왔습니다. 그 전에는 Twitter, BlackBerry, Microsoft에서 개발자 관계 팀에서 일했으며, Research In Motion에서 소프트웨어 임베디드 GPS 엔지니어로 근무하기도 했습니다. 윌리엄은 맥길 대학교에서 전기 소프트웨어 공학을 전공했습니다.

댓글 남기기