Hoje, estamos anunciando a disponibilidade geral do Couchbase Mobile 2.6. Essa versão vem na esteira de Couchbase Mobile 2.5 que lançamos em abril deste ano.
Este é o primeiro de uma série de lançamentos do Couchbase Mobile focados e criados para fins específicos que nos permitirão fornecer recursos de alta prioridade em tempo hábil, acompanhando as necessidades de desenvolvimento ágil que os desenvolvedores de dispositivos móveis esperam
Esta versão apresenta dois recursos muito aguardados: a resolução de conflitos personalizada com mesclagem bidirecional no Couchbase Lite e o gerenciamento avançado de cache no Sync Gateway.
O Couchbase Mobile amplia o poder da Plataforma Couchbase para a borda, gerenciando e sincronizando dados com segurança, de qualquer nuvem para dispositivos de borda ou diretamente entre dispositivos de borda. Nesta postagem, discuto os principais recursos das plataformas Couchbase Lite e Sync Gateway. Além dos recursos discutidos aqui, há uma série de correções de bugs e pequenos aprimoramentos que são discutidos na seção específica da plataforma Notas de versão.
Couchbase Lite
Resolução de conflitos personalizada
No Couchbase Mobile 2.0, introduzimos Resolução automática de conflitos ou "Conflict-Free Mode", em que os conflitos são tratados automaticamente pelo Couchbase Lite no momento da gravação, de modo que não há efetivamente nenhuma revisão de documento conflitante no banco de dados do Couchbase. O Couchbase Lite aplica uma política padrão de resolução de conflitos para lidar com os conflitos que são o resultado de um gravação local ou o resultado de gravações que chegam por meio de um replicação. Com a Resolução Automática de Conflitos, os desenvolvedores de aplicativos nunca mais precisarão se preocupar com conflitos não resolvidos que incham o banco de dados.
No Couchbase Mobile 2.6, aprimoramos o suporte à Resolução Automática de Conflitos, permitindo que os desenvolvedores de aplicativos definam sua própria política de resolução de conflitos personalizada que pode substituir a política padrão. Embora as políticas padrão de resolução de conflitos funcionassem para a grande maioria dos casos de uso, reconhecemos que há casos de uso em que o vencedor de duas revisões conflitantes pode ser determinado por regras comerciais que somente o aplicativo conhece.
Para oferecer suporte a esse recurso, os aplicativos devem registrar uma função de resolução/manipulador de conflitos no Couchbase Lite, que deve selecionar o vencedor de duas revisões conflitantes. Quando o sistema encontra um conflito, o sistema chama a função de resolução/manipulador de conflitos registrada com as revisões conflitantes e salva a revisão vencedora retornada pela função no banco de dados. Como no caso da política padrão de resolução de conflitos, não há conflitos salvos no banco de dados.
Com esse aprimoramento, o Couchbase Mobile oferece suporte abrangente à resolução de conflitos, que é a base dos sistemas de bancos de dados distribuídos com sincronização.
A figura abaixo é uma visão geral de alto nível de como os conflitos são tratados no 2.6.

É claro que há muito mais a ser feito em termos de como as exceções e os erros são tratados. Para saber mais sobre esse recurso, confira nosso documentação
Gateway de sincronização
Gerenciamento avançado de cache
Na versão 2.6, apresentamos alguns aprimoramentos importantes no gerenciamento de cache do Sync Gateway que melhorarão significativamente o suporte ao dimensionamento vertical, principalmente à medida que as implantações forem dimensionadas para dezenas ou centenas de milhões de canais.
O Sync Gateway mantém alguns caches para melhorar os tempos de resposta durante o processamento das solicitações recebidas. O cache de canal é um cache de canais e metadados de documentos associados aos canais.
Até a versão 2.6, o cache de canais crescia ilimitadamente com o número de canais. Isso não era um problema específico para implantações típicas de centenas de milhares de canais. No entanto, à medida que as implementações eram dimensionadas para dezenas ou centenas de milhões de canais, o tamanho do cache de canais crescia sem limites, exigindo recursos de memória significativos.
Na versão 2.6, alteramos a política de gerenciamento do cache de canais para que os canais antigos e não utilizados sejam automaticamente removidos e somente os canais ativos sejam mantidos no cache. Além disso, tornamos o tamanho do cache de canal configurável e expusemos várias configurações avançadas de cache de canal que permitirão aos usuários ajustar adequadamente o cache para suas implantações.
Além do cache de canais, o Sync Gateway mantém um cache de revisões, que é o cache de corpos de documentos das revisões acessadas mais recentemente. Na versão 2.6, os usuários podem desativar completamente esse cache. Isso é particularmente relevante em implantações muito grandes, com centenas de milhões de documentos, em que a memória disponível é limitada e a taxa de acerto do cache deve ser baixa.
Para saber mais sobre os aprimoramentos de cache no Sync Gateway, confira nosso documentação
O que vem a seguir
Nesta postagem, abordamos dois recursos principais do Couchbase Mobile 2.6. Consulte nossa documentação para obter uma lista completa de todos os aprimoramentos e correções de bugs. Você pode fazer o download do Couchbase Mobile 2.6 hoje mesmo em nosso página de downloads. Nossa Enterprise Edition também é gratuita para download e uso para fins de desenvolvimento. Você pode saber mais em nosso O que há de novo página.
Aqui estão alguns links diretos:
- Couchbase Lite
- Gateway de sincronização
- Blogs do Couchbase Mobile
- Fóruns do Couchbase
Se tiver dúvidas ou comentários, deixe um comentário abaixo ou entre em contato comigo pelo Twitter ou enviar-me um e-mail