최근 동료이자 좋은 친구와 함께 웹캐스트에 공동 출연하게 되어 영광이었습니다, 아론 라보, Sr. 카우치베이스의 개발자 옹호자. Aaron은 30년에 가까운 개발 경력을 보유하고 있으며 모바일 앱 구축에 특화된 전문가로, 이번 세션의 주제 전문가로 완벽해 보였습니다. 모바일 및 IoT 앱을 위한 데이터베이스 전략 - REST가 더 이상 통하지 않는 이유.
이 프로그램에서는 개발자가 데이터용 REST API를 사용하여 모바일 앱을 구축할 때 직면하는 장애물을 파악한 다음, 장애물을 제거할 뿐만 아니라 앱을 더욱 향상시킬 수 있는 대안적 접근 방식인 모바일 데이터베이스 플랫폼에 대해 알아보고자 합니다.
토론 중에 저희는 그 어느 때보다 많은 디바이스와 사용자가 있지만 단순히 앱을 제작한다고 해서 성공할 수 있다는 보장은 없다는 점을 지적했습니다. 실제로 대부분의 앱은 느린 성능, 긴 시작 시간, 데이터 손실 및 충돌 등의 이유로 사용 후 첫 30일 이내에 삭제됩니다. 그리고 이러한 문제의 대부분은 데이터, 더 구체적으로는 앱이 데이터에 액세스하고 처리하는 방식 때문입니다.
상위 5가지 REST API 문제점
데이터에 액세스하고 수정하기 위해 REST API를 사용하는 모바일 개발자는 애플리케이션의 성능과 가용성에 영향을 미치는 문제에 직면하게 됩니다. Aaron은 강연에서 수년 동안 다양한 프로젝트에서 겪은 5가지 구체적인 'REST API 문제'에 대해 이야기했습니다:
"부풀려진" REST API를 재사용하면 앱이 비효율적으로 됩니다.여기서는 웹 앱용 REST API를 모바일 앱용으로 용도 변경해서는 안 되는 이유에 대해 논의했습니다.
스키마 및 데이터 유형 유효성 검사 부족REST에서 입력 및 유효성 검사가 부족하면 앱과 API 간에 데이터가 전송되는 방식과 예상되는 수신 방식이 일치하지 않아 충돌이 발생할 수 있습니다.
앞뒤로 데이터 변환각 요청에 대해 앱, REST API 및 백엔드 데이터베이스 간에 데이터를 지속적으로 변환해야 하므로 코드가 복잡해지고 오류가 발생할 여지가 더 많아집니다.
비즈니스 도메인을 전송 모델로 변환에서 Aaron은 앱에 꼭 맞는 우아하고 복잡한 도메인 모델을 만들었는데, REST API에 맞게 래핑해야만 해서 그 풍부함과 표현력을 모두 잃어버리는 것에 대한 좌절감에 대해 이야기했습니다.
본질적으로 신뢰할 수 없는 인터넷에 대처하기: REST는 인터넷에 의존하므로 앱이 REST를 사용할 때에도 마찬가지입니다. 네트워크 문제로 인한 잠재적 장애 지점이 많고 개발자가 직접 통신 로직과 오류 처리를 구현해야 하므로 아무리 간단한 작업이라도 매우 복잡해질 수 있습니다.
모바일 데이터베이스 플랫폼을 구출하다
문제점을 파악한 후, 데이터 액세스에 대한 대안적인 접근 방식으로 논의를 전환했습니다: 모바일 앱용으로 구축된 데이터베이스 플랫폼.

모바일 데이터베이스 플랫폼은 앱의 데이터 처리를 간소화하고 인터넷의 내재된 불안정성을 해결하기 위한 것입니다.
모바일 데이터베이스가 어떻게 클라우드에서 디바이스를 포함한 엣지까지 데이터 저장 및 처리를 확장하는지에 대해 설명했습니다.
일관성을 유지하면서 REST의 문제점을 제거하고, 인터넷 의존성을 줄이며, 로컬 데이터 처리로 앱의 속도를 높일 수 있는 방법을 살펴봤습니다:
-
- 로컬 데이터 스토리지데이터베이스를 앱에 직접 내장하여 디바이스에서 로컬로 실행되므로 데이터에 액세스하기 위해 인터넷에 연결할 필요가 없어 가동 시간이 향상되고 대기 시간이 단축됩니다.
- 유연한 데이터 모델앱 개발이 도메인 모델을 따르고 관계형 경직성 대신 유연성을 원한다면 JSON 문서 데이터베이스가 훌륭한 모바일 데이터베이스 옵션입니다.
- 데이터 동기화데이터 동기화는 무결성, 정확성, 보안 및 우수한 사용자 경험을 위해 필수적입니다. 또한 앱 업데이트를 더 쉽고 완벽하게 수행할 수 있습니다.
실제로 작동하는 Couchbase Mobile
모바일 데이터베이스 플랫폼의 강력한 성능을 보여주기 위해 다음과 같은 라이브 데모로 전환했습니다. 간단한 데이터 동기화에서 카우치베이스 모바일 클라우드를 통해 인터넷을 사용하거나 인터넷 없이도 P2P를 통해 다른 기기 간에 데이터를 동기화하는 iOS용 샘플 앱입니다.
이 데모는 세션의 하이라이트였으며, 특히 Aaron 클라우드를 통해 그의 아이폰에서 내 아이폰으로 데이터를 동기화했습니다.를 실행한 후 인터넷에 연결되지 않은 시뮬레이터와 iPhone을 동기화했습니다. 이를 통해 카우치베이스 모바일의 데이터 동기화 기능을 간단하게 보여드리고 동기화 기능이 게임, 헬스케어, 레스토랑 POS, 항공사 기내 서비스 등과 같은 사용 사례에 어떻게 적용되는지 설명해드렸습니다.
Couchbase Mobile 제품 스택을 설명하는 것으로 세션을 마무리했습니다:
-
- 카우치베이스 카펠라: SQL, 검색, 이벤트 및 분석을 지원하는 완전 관리형 분산형 NoSQL 클라우드 서비스형 데이터베이스(DBaaS)입니다.
- 카펠라 앱 서비스: 모바일 및 엣지 앱의 양방향 동기화, 인증 및 액세스 제어를 위한 완전 관리형 서비스
- 카우치베이스 라이트: 임베드 가능한 경량 버전의 Couchbase 데이터베이스
Capella 앱 서비스는 스택을 연결하여 연결이 허용되는 대로 엣지 기기에서 실행되는 백엔드 Capella DBaaS와 Couchbase Lite 간에 데이터를 동기화하고, 네트워크 중단 시에는 로컬 데이터 처리 덕분에 앱이 계속 작동합니다.
개발자 테이크아웃
참석한 모든 개발자에게 도움이 될 수 있도록 4부로 구성된 코드 검토 간단한 데이터 동기화 데모 앱의 비하인드 스토리를 10분 분량의 짧은 클립으로 담은 동영상 시리즈입니다.
이 시리즈에서는 앱 개발자인 Wayne Carter가 코드를 자세히 살펴보고 Couchbase Mobile을 사용하여 동기화 기능을 구축한 방법을 설명합니다.
