Consulta SQL++ / N1QL

Couchbase para desenvolvedores Oracle - Parte 3: Objetos de banco de dados

Aqui está a página inicial da série: https://www.couchbase.com/blog/couchbase-oracle-developers-part-2-architecture/

Os DBAs Oracle trabalham com clusters, máquinas, sistemas de armazenamento, discos etc. Os desenvolvedores Oracle e seus aplicativos trabalham com bancos de dados, tabelas, linhas, colunas, partições, usuários e tipos de dados no sistema de banco de dados Oracle. Vamos comparar e contrastar como isso é feito no Couchbase.

 

 

 

 

 

Tópico Oráculo Couchbase
Banco de dados Banco de dados Em uma instância do Couchbase (cluster de nó único ou de vários nós), você pode criar um ou mais buckets.  Do ponto de vista do desenvolvedor, você cria buckets e começa a inserir JSON de vários tipos nos buckets.

CRIAR:

Você cria o bucket pelo console da Web do Couchbase ou pela API REST. No console da Web, forneça as informações abaixo.

 

 

 

 

 

 

 

 

 

 

O usuário fornece o seguinte:

Nome de um balde.

Localização de um armazenamento de dados existente. O Couchbase cria um diretório com o nome do bucket abaixo do especificado diretamente. Nesse caso, o diretório CUSTOMER é criado em : /my/data. Esse diretório /my/data deve existir em cada nó do cluster do Couchbase com serviço de dados (valor-chave). Isso é fixo e imutável.

Memória usada em megabytes. Essa é a quantidade fixa de memória usada para armazenar os dados em cache à medida que você insere/carrega os dados. Os dados reais na memória dependem do padrão de acesso do seu aplicativo. Os algoritmos usuais LRU e MRU são usados para determinar quais documentos são mantidos na memória e quais são removidos. Para obter mais informações sobre o despejo de chaves, consulte o link:

http://bit.ly/2ngKUZk

Tipo de caçamba

Couchbase: Banco de dados JSON

Memcached: Memcache

EfêmeraO Couchbase Bucket é um balde do Couchbase: igual ao balde do Couchbase, exceto que todos os dados e índices estão apenas na memória.

Réplica: Por padrão, há uma cópia dos dados no cluster. Você pode ter até três cópias dos dados no cluster. Na seção Regras do teorema CAP. Há muitos artigos e palestras sobre o teorema CAP e sua aplicação a bancos de dados NoSQL em domínio público. Isso significa que o Couchbase escolhe a consistência em vez da disponibilidade (C sobre A). O suporte à tolerância de partição é um requisito para esses sistemas de escala de vários nós.

Consulte a documentação do Couchbase para obter detalhes completos sobre todos os parâmetros e exemplos.

http://bit.ly/2GrbMOw

Tabela Tabela No momento, o Couchbase Bucket atende a dois propósitos.  

  1. Controle de ponto de acesso
  2. Recipiente para todos os documentos.

Como discutimos anteriormente, pode haver até 10 buckets em um sistema Couchbase. No RDBMS, você armazena uma linha que pertence a um domínio em uma única tabela.

No Couchbase, você modela seu documento para conter o máximo possível de dados sobre o objeto. Por exemplo, o objeto CUSTOMER pode conter não apenas as informações básicas do cliente, mas também os pedidos do cliente, de modo que uma única operação GET possa obter todas as informações do cliente rapidamente.

 Exemplo de INSERT de documento via N1QL:

Observe que não houve CREATE TABLE para CUSTOMER. Você insere o documento JSON no bucket de forma simples e direta. Você precisa de um documento exclusivo do compartimento. Esse exclusivo é modelado na chave primária de uma tabela. Se você tiver várias partes, separe-as com um delimitador, como um hífen, um sublinhado ou um ponto.

Agora você tem o documento CUSTOMER no compartimento chamado e-commerce.

Agora, você quer outro tipo de documento, como PARTNER.  

Você pode simplesmente criar um bucket separado chamado PARTNER. OU, você pode inserir os documentos do PARTNER no mesmo BUCKET. A inserção em um bucket separado é simples. No Couchbase, é uma prática comum e recomendada usar o mesmo bucket para armazenar documentos de vários tipos para um aplicativo. Isso tem duas vantagens.

  1. O Couchbase pode criar até 10 buckets em um cluster. É comum ter muitos tipos de documentos. Você não quer ficar sem buckets.
  2. Ter um único bucket facilita o gerenciamento. É como ter um único banco de dados em vez de vários bancos de dados.

 

Linha Linha  Documento JSON, com sua chave de documento.

Considerações sobre o design da chave do documento: http://bit.ly/2GnRwwV

Coluna Coluna O JSON é composto de pares de valores-chave.

Exemplo: {"fullname": "Joe Smith"}

{"name: {"fname": "Joe", "lname": "Smith"}

{"hobbies": ["lego", "robótica", "esqui"]}

Nesses documentos, "name" é uma chave, também conhecida como atributo. Seu valor pode ser escalar (fullname), um objeto (name) ou uma matriz (hobbies).

No Oracle, ao criar a tabela, você especifica os nomes das colunas e seus tipos de dados.

No Couchbase, você simplesmente insere documentos JSON. Cada documento descreve o atributo (coluna) nomes. Isso lhe dá a flexibilidade de evoluir o esquema sem precisar bloquear a tabela. Os tipos de dados são simplesmente interpretados a partir do próprio valor: String, número, nulo, verdadeiro, falso, objeto ou uma matriz.

Visualizações As visualizações podem ser criadas com o comando CREATE VIEW. Uma vez criadas, elas são simplesmente relações que podem ser usadas em qualquer lugar em que uma tabela (conjunto de relações) possa ser usada. Há alguns requisitos adicionais para atualizações em visualizações (por exemplo, em vez de acionadores para inserção, atualizações em visualizações complexas). O Couchbase não tem visualização dinâmica baseada em SQL como o Oracle. O Couchbase tem uma tecnologia que chamamos de "Couchbase Views", baseada na estrutura de redução de mapas. Elas são semelhantes às visualizações materializadas e não à visualização SQL e não podem ser usadas com o N1QL.
Visualizações materializadas (também conhecidas como tabelas de consultas materializadas) Visualizações materializadas  O Couchbase VIEW fornece uma estrutura flexível de map-reduce para que você crie pré-agregações, índices e qualquer outra coisa que queira criar. Veja mais detalhes em: http://bit.ly/2EhIFfF
Sequências Sequências Não disponível
Gatilhos Gatilhos Os acionadores não estão disponíveis.

As configurações de expiração (TTL: time to live) permitem que você acione automaticamente a exclusão de um documento após um determinado período. http://bit.ly/2DFe7U2 

Restrições Restrições: chave primária, exclusivo, Verificar, referencial, não nulo, O Couchbase exige e impõe restrições exclusivas sobre a chave do documento em um bucket. Os documentos podem ter referência à chave de outro documento. Eles simplesmente armazenam os dados e podem ser usados em operações JOIN. A referência em si não é verificada ou imposta.
Índices Índices  Índice. Mais detalhes na seção Index. Por enquanto, você pode ver o blog detalhado: http://bit.ly/2DI1nAa
Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Keshav Murthy

Keshav Murthy é vice-presidente de P&D da Couchbase. Anteriormente, ele trabalhou na MapR, IBM, Informix e Sybase, com mais de 20 anos de experiência em design e desenvolvimento de bancos de dados. Ele liderou a equipe de P&D de SQL e NoSQL na IBM Informix. Recebeu dois prêmios President's Club na Couchbase e dois Outstanding Technical Achievement Awards na IBM. Keshav é bacharel em Ciência da Computação e Engenharia pela Universidade de Mysore, Índia, detém dez patentes nos EUA e tem três patentes pendentes nos EUA.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.