모바일 앱용 데이터베이스를 선택하는 방법

오늘날의 소비자는 모바일 애플리케이션에 크게 의존하고 있습니다. 앱이 작동하지 않으면 사용자는 사용하지 않을 것입니다. 간단합니다. 

모바일 애플리케이션을 위해 인터넷 연결을 요구하는 것은 과거에 살고있는 것입니다. 앱이 연결에 의존하는 경우 경험이 느리고 예측할 수 없을 가능성이 높습니다.

네트워크에 대한 의존을 피하기 위해 데이터베이스 및 클라우드 서비스 제공 업체는 모바일 제품에 동기화 및 오프라인 기능을 추가했습니다. Couchbase의 Couchbase Mobile, Microsoft의 Azure Mobile Services, Amazon의 Cognito 및 Google의 Firebase와 같은 솔루션은 앱이 온라인과 오프라인 모두에서 작동 할 수 있도록하는 가장 중요한 동기화를 제공합니다. 

사용 가능한 제품이 너무 많은데 모바일 개발자는 올바른 애플리케이션에 적합한 기술을 어떻게 선택합니까? 모바일 솔루션을 평가할 때 가장 중요한 6 가지 주요 기준은 플랫폼 지원, 보안, 모델링 유연성, 충돌 해결, 동기화 최적화 및 토폴로지 지원입니다.

올바른 클라이언트 플랫폼 지원

어떤 클라이언트 플랫폼이 지원됩니까? iOS와 Android를 넘어서야합니까? 임베디드 시스템, IoT 장치 및 웨어러블과 같이 전통적으로 모바일로 간주되지 않는 플랫폼을 지원하려고합니까? Windows 및 OS X 데스크탑과 랩탑도 지원하려고합니까? 오늘날 대부분의 애플리케이션은 모바일에서 시작한 다음 기본 데스크톱 또는 웹 컴패니언 앱을 추가합니다. 현재뿐만 아니라 미래에도 필요한 플랫폼 지원을 기반으로 데이터베이스 및 클라우드 옵션을 평가하는 것이 중요합니다.

저장 및 이동중인 데이터 보호

동기화되고 분산 된 스토리지를 사용하는 경우 데이터에 안전하게 액세스, 전송 및 저장하는 것이 중요합니다. 이를 완전히 다루려면 인증, 미사용 데이터, 이동중인 데이터 및 읽기 / 쓰기 액세스를 처리해야합니다. 

인증은 유연해야하며 표준, 공용 및 사용자 지정 인증 공급자를 사용할 수 있어야합니다. 익명 액세스에 대한 지원도 많은 앱에서 중요합니다. 서버와 클라이언트에 저장된 데이터의 경우 파일 시스템 암호화와 데이터 수준 암호화를 모두 지원해야합니다. 이동중인 데이터의 경우 통신은 SSL 또는 TLS와 같은 보안 채널을 통해 이루어져야합니다. 데이터 읽기 / 쓰기 액세스의 경우 데이터베이스는 사용자가 액세스하고 수정할 수있는 데이터에 대한 세부적인 제어를 제공해야합니다.

유연한 데이터 모델 사용

데이터 모델링 유연성은 앱에 대한 모델 요구 사항을 효율적이고 적절한 방식으로 표현할 수 있는지 여부를 결정합니다. 더 중요한 점은 요구 사항이 앞으로 변경됨에 따라 모델을 효율적으로 발전시킬 수 있는지 여부를 나타냅니다. 오늘날의 모바일 앱은 매우 빠른 속도로 진화하기 때문에 모델 유연성은 모바일에서 특히 중요합니다.

관계형 데이터베이스는 앱에 강력한 데이터 일관성이 필요하거나 데이터가 높은 관계형 인 경우 여전히 좋은 선택입니다. 그러나 이러한 요구 사항을 완화 할 수있는 경우 NoSQL 데이터베이스는 훨씬 더 큰 유연성을 제공합니다.

데이터 충돌을 적절하게 해결

모바일 플랫폼 또는 분산 데이터 쓰기를 사용하는 다른 플랫폼의 경우 동일한 데이터를 여러 장치에서 동시에 수정하여 충돌을 일으킬 수 있습니다. 시스템은 이러한 충돌을 해결하기위한 메커니즘을 지원해야합니다. 충돌 해결 메커니즘의 유연성은 중요하며 장치, 클라우드, 외부 시스템 및 사람이 자동으로 해결을 허용해야합니다. 

충돌 처리는 시스템마다 다릅니다. 예를 들어, Couchbase Mobile은 기본 해결 규칙이 "가장 활발한 분기가 이깁니다"라는 수정 트리를 사용합니다. 이것은 Git과 같은 개정 제어 시스템에서 취하는 것과 동일한 접근 방식이며 "최근 변경 사항이 승리"접근 방식을 사용하는 클록 기반 시스템과는 매우 다릅니다. 클록 기반 해결 시스템은 장치 간 클록 차이 문제로 인해 문제가 있습니다. Couchbase는 또한 사용자 정의 (클라이언트 또는 서버의 코드를 통해)를 허용하여 3 방향 병합과 같은보다 정교한 충돌 해결을 수행합니다.

적시에 동기화

충돌을 해결할 수있는 것 외에도 시스템 동기화 방법을 제어 할 수있는 기능도 중요합니다. 여기에는 복제 전략, 조건부 복제 및 복제 필터링이 포함됩니다. 복제 전략의 경우 스트리밍, 폴링, 일회성, 연속 및 푸시에 대한 지원을 찾으십시오. 또한 이러한 전략의 조합을 사용할 수 있어야합니다. 조건부 복제의 경우 기기가 Wi-Fi에 연결되어 있거나 배터리 전원이 충분한 경우와 같은 특정 조건에서만 데이터를 복제해야 할 수 있습니다. 복제 필터링의 경우 일부 데이터는 복제 할 수 있지만 다른 데이터는 복제하지 않아야합니다.

올바른 파티션과 동기화

파티션 요구 사항을 충족하려면 구성 가능한 동기화 토폴로지 지원이 필요합니다. 즉, 특정 부품이 오프라인으로 작동 할 수 있도록 시스템을 구성 할 수있는 기능이 필요합니다. 가장 일반적인 토폴로지는 스타입니다. 스타 토폴로지에서 각 장치는 장치가 오프라인으로 작동 할 수 있도록하는 지점 간 연결을 사용하여 중앙 허브에 연결됩니다. 트리 및 메시와 같은 기타 일반적인 토폴로지를 사용하면 시스템의 다른 부분 (장치 외에)이 오프라인으로 작동 할 수 있습니다. 장치가 피어-투-피어 통신을 수행하고 데이터를 직접 동기화 할 수있는 클라우드리스 토폴로지에 대한 지원을 원할 수도 있습니다. 

POS (Point of Sale) 시스템은 트리 토폴로지의 좋은 예입니다. POS 시스템은 오프라인 매장이 시스템의 나머지 부분과 연결이 끊어져도 계속 운영되어야합니다. 이 구성에서 POS 장치는 글로벌 시스템과 동기화되는 상점 수준 데이터베이스와 동기화됩니다. 따라서 매장은 글로벌 시스템에 대한 연결에 관계없이 POS 장치와 데이터를 계속 운영하고 동기화 할 수 있습니다.

동기화 구축 또는 구매 여부

앱에 동기화를 추가하려는 경우 솔루션을 빌드해야하는지 아니면 제공 업체로부터 가져와야하는지 결정해야합니다. 동기화를 올바르게 구축하는 것은 분산 컴퓨팅의 모든 복잡성을 처리해야하기 때문에 매우 어렵고 비용이 많이 듭니다. 대부분의 앱의 경우 데이터 동기화를 특수 스택에 맡기고 앱 기능에 집중하는 것이 좋습니다. 핵심은 유연한 솔루션을 선택하는 것입니다. 빌드 경로를 따라가는 경우 동기화를 빌드하고 위에 나열된 모든 것을 지원하는 데 상당한 시간과 리소스를 사용할 준비를하십시오.

모바일 동기화 및 스토리지 제공 업체를 선택할 때 위의 기준을 완전히 측정하는 것은 인터넷 연결 유무에 관계없이 항상 작동하는 안전하고 유연하며 관리 가능한 모바일 앱을 구축하는 데 중요합니다. 

Wayne Carter는 Couchbase의 수석 모바일 설계자로서 회사의 모바일 솔루션에 대한 비전, 전략 및 개발을 주도하고 있습니다. Couchbase 이전에 Wayne은 CRM 및 SaaS 제품 라인 내에서 모바일 혁신을 주도하는 설계자로 Oracle에서 7 년을 보냈습니다. 그는 Oracle에서 일하면서 11 개의 특허를 출원 중입니다. Oracle에 입사하기 전에 Wayne은 Siebel에서 CRM 제품 라인을 담당하는 기술 리더십 직책을 맡았습니다.

New Tech Forum은 새로운 엔터프라이즈 기술을 전례없이 깊이 있고 폭넓게 탐구하고 논의 할 수있는 장을 제공합니다. 선택은 우리가 중요하고 독자들에게 가장 큰 관심을 가지고 있다고 생각하는 기술을 선택하여 주관적입니다. 는 게시를위한 마케팅 자료를 허용하지 않으며 제공되는 모든 콘텐츠를 편집 할 권리를 보유합니다. 모든 문의 사항은 [email protected]으로 보내주십시오.