Ignorar navegação

O que são bancos de dados?

Definições, tipos e exemplos de bancos de dados

O que são bancos de dados?

Na definição mais básica, um banco de dados é qualquer coleção de informações inter-relacionadas. Ao fazer uma lista de compras em um pedaço de papel, você está criando um pequeno banco de dados analógico. Mas o que é um banco de dados na ciência da computação? Nesse contexto, você define "banco de dados" como uma coleção de informações armazenadas como dados em um sistema de computador, como o estoque do mercado local.

Para o que os bancos de dados são usados?

Os bancos de dados são usados para armazenar e organizar dados, de modo que seja mais fácil gerenciá-los e acessá-los. À medida que uma coleção de dados cresce e ganha mais complexidade, torna-se mais difícil manter os dados organizados, acessíveis e protegidos. Para ajudar com isso, use DBMS (sistemas de gerenciamento de banco de dados), que incluem uma camada de ferramentas de gerenciamento.

O que são dados?

Dados referem-se a qualquer informação capturada e armazenada sobre uma pessoa, um lugar, uma coisa ou um objeto, chamada de entidade, bem como os atributos dessa entidade.

Por exemplo, se você estiver capturando e armazenando informações sobre restaurantes locais, cada restaurante será uma entidade, e o nome dele, o endereço e o horário comercial são atributos dessa entidade. Todas as informações coletadas e armazenadas sobre seus restaurantes favoritos são dados.

Tipos de bancos de dados

Os bancos de dados são amplamente agrupados em bancos de dados relacionais e não relacionais. Os bancos de dados relacionais são altamente estruturados e reconhecem uma linguagem de programação chamada SQL. Os bancos de dados não relacionais são altamente diversificados, dando suporte a uma variedade de estruturas de dados. Como muitos bancos de dados não relacionais não usam o SQL, eles costumam ser chamados de bancos de dados NoSQL.

Tipos de estruturas de dados

As estruturas de tabela são estruturas de banco de dados relacionais que organizam dados em linhas e colunas (as linhas contêm entidades, enquanto as colunas contêm atributos da entidade). As tabelas largas (ou repositórios de colunas largas) usam colunas esparsas com atributos vazios para aumentar consideravelmente o número total de colunas que você pode ter na tabela. Como alguns espaços ficam vazios, as tabelas largas são um exemplo de uma estrutura de banco de dados não relacional.

As estruturas lineares organizam elementos em uma sequência.

Matriz

Lista vinculada

Árvore binária

As estruturas de árvore organizam elementos em um banco de dados hierárquico de nós em relações pai-filho que derivam de um nó raiz.

Graph

As estruturas de grafo organizam elementos em uma rede não hierárquica de nós com relações complexas entre si.

Tabela de hash

As estruturas baseadas em hash mapeiam chaves para valores usando funções de hash que associam dados relacionados atribuindo índices a tabelas de hash.

Bancos de dados orientados a documentos

Os bancos de dados orientados a documentos organizam quantidades de informações sobre uma entidade em um só objeto (o documento), que é separado de outros objetos. Os objetos não precisam ser mapeados um em relação ao outro, e só é possível editar um deles sem afetar outros objetos.

Bancos de dados relacionais

Em um banco de dados relacional (o tipo mais comum), os dados são organizados em tabelas que armazenam informações sobre cada entidade e representam categorias predefinidas por meio de linhas e colunas. Esses dados estruturados são eficientes e flexíveis de serem acessados.

Entre os exemplos de bancos de dados relacionais estão o SQL Server, o SQL do Azure, o MySQL, o PostgreSQL e o MariaDB.

Bancos de dados não relacionais

Os bancos de dados não relacionais armazenam dados não estruturados ou semiestruturados. Eles não usam tabelas com colunas e linhas como os bancos de dados relacionais. Em vez disso, eles usam um modelo de armazenamento otimizado para os requisitos específicos do tipo de dados que está sendo armazenado. Os bancos de dados não relacionais permitem que conjuntos maiores de dados distribuídos sejam acessados, atualizados e analisados rapidamente.

Exemplos de bancos de dados não relacionais incluem o MongoDB, o Azure Cosmos DB, o DocumentDB, o Cassandra, o Couchbase, o HBase, o Redis e o Neo4j.

Alguns bancos de dados não relacionais são chamados de bancos de dados NoSQL. NoSQL refere-se aos armazenamentos de dados que não usam o SQL ou não apenas o SQL para consultas. Em vez disso, os bancos de dados NoSQL usam outras linguagens de programação e outros constructos para consultar os dados. Muitos bancos de dados NoSQL dão suporte a consultas compatíveis com SQL, mas a maneira como eles executam essas consultas é geralmente diferente de como um banco de dados relacional tradicional executa a mesma consulta SQL.

Um tipo de banco de dados não relacional, um banco de dados de objeto, usa a programação orientada a objeto. Os objetos são codificados com um estado (dados reais) que é armazenado em um campo ou uma variável e um comportamento exibido por meio de um método ou uma função. Os objetos podem ser mantidos no armazenamento persistente para sempre e lidos e mapeados diretamente sem uma API nem uma ferramenta, o que produz acesso mais rápido aos dados e melhor desempenho. No entanto, os bancos de dados de objetos não são tão populares quanto outros tipos de bancos de dados e podem ser difíceis de dar suporte.

Bancos de dados na memória e caches

Todos os dados de um banco de dados na memória são armazenados na memória RAM de um computador. Ao consultar ou atualizar esse tipo de banco de dados, você acessa a memória principal diretamente. Não há nenhum disco envolvido. Os dados são carregados rapidamente, pois o acesso à memória principal (que está perto do processador na placa-mãe) é muito mais rápido do que o acesso de um disco.

Os bancos de dados na memória são normalmente usados para armazenar cópias de informações acessadas com frequência, como dados de estoque ou de preços. Isso é conhecido como cache. Ao armazenar dados em cache, você armazena uma cópia deles em uma localização temporária para que eles sejam carregados mais rapidamente na próxima vez que forem solicitados. Saiba mais sobre o cache.

Exemplos de bancos de dados

Os bancos de dados podem parecer mistérios invisíveis, mas a maioria de nós interage com eles todos os dias. Estes são alguns exemplos comuns de bancos de dados relacionais, bancos de dados NoSQL e bancos de dados na memória:

Transações financeiras

Os bancos usam os bancos de dados para controlar as transações do cliente – tudo, de consultas de saldo até transferências entre contas. Essas transações precisam ocorrer quase instantaneamente, e os dados de grandes valores de transações precisam estar sempre atualizados. Para essas finalidades, os bancos usam sistemas de processamento transacionais online criados com bancos de dados relacionais, que podem lidar com um grande número de clientes, alterações de dados frequentes feitas em transações e tempos de resposta rápidos.

Catálogos de comércio eletrônico

Se você tiver um site de comércio eletrônico, seu catálogo incluirá produtos individuais, cada um com uma variedade própria de atributos. Um banco de dados orientado a documentos, um exemplo de um banco de dados não relacional, usa documentos individuais para descrever todos os atributos de um só produto. Você pode alterar os atributos no documento sem afetar nenhum dos seus outros produtos. Os bancos de dados na memória costumam ser usados para armazenar em cache dados de comércio eletrônico acessados com frequência, como estoque e preços, a fim de acelerar a recuperação de dados e diminuir a carga no banco de dados.

Redes sociais

Quando você ingressa em uma rede social, suas informações são adicionadas a um banco de dados não relacional de todas as pessoas que usam essa rede. Ao se conectar com outras pessoas nessa rede, você passa a fazer parte de um grafo social. É por isso que você pode ver uma lista filtrada dos seus amigos ou das suas conexões profissionais e descobrir novas pessoas conhecidas por esses amigos e essas conexões.

Resultados personalizados

Os bancos de dados não relacionais impulsionam a personalização online, que se tornou tão predominante que talvez nem seja percebida. Se você reservar um voo em um site de viagens, também verá opções para reservar hotéis e carros de aluguel. O banco de dados do site contém uma infinidade de informações não estruturadas (seus detalhes de voo, preferências de viagem, reservas anteriores de carros ou hotéis) que são usadas para fornecer sugestões personalizadas visando a economia de tempo, dinheiro ou esforço. Da mesma forma, os bancos de dados na memória são usados como um repositório de sessão para armazenar com eficiência os dados temporários do usuário, como as preferências de pesquisa ou o carrinho de compras, durante o uso do aplicativo.

Análise de negócios

Quando as organizações desejam extrair insights de dados próprios, os bancos de dados relacionais ajudam a gerenciar as análises. Um suporte técnico de tecnologia, por exemplo, pode acompanhar problemas do cliente em uma variedade de dimensões, incluindo tipo de problema, tempo necessário para resolver o problema e satisfação do cliente. Um banco de dados relacional que usa uma estrutura de tabela organiza os dados do problema do cliente usando apenas duas dimensões por vez, mas com um sistema de processamento analítico online, o suporte técnico pode examinar mais de uma tabela por vez, permitindo que a análise multidimensional processe grandes volumes de dados em altas velocidades.

Sistemas de gerenciamento de banco de dados

Os administradores de banco de dados usam DBMS (sistemas de gerenciamento de banco de dados) para controlar os dados, especialmente quando estão trabalhando com Big Data. Big Data refere-se a grandes volumes de dados estruturados e não estruturados que geralmente são recebidos pelo sistema em tempo real ou quase em tempo real. Um DBMS também ajuda a gerenciar os dados usados em vários aplicativos ou os dados que residem em várias localizações.

Diferentes sistemas de gerenciamento oferecem diferentes níveis de organização, escalabilidade e aplicação. Além do tipo de dados que você deseja organizar e de como deseja acessá-lo, o DBMS usado também depende do local em que os dados residem, do tipo de arquitetura usado pelo banco de dados e de como você pretende escalá-lo.

Seus dados estão no local, na nuvem ou em ambos?

Em bancos de dados locais, os dados residem no hardware privado no local (geralmente chamado de nuvem privada). Para adicionar capacidade de dados, os administradores de banco de dados precisam garantir que os servidores no local tenham espaço suficiente disponível ou expandam a infraestrutura com o novo hardware para criar espaço.

Em bancos de dados baseados em nuvem, os dados estruturados ou não estruturados residem em uma plataforma de computação em nuvem privada, pública ou híbrida (ou seja, uma plataforma que combina o armazenamento em nuvem privada e pública). Como os bancos de dados de nuvem são projetados para um ambiente virtualizado, eles são altamente escalonáveis e disponíveis. Eles também ajudam a reduzir os custos, pois você não precisa comprar tanto hardware e paga apenas pelo armazenamento usado.

Sua arquitetura de banco de dados é centralizada, distribuída ou federada?

Em um banco de dados centralizado, todos os dados residem em um sistema, em um só lugar. Esse sistema único é o ponto de acesso para todos os usuários.

Um banco de dados distribuído pode abranger tipos de bancos de dados relacionais e não relacionais. Em bancos de dados distribuídos, os dados são armazenados em várias localizações físicas, seja em vários computadores locais ou distribuídos em uma rede de computadores interconectados.

Em um banco de dados federado, vários bancos de dados distintos que são executados em servidores independentes são unificados em um só objeto grande. Um blockchain é um tipo de banco de dados federado usado para gerenciar com segurança os razões financeiros e outros registros de transações.

Você crescerá com seus dados por meio da escala vertical ou horizontal?

A escala (ou redução) vertical é o processo de adição de recursos, como memória ou CPUs mais potentes, a um servidor existente.

A escala (ou redução) horizontal adiciona mais computadores ao pool de recursos.

A escala horizontal em vez da escala vertical estende o ciclo de vida do hardware existente, libera você da atualização sem o bloqueio do fornecedor, reduz os custos e cria um potencial de longo prazo para flexibilidade.

Bancos de dados do Azure

Simplifique suas operações de dados com bancos de dados totalmente gerenciados que automatizam a escalabilidade, a disponibilidade e a segurança. Escolha entre bancos de dados relacionais, NoSQL e na memória que abrangem mecanismos proprietários e de software livre.

Conheça a família de bancos de dados do SQL do Azure

Unifique seu portfólio SQL sem sacrificar a compatibilidade. Migre, modernize e implante aplicativos do seu jeito, da borda para a nuvem, usando a tecnologia do SQL Server que você já conhece.

Escale sua carga de trabalho sem receio com o Banco de Dados do Azure para PostgreSQL

O Banco de Dados do Azure para PostgreSQL ajuda você a escalar sua carga de trabalho de maneira rápida e confiável com alta disponibilidade, otimização de desempenho habilitada para IA e segurança avançada.

Saiba mais sobre o Azure PostgreSQL

Crie aplicativos de alto desempenho com o Azure Cosmos DB

O Azure Cosmos DB é um banco de dados NoSQL totalmente gerenciado com APIs abertas e velocidade garantida em qualquer escala.

Saiba mais sobre o Azure Cosmos DB

Lide com o tráfego intenso de maneira eficiente usando o Cache do Azure para Redis

O Cache do Azure para Redis ajuda você a lidar com milhares de usuários simultâneos com velocidade quase instantânea adicionando uma camada de cache rápido à arquitetura do aplicativo.

Saiba mais sobre o Cache do Azure para Redis
Podemos ajudar você?