O que é o IBM Cloudant?
IBM Cloudant é um banco de dados como serviço DBaaS ) com uma API HTTP que é executada no IBM Cloud para armazenar dados JSON de forma segura, flexível e com alta disponibilidade para aplicativos sempre ativos.
o IBM Cloudant é um parente próximo do banco de dados de código aberto Apache CouchDB e é executado como um serviço para que os clientes não precisem se preocupar com o gerenciamento de servidores, redes, balanceamento de carga, atualizações de banco de dados, ajuste de banco de dados ou taxas de licença - ele é simplesmente consumido por meio de uma API HTTP criptografada e cobrado por uso e volume de dados.
Uma instância IBM Cloudant reside em uma região IBM Cloud e armazena documentos JSON em coleções chamadas bancos de dados. Cada documento JSON em um banco de dados é armazenado em triplicata (em várias zonas de disponibilidade, quando suportado) para permitir que IBM Cloudant permaneça disponível mesmo durante interrupções na zona de disponibilidade.
Por fim, os dados podem ser replicados bidirecionalmente entre regiões, para permitir que os aplicativos sobrevivam a falhas regionais com o mínimo de tempo de inatividade.
Consulta e indexação
IBM Cloudant tem várias opções de consulta:
- Recuperação eficiente de documentos individuais usando o campo primário "
_id
do documento. - VisualizaçõesMapReduce para seleção e agregação de dados por chaves secundárias definidas pelo cliente, criadas a partir de valores dentro dos corpos dos documentos.
- Índices de pesquisa baseados noApache Lucene para correspondência de texto livre ou consultas em um ou mais campos indexados nomeados.
- IBM Cloudant Query, uma linguagem de consulta declarativa MongoDB-like, que se baseia em visualizações MapReduce, índices de pesquisa e índice primário para fornecer uma API de nível superior.
Benefícios
Flexibilidade
Diferentemente de um banco de dados relacional, o esquema de um documento IBM Cloudant não precisa ser declarado ao banco de dados - na verdade, muitos tipos de documentos podem coexistir no mesmo banco de dados. Essa flexibilidade permite que os desenvolvedores transformem os objetos de seus aplicativos em JSON e os armazenem no banco de dados com facilidade, e mudem de ideia sobre o design posteriormente sem migrações dispendiosas do esquema do banco de dados.
Escalabilidade
IBM Cloudant foi projetado para ser dimensionado de muito pequeno e de custo zero (em nosso plano Lite) a muito grande, com custos de faturamento lineares proporcionais ao volume de dados armazenados e à taxa de chamadas de API de leitura, gravação e consulta feitas por segundo. Uma instância IBM Cloudant pode ter centenas de bancos de dados, com a possibilidade de um banco de dados armazenar bilhões de documentos. No total, uma instância IBM Cloudant pode armazenar dezenas de terabytes de dados.
Os planos pagos podem ser ampliados e reduzidos na interface do usuário da Web ou por meio de nossa API para atender à demanda esperada ou para reduzir a escala durante períodos de silêncio.
Sincronização entre regiões
a replicação do IBM Cloudant permite que as alterações de dois ou mais bancos de dados IBM Cloudant sejam gravadas bidirecionalmente, seja na mesma instância ou em uma instância diferente, talvez em outro local. Isso permite que topologias entre regiões sejam implementadas para aumentar ainda mais a disponibilidade, para fornecer um backup geograficamente separado ou para ter uma cópia gravável dos dados de um aplicativo mais próxima dos usuários, como uma CDN para bancos de dados.
Disponibilidade sempre ativa
O serviço IBM Cloudant é gerenciado 24 horas por dia, 7 dias por semana, por engenheiros IBM em todo o mundo. Atualizações de hardware, substituições de unidades de disco, atualizações de sistema operacional e lançamentos de código IBM Cloudant são realizados sem tempo de inatividade.
API HTTP, painel de controle e SDKs
IBM Cloudant tem uma API HTTP e cada instância tem uma interface do usuário da Web para facilitar o gerenciamento de uma instância IBM Cloudant, seus bancos de dados, índices e documentos.
IBM Cloudant fornece SDKs para ajudar seu aplicativo a interagir com bancos de dados de forma programática em Node.js, Java, Python e Go.
os SDKs do IBM Cloudant interagem de forma transparente com o serviço IAM ( Identity and Access Management ) da IBM para fornecer controle de acesso à instância IBM Cloudant no nível do banco de dados.