Bancos de dados NoSQL | Tipos de banco de dados NoSQL

Conteúdo

Meu pai sempre fica hesitante ao fazer transações on-line caras. Ele está sempre com medo de que a máquina cometa um erro. Imagine que você transfere todos os seus ativos financeiros de uma conta para outra e, devido a algum erro de dados, é transferido para a conta de outra pessoa. Porém, no dudo ni un segundo en realizar cualquier tipo de transação conectados. O que fez uma grande diferença em nossas percepções? Provavelmente, a razão é a alta precisão em tais transações que tenho testemunhado desde a minha tenra idade. O que faz com que essa miríade de transações seja realizada em bancos, com companhias aéreas, com e-commerce são tão precisos?

En gran medir, isso é devido ao RDBMS, que segue estritamente os princípios ACID (atomicidad, consistência, isolamento e durabilidade). Mas com o tempo, devido à alta pressão de dados crescentes, começamos a usar bancos de dados NoSQL. NoSQL elimina a necessidade de um esquema, portanto, empuja la capacidad de manejo de datos por un gran margen al comprometer el ACID. Porém, com aplicativos de suporte precisos implementados, O NoSQL oferece uma boa combinação de recursos de alto manuseio de dados com boa precisão. Neste artigo, discutiremos os bancos de dados NoSQL populares.no-sql-7734706

Crédito da imagem: http://www.tomsitpro.com

NoSQL formulário completo?

Na verdade, o NoSQL não tem uma forma completa ou mesmo um significado real. O termo foi cunhado acidentalmente em um evento por Johan Oskarsson para discutir a rede distribuída de código aberto.. O "#NoSQL" era apenas uma hash tag do Twitter para hospedar esta reunião. Mais tarde, algunas personas de la base de dados en esta reunión encontraron este hashtag apropiado para nombrar estas bases de datos no relacionales. Na verdade, não temos uma definição estrita para NoSQL. Porém, Aqui estão alguns recursos comuns de bancos de dados NoSQL:

1. Eles não são relacionais

2. Principalmente de código aberto

3. Todos são adequados para clusters

4. Eles são menos esquemas

5. Eles emergiram do mundo da web do século 21.

Porém, frequentemente nos referimos a NoSQL como sem esquema, isso não significa que esses bancos de dados não aderem a nenhum tipo de esquema. Por exemplo, considere a seguinte expressão NoSQL:

Tab1["Receita" ] * Tab1[“Contagem total”]

NoSQL tem um esquema implícito, que pode não ser constante em todo o banco de dados. Tal coisa é uma bênção e uma maldição. O básico é que toda vez que queremos modificar um campo, precisamos entender este esquema implícito. A coisa boa é que com um esquema de mudança, muito menos esforço é necessário para adicionar este banco de dados em comparação com RDBMS. O que mais, RDBMS não é ótimo com uma rede distribuída, o que não é o caso com NoSQL.

Tipos de banco de dados NoSQL

Porém, na literatura NoSQL foi dividido em 4 Tipos principais, Eu encontrei uma maneira muito interessante sugerida por Martin Fowler para categorizar NoSQL. Com base na maneira como o NoSQL armazena dados, É principalmente de dois tipos:

1. Banco de dados adicionado

2. Banco de dados baseado em gráfico

A principal diferença entre os dois é que no tipo agregado, o banco de dados tenta armazenar todas as informações de um determinado id (pode ser uma pessoa, uma transação ou um produto, etc.) como um único objeto. Embora o tipo de gráfico siga a filosofia exatamente oposta. O banco de dados gráfico tenta cortar os dados em informações muito granulares e os armazena com todos os relacionamentos ou limites compartilhados. Discutiremos os bancos de dados adicionados, que são mais comuns hoje, neste artigo.

Bancos de dados agregados

Vamos dar um exemplo para entender este conceito de banco de dados agregado. Aqui está a aparência de um artigo sobre analyticsvidhya:

artigo-7605086Se estivéssemos usando RDBMS para armazenar nossos dados para DataPeaker, teríamos criado tabelas relacionais. Um pode ser para informações relacionadas ao autor, outra pode ser sobre as informações relacionadas ao artigo e ainda outra pode corresponder a cada categoria. Mas quando abrimos um artigo, precisamos de todas essas informações juntos. Portanto, estamos mais interessados ​​em informações agregadas do que em informações tão granulares. Porém, informações granulares poderiam ter me dado um melhor escopo de análise, então você pode estar mais interessado em minimizar o tempo de carregamento da página da web. Portanto, precisamos de um banco de dados no qual todas essas informações sejam armazenadas em um só lugar. Isso pode ser chamado de bancos de dados orientados para agregação.

Bancos de dados de valores-chave / Bancos de dados de documentos :

Bancos de dados de valores-chave e bancos de dados de documentos são muito semelhantes. Você pode pensar em bancos de dados de documentos como uma forma aninhada de bancos de dados de valores-chave. A seguir, um banco de dados de valor-chave simples é exibido:

keyvalue-7131426

Crédito da imagem: http://nosql.rishabhagrawal.com

Agora, se eu quiser obter informações sobre um Ipod de 16 GB, Eu só preciso fornecer o KET “13a2” para o banco de dados. Aqui está a aparência de um banco de dados de documentos:

document-2985559

Lembre-se de que em cada documento agregamos informações sobre essa identificação. Vincule isso ao nosso exemplo de analyticsvidhya. No nosso caso, teremos todos os nomes dos autores, nome do título, etc. como pares de valores-chave em cada documento. Agora posso extrair todo o documento de uma vez, uma vez que está armazenado no mesmo objeto.

Bancos de dados orientados a colunas :

Suponha que você tenha uma tabela de pedidos RDBMS com 1 milhões de linhas e 100 colunas. Agora você deseja extrair todos os nomes de clientes com pedidos de mais de $ 500. Basicamente, precisa de um comando em apenas duas colunas, mas para fazer esta consulta, essencialmente, você terá que navegar no 100 colunas. Bancos de dados orientados a colunas fornecem uma solução para este problema. Uma discussão detalhada desse tipo de banco de dados está além do escopo deste artigo., mas o que você precisa entender é apenas o conceito subjacente. Aqui está um exemplo simples de um banco de dados orientado a linhas e colunas:

coluna-orientada-banco de dados-4565628

Crédito da imagem: www.timestored.com

O banco de dados orientado a coluna armazena cada coluna em um local separado, o que nos permite alcançar apenas as colunas que são necessárias para nós. Isso torna as consultas muito mais rápidas nas operações de pesquisa e filtragem.

Notas finais

Os bancos de dados NoSQL estão ultrapassando nossos limites de armazenamento e análise de dados. Com tais estruturas sem esquema, eles também nos permitem alterar variáveis / atributos a qualquer momento. Eles são excepcionalmente rápidos para executar consultas nessas entidades agregadas. Porém, esta declaração vem com um título que caso a operação não deva ser feita no nível agregado da tabela, torna-se mais complicado em comparação com RDBMS. Por exemplo, se tivermos dados armazenados para cada pedido no banco de dados NoSQL agregado. Quaisquer dúvidas sobre esses IDs de pedido serão excepcionalmente rápidas. Mas caso você precise de informações no nível do cliente ou do produto, essas tabelas podem não ser muito eficientes. Para tais processos, necesitará escribir consultas de MapReduce. Portanto, tudo depende do tipo de uso e de qual banco de dados se adapta melhor a você.

O artigo foi útil para você? Compartilhe conosco suas experiências com diferentes tipos de bancos de dados NoSQL. Deixe-nos saber sua opinião sobre este item na caixa abaixo..

Assine a nossa newsletter

Nós não enviaremos SPAM para você. Nós odiamos isso tanto quanto você.