Desde o primeiro lançamento oficial em 2014, Couchbase Mobile O Couchbase Mobile possibilitou uma ampla variedade de casos de uso com diferentes graus de escala e complexidade. Apesar da variação, há alguns padrões comuns de uso do Couchbase Mobile.
Elaborei uma série de publicações no blog que abordam alguns padrões de uso comuns e dicas e práticas recomendadas para lidar com esses casos de uso. Nesta publicação do blog, discutiremos padrões comuns se você estiver desenvolvendo aplicativos com Couchbase Lite. Esta publicação pressupõe que você esteja familiarizado com os fundamentos do Couchbase Mobile. Se precisar de uma introdução, consulte os documentos em Couchbase Lite.
Padrão 1: lidar com um grande volume de dados públicos e não específicos do usuário

Com o suporte do Couchbase Lite para pré-construído bancos de dados, você pode pré-carregar o aplicativo com dados em vez de sincronizá-los a partir do Sync Gateway durante a inicialização.
Caso de uso
Evitar a sincronização inicial ajudará a reduzir o tempo de inicialização e os custos de transferência de rede. Isso normalmente se aplica a dados públicos/compartilhados, não específicos do usuário, que são em sua maioria estáticos. Mesmo que os dados não sejam estáticos, você ainda pode aproveitar os benefícios de pré-carregar os dados e sincronizar apenas as alterações na inicialização.
Abordagem
-
- Criar um não criptografado cópia do banco de dados .cblite com os dados relevantes. Há duas opções para criar um .cblite
- Use um aplicativo baseado no Couchbase Lite para extrair dados relevantes por meio do Sync Gateway. Isso criará uma instância de um aplicativo
cblite
(com extensão .cblite2). O local do arquivo gerado é específico da plataforma e pode ser obtido na seçãoDatabaseConfiguration
objeto. - Use o código aberto, couchbaselabs cblite ferramenta. Essa ferramenta permite que você carregue dados de uma variedade de fontes.
- Use um aplicativo baseado no Couchbase Lite para extrair dados relevantes por meio do Sync Gateway. Isso criará uma instância de um aplicativo
- Carregue o .cblite no aplicativo de duas maneiras. Você tem duas opções
- A primeira opção é agrupar o arquivo .cblite2 com o aplicativo.
- A segunda opção é hospedar o arquivo .cblite em uma CDN, de onde ele pode ser recuperado pelos clientes na inicialização. Embora ainda exista o custo de download do arquivo de banco de dados, haverá uma economia considerável nos custos de largura de banda e latência ao fornecê-lo a partir de uma CDN.
- Depois de carregado, siga as etapas para copy() o arquivo .cblite2 empacotado no aplicativo. Isso criará uma instância do banco de dados exclusiva para o cliente
- Criar um não criptografado cópia do banco de dados .cblite com os dados relevantes. Há duas opções para criar um .cblite
Padrão 2: segregação de dados locais do cliente e sincronizados

Você pode oferecer suporte a várias instâncias do Couchbase Lite em seu aplicativo. Embora não haja limites rígidos para o número de instâncias de banco de dados, há limites e restrições práticas, por exemplo, você não pode fazer uniões entre bancos de dados.
Caso de uso
Um caso de uso comum de vários bancos de dados no aplicativo é separar os dados que são locais apenas para o cliente em uma instância de banco de dados separada do restante dos dados. Há outras maneiras de impor restrições somente locais, como veremos em um padrão separado discutido posteriormente. No entanto, a segregação dos dados permitiria que os aplicativos aplicassem o controle de acesso no nível do banco de dados, garantindo que as consultas e as operações do banco de dados tivessem o escopo do nível do banco de dados. Por exemplo, você pode excluir o banco de dados somente local sem afetar o restante dos dados sincronizados.
Abordagem
-
- Crie uma instância do banco de dados Couchbase Lite para dados somente locais. O banco de dados pode ser criado ou copiado de uma cópia empacotada de um banco de dados pré-construído
- Não configure nenhum replicador para o banco de dados somente local
Padrão 3: suporte ao aplicativo multiusuário

Os aplicativos com o Couchbase Lite podem oferecer suporte a vários usuários. Esse é outro padrão que é ativado com a capacidade de oferecer suporte a várias instâncias do Couchbase Lite em seu aplicativo. Aplicativos com vários usuários impõem requisitos rigorosos de segregação de dados e controle de acesso a dados para garantir que os usuários não acessem ou pisem nos dados uns dos outros, de forma deliberada ou inadvertida.
Caso de uso
Aplicativos multiusuários são comuns, especialmente em cenários em que os dispositivos são compartilhados.
Abordagem
-
- Crie uma instância separada do banco de dados do Couchbase Lite para cada usuário
- Embora não seja obrigatório, cada instância do banco de dados pode estar em uma pasta específica do usuário, cujo local pode ser especificado por meio do parâmetro DatabaseConfiguration no momento da criação do banco de dados. Se desejar, cada banco de dados do Couchbase Lite pode ser criptografado usando a senha/chave específica do usuário.
- Os dados comuns compartilhados entre os usuários podem ser armazenados em uma instância compartilhada do banco de dados em uma pasta "comum".
- Ao alternar entre usuários ou "fazer logoff", verifique o seguinte
Padrão 4: compartilhamento de dados entre aplicativos em um dispositivo

Os aplicativos móveis são executados em um ambiente de sandbox. Portanto, um determinado aplicativo só tem acesso ou só pode modificar seus próprios dados. No entanto, em determinadas plataformas, existem opções que facilitam o compartilhamento de recursos entre aplicativos com os direitos corretos. Usando esses mecanismos que são especificados pela plataforma, uma instância do banco de dados Couchbase Lite pode ser compartilhada por vários aplicativos. Isso está de acordo com as diretrizes prescritas pela plataforma.
Configuração | Implicações |
---|---|
Todos os leitores, nenhum escritor | OK |
Um único escritor, vários leitores | OK - sem notificações de alteração entre processos |
Vários escritores | Não testado. O banco de dados será bloqueado com vários acessos simultâneos (YMMW*) |
Caso de uso
Vários aplicativos do mesmo fornecedor podem estar trabalhando com os mesmos dados. Em vez de cada aplicativo manter uma cópia idêntica dos dados, o compartilhamento do banco de dados reduzirá os custos de transferência e de armazenamento local no dispositivo.
Abordagem
-
- A ideia é hospedar o banco de dados em uma pasta ou local no sistema de arquivos que seja acessível aos aplicativos que o compartilham. A configuração dos aplicativos para compartilhar dados é uma implementação em nível de plataforma
- No iOS, você usaria Grupos de aplicativos semelhante ao que é descrito neste blog para configurar o acesso ao recurso compartilhado do Couchbase Lite a partir de vários aplicativos.
- No Android, você pode aproveitar Provedores de conteúdo para permitir o compartilhamento de dados do Couchbase Lite entre aplicativos
- A ideia é hospedar o banco de dados em uma pasta ou local no sistema de arquivos que seja acessível aos aplicativos que o compartilham. A configuração dos aplicativos para compartilhar dados é uma implementação em nível de plataforma
O que vem a seguir
Nesta postagem, abordamos alguns padrões de uso comuns no Couchbase Lite. Continuaremos a publicar postagens descrevendo outras dicas e recomendações para resolver problemas comuns.
Se tiver dúvidas ou comentários, deixe um comentário abaixo ou entre em contato comigo pelo Twitter @rajagp ou envie-me um e-mail priya.rajagopal@couchbase.com. O Fóruns do Couchbase são outro bom lugar para entrar em contato com perguntas.
Agradecimentos
Gostaria de agradecer as contribuições da equipe de desenvolvimento do Couchbase Lite, especificamente Jim Borden por sua avaliação desta postagem do blog.