image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Juliana Gomes
Juliana Gomes30/10/2023 14:58
Compartilhe

Relacional X NÃO Relacional

    Base de Dados Relacional:

    As bases de dados relacionais são estruturadas e organizadas de acordo com um modelo de dados relacional. Nesse modelo, os dados são armazenados em tabelas com linhas e colunas. Cada tabela possui uma chave primária que identifica de forma única cada registro nela. As relações entre diferentes tabelas são estabelecidas por chaves estrangeiras.

    Exemplo:

    Considere um sistema de gerenciamento de biblioteca. Você teria diferentes tabelas para Livros, Autores e Editores . Cada livro na tabela Livros teria uma chave estrangeira referenciando o ID do autor na tabela Autores e o ID da editora na tabela Editores .

    Base de Dados Não Relacional (NoSQL):

    As bases de dados não relacionais, também conhecidas como NoSQL, não seguem o modelo de tabela tradicional. Elas são projetadas para lidar com grandes volumes de dados variados, muitas vezes não estruturados. Existem vários tipos de bancos de dados NoSQL, incluindo bancos de dados de documentos, de chave-valor, de colunas e de grafos.

    Exemplo:

    Para um sistema de análise de redes sociais, um banco de dados de grafos pode ser usado. Nesse modelo, os usuários seriam representados como nós e as conexões entre eles (amizades, seguidores etc.) seriam representadas como arestas. Cada nó pode ter diferentes propriedades associadas a ele, como nome, idade e interesses.

    Diferenças Principais:

    Estrutura:

    • Relacional: Estrutura de tabela com linhas e colunas.
    • Não Relacional (NoSQL): Estrutura variada, como documentos, pares de chave-valor, colunas ou grafos.

    Escalabilidade:

    • Relacional: Geralmente, a escalabilidade vertical (adicionar mais recursos ao servidor) é a abordagem comum.
    • Não Relacional (NoSQL): Pode ser escalado horizontalmente (adicionando mais servidores à rede) de forma mais fácil para lidar com grandes volumes de dados e tráfego.

    Esquema:

    • Relacional: Usa um esquema predefinido e estrito. As alterações no esquema podem ser complicadas.
    • Não Relacional (NoSQL): Não requer um esquema fixo. Os dados podem ser inseridos sem a necessidade de seguir uma estrutura predefinida.

    Transações:

    • Relacional: Oferece suporte a transações ACID (Atomicidade, Consistência, Isolamento, Durabilidade) para garantir a integridade dos dados.
    • Não Relacional (NoSQL): Pode sacrificar a consistência em favor da disponibilidade e tolerância a partições (teorema CAP). Alguns bancos de dados NoSQL oferecem transações, mas em geral, não são tão rígidas quanto as transações ACID.

    Consulta:

    • Relacional: Usa SQL (Structured Query Language) para consultas complexas e relacionadas.
    • Não Relacional (NoSQL): Cada tipo de banco de dados NoSQL tem sua própria linguagem ou API de consulta específica.

    A escolha entre uma base de dados relacional ou não relacional depende dos requisitos específicos do projeto, como a natureza dos dados, os requisitos de escalabilidade e o modelo de consulta desejado.

    Compartilhe
    Recomendados para você
    Microsoft 50 Anos - Prompts Inteligentes
    Microsoft 50 Anos - GitHub Copilot
    Microsoft 50 Anos - Computação em Nuvem com Azure
    Comentários (0)