Hoje estamos anunciando a disponibilidade geral do Couchbase Mobile 2.5nossa mais avançada plataforma de dados NoSQL para aplicativos móveis até o momento. Esta versão baseia-se na sólida base arquitetônica que foi estabelecida com o lançamento do Couchbase Mobile 2.0 no ano passado. Com uma infinidade de novos recursos e aprimoramentos, esta versão torna mais fácil do que nunca o desenvolvimento de aplicativos móveis com armazenamento local incorporado seguro e recursos avançados de sincronização.
Couchbase Mobile amplia o poder do Couchbase Server, trazendo recursos de banco de dados NoSQL distribuídos para a borda, enquanto gerencia e sincroniza com segurança os dados de qualquer nuvem para dispositivos de borda, bem como diretamente entre dispositivos de borda. Nesta postagem, discuto os principais recursos do Couchbase Lite e Gateway de sincronização. Além dos recursos discutidos aqui, há uma série de correções de bugs e aprimoramentos menores que são discutidos nas notas de versão específicas da plataforma.
Economia de largura de banda usando a sincronização delta
Para implementações móveis em que a largura de banda da rede é limitada e os planos de dados são caros, o recurso de sincronização delta aprimora o protocolo de replicação sincronizando apenas as partes do documento que foram alteradas, o que resulta em uma economia significativa no consumo de largura de banda. Isso se aplica à sincronização de dados entre aplicativos móveis habilitados para o Couchbase Lite e o Sync Gateway, bem como para sincronização ponto a ponto entre clientes do Couchbase Lite.
Para entender o benefício desse recurso, considere o caso de um aplicativo de evento móvel em que os participantes podem acessar detalhes da programação do evento, biografias dos palestrantes, detalhes do local, mapas etc. Os detalhes do evento são sincronizados e armazenados localmente no dispositivo móvel do usuário para que os dados estejam sempre disponíveis e os aplicativos sejam altamente responsivos. No dia do evento, um palestrante perde o voo e um novo palestrante é agendado para fazer a palestra. Essa mudança de última hora no palestrante precisa ser sincronizada com os aplicativos por meio de uma conexão Wi-Fi de conferência notoriamente congestionada.
Com a sincronização delta, somente as alterações relevantes nos documentos são atualizadas, garantindo que todos os participantes recebam as atualizações, apesar das restrições de largura de banda. A alternativa à sincronização delta é modelar os dados de forma que as partes altamente mutáveis dos dados sejam separadas em seus próprios documentos. Isso pode não ser prático em todos os casos.
O impacto da economia aumenta significativamente com tamanhos maiores de documentos. Isso lhe dá a flexibilidade de modelar seus documentos da maneira que melhor atenda às necessidades de seus aplicativos. Há custos de armazenamento e tempo de replicação a serem considerados ao ativar a sincronização delta.
Para obter mais detalhes sobre a sincronização delta e como você pode ativá-la em suas implementações, consulte nosso documentação páginas.
Previsões em tempo real na borda usando a Predictive Query
O aprendizado de máquina (ML) na borda oferece vários benefícios, incluindo previsões mais rápidas em tempo real, maior segurança/privacidade e suporte off-line. Há uma crescente ecossistema de modelos de aprendizado de máquina otimizados para dispositivos móveis que ocupam pouco espaço na memória e são otimizados para o desempenho no dispositivo. Além disso, todas as principais plataformas móveis incluem suporte de hardware e software para aprendizado de máquina na borda, incluindo CoreML no iOS, TensorFlow Lite no Android, e Windows ML no Windows. Portanto, é lógico que os aplicativos Couchbase Lite aproveitem esses avanços da plataforma e do ecossistema para executar previsões em tempo real diretamente no banco de dados.
A nova API de consulta preditiva do Couchbase Lite, disponível no Developer Preview, permite que os aplicativos móveis aproveitem modelos de aprendizado de máquina pré-treinados e otimizados para dispositivos móveis para executar consultas preditivas em relação aos dados do seu banco de dados de forma conveniente, rápida e sempre disponível. Para fazer isso, basta registrar um modelo de aprendizado de máquina por meio da API de consulta preditiva e o Couchbase Lite usa o modelo registrado para executar as previsões. O Couchbase Lite também pode criar um índice de previsão, que funciona efetivamente como um cache dos resultados da previsão. Ao criar um índice de previsão durante o tempo de gravação, os usuários podem esperar ver várias ordens de magnitude na melhoria de desempenho de suas consultas indutivas.
Um exemplo de aplicativo é um aplicativo de reconhecimento facial usado para encontrar a correspondência mais próxima entre uma imagem carregada no aplicativo, por exemplo, por meio da câmera do dispositivo e o conjunto de imagens armazenadas no banco de dados do Couchbase Lite. A API de consulta preditiva permite que os usuários criem um índice de previsão da "impressão digital" da imagem, um vetor significativo da imagem, usando o modelo de ML registrado. Sempre que uma nova imagem é carregada no aplicativo, ele pode usar rapidamente as novas funções de distância do Couchbase Lite para realizar correspondências de similaridade entre a impressão digital carregada e as impressões digitais de imagens previamente armazenadas em cache no índice de previsão.
Com a nova API de consulta preditiva, continuamos a demonstrar nossa liderança de pensamento e inovação na área de armazenamento de dados móveis e mal podemos esperar para ver os novos recursos que você ativará em seus aplicativos móveis com esse recurso.
Para saber mais sobre a nova API de consulta preditiva, confira nossa documentação.
Couchbase Lite
Maior capacidade de suporte usando o suporte de registro aprimorado
Melhoramos a capacidade de oferecer suporte e depurar o Couchbase Lite fornecendo uma interface de registro unificada opcional que oferece três modos de registro.
Registro contínuo baseado em arquivos
Quando ativado, o Couchbase Lite registra continuamente os dados em arquivos correspondentes a quatro níveis de registro: erro, aviso, informação e detalhado. Os arquivos de log são rotacionados automaticamente e você pode controlar o número máximo de arquivos de log em cada nível. Por padrão, o Couchbase Lite registra os dados em um formato binário altamente eficiente, mas também pode ser configurado para usar um formato baseado em texto.
Registro personalizado
Os aplicativos podem registrar uma função de retorno de chamada que o Couchbase Lite invoca com dados de registro. Os aplicativos podem processar os dados de log conforme necessário e/ou alimentá-los em qualquer estrutura de log personalizada de sua escolha. Isso proporciona aos aplicativos a flexibilidade de que precisam, permitindo que usem qualquer estrutura de log personalizada.
Registro de console
Esse recurso também está disponível nas versões anteriores do Couchbase Lite e refere-se aos dados que são registrados na janela do console de depuração. Normalmente, isso só é ativado no modo de depuração. Ao separar os arquivos de log destinados ao suporte do recurso de log baseado no console, os usuários têm a flexibilidade de ajustar o que é registrado no console, podendo até desativá-lo, sem afetar o suporte.
Para saber mais sobre os recursos aprimorados de registro, consulte nosso documentação.
Eventos de replicação com granularidade fina
No Couchbase Mobile 2.1, os aplicativos podiam escutar eventos que notificavam os aplicativos sobre a situação geral do status de replicação, como ocupado, conectando, parado etc. Embora isso fosse útil para informar os usuários do aplicativo sobre o status geral da sincronização, não era suficiente se os usuários do aplicativo estivessem interessados apenas no status da sincronização de um conjunto específico de documentos. Com o Couchbase Lite 2.5, os aplicativos podem se registrar para receber callbacks sobre o status de replicação push ou pull de documentos individuais. Esse evento de granularidade fina permite que os aplicativos sejam notificados quando um documento tiver sido enviado, retirado ou se houver um erro na replicação.
Esse nível de notificação refinada tem vários casos de uso convincentes. Por exemplo, os aplicativos agora podem expirar um documento do armazenamento local após um envio. Quando o aplicativo é notificado por meio de eventos replicados de que o documento foi enviado, ele pode definir um cronômetro de expiração para o documento ou eliminá-lo imediatamente. Isso ajuda a gerenciar o tamanho do banco de dados local, removendo documentos locais depois que eles são sincronizados, e também oferece suporte a casos de uso em que as diretrizes de privacidade de dados exigem que os documentos que contêm dados confidenciais não residam no dispositivo após um envio.
Para saber mais sobre como se registrar em eventos de replicação, consulte nosso documentação.
Replicação filtrada com granulação fina
Além da filtragem baseada em canais, que está disponível no Couchbase Mobile 2.x, os aplicativos agora podem registrar filtros para realizar uma filtragem refinada em replicações push e pull.
Filtros de pressão permitir que os dispositivos móveis controlem os documentos que são sincronizados com a nuvem e com outros dispositivos. Por exemplo, considere um aplicativo de coleta de dados de campo em que apenas os documentos com status de coleta "concluído" devem ser sincronizados com o servidor. Em outras palavras, o documento não deve ser enviado para a nuvem durante o processo de coleta de dados (ou seja, sempre que o usuário tocar em "salvar"). A filtragem por push também preserva a largura de banda.
Filtros de puxarOs filtros pull, por outro lado, são usados para garantir que somente os documentos extraídos do endpoint remoto e que atendem ao filtro específico sejam armazenados no banco de dados local. Embora os filtros de extração não controlem o que realmente é extraído pelo cabo, eles atuam como um validador local. Isso é especialmente útil na sincronização ponto a ponto, que não oferece suporte à filtragem baseada em canal.
Para saber mais sobre como aplicar a filtragem de granulação fina, confira nosso documentação.
Data de validade dos documentos locais
Reintroduzimos o suporte ao tempo de vida (TTL) nos documentos do Couchbase Lite! Com o novo recurso de data de expiração, os aplicativos podem definir um valor TTL nos documentos do Couchbase Lite. Após a expiração, os documentos serão eliminados do banco de dados local. A eliminação afeta apenas o banco de dados do cliente local e não será replicada para outros pontos de extremidade. Esse recurso tem muitos usos. Por exemplo, se você tiver documentos no Couchbase Lite com um tempo de vida conhecido, poderá definir a opção data de expiração nos documentos para garantir que eles sejam eliminados após a expiração, mesmo quando o aplicativo estiver off-line.
Para saber mais sobre esse recurso, confira nossa documentação.
Eliminação automática de documentos removidos
Quando um usuário perde o acesso a um documento porque ele foi removido de todos os canais do usuário, uma extração subsequente do documento do Sync Gateway produz uma notificação de remoção de documento. O novo recurso de remoção automática no Couchbase Lite removerá os documentos que foram removidos de todos os canais do usuário. Esse é um recurso conveniente que garante que os documentos aos quais os usuários não têm mais acesso sejam automaticamente removidos do banco de dados local.
Para saber mais sobre esse recurso, confira nosso documentação.
Funções de data/hora
Com o Couchbase Lite 2.5, ampliamos a API de consulta com um conjunto de conveniência de data/hora funções. As propriedades de data criadas no Couchbase Lite são armazenadas internamente como ISO 8601 mas os documentos criados externamente podem ter os valores de data especificados em uma cadeia de caracteres formatada época/Unix carimbo de data/hora. As novas funções de data/hora oferecem uma maneira conveniente de converter entre os formatos de data ISO 8601 e de época.
Gateway de sincronização
Monitoramento do Sync Gateway
Expandimos significativamente os recursos de monitoramento do Sync Gateway para incluir um conjunto abrangente de estatísticas que fornecem informações importantes sobre o estado da sua implantação. As estatísticas ajudam a identificar a causa de problemas comuns de sincronização, além de garantir que o Sync Gateway esteja funcionando normalmente. As estatísticas formatadas em JSON estão disponíveis por meio da seção Ponto de extremidade REST _expvar. Além disso, as estatísticas são registradas para aumentar a capacidade de suporte da plataforma. Você também pode exportar a saída JSON para qualquer plataforma de monitoramento de sua escolha.
Consulte nosso documentação para obter uma lista completa das estatísticas.
Próximas etapas
Nesta postagem, mostramos um pouco do que é possível fazer com alguns dos novos recursos do Couchbase Mobile 2.5. 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.5 hoje mesmo em nosso página de downloads. O Couchbase Server Enterprise Edition é gratuito para download e uso para fins de desenvolvimento. Você pode saber mais em nosso O que há de novo página.
Recursos:
Couchbase Mobile
Couchbase Lite
- O que há de novo
- Documentação do desenvolvedor
- Notas de versão do iOS
- Notas de versão do Android
- .NET Notas de versão
Gateway de sincronização
Fóruns do Couchbase são um bom lugar para entrar em contato com perguntas.
Se tiver dúvidas ou comentários, deixe um comentário abaixo ou entre em contato comigo pelo e-mail ou em Twitter.