Banco de dados: o que é e quais tipos existem?

Os bancos de dados são fundamentais para o desenvolvimento de sistemas em qualquer organização. Se você está querendo construir um site ou aprender a programar, vai precisar de mais detalhes sobre eles!

Neste artigo, você aprenderá como funcionam e quais são tipos de bancos de dados.

O que é banco de dados?

Um banco de dados é um conjunto organizado de informações estruturado para que possa ser facilmente acessado e gerenciado. Os dados são administrados por meio de um sistema de gerenciamento de banco de dados (DataBase Management System ou DBMS).

A partir dessa perspectiva, vemos que o próprio Microsoft Excel é um banco de dados, pois nele é possível armazenar os dados e estruturá-los em fileiras e colunas com rótulos que dão significado a eles.

As bases de dados mais especializadas têm grande capacidade para lidar com milhões de registros e, por isso, facilitam o uso em larga escala e em diferentes circunstâncias, conforme a necessidade.

O que é um dado?

Um dado nos permite descrever um objeto. Podemos chamar esse objeto de entidade. Vamos pensar como exemplo em uma casa onde vivem pessoas. A casa é a entidade e a quantidade de pessoas que vivem nela é um dado, nesse caso numérico.

Há diferentes tipos de dados que podem ser armazenados em um banco de dados: caracteres, números, imagens, datas, moedas, texto, bits, decimais e varchar (um tipo híbrido que pode conter letras e números).

Banco de dados relacional e não-relacional

Os bancos de dados se diferenciam, principalmente, pelo modelo que usam. Assim, os bancos de dados relacionais partem do pressuposto de um esquema relacional, enquanto os bancos de dados não relacionais os esquemas não são necessários.

Assim, você pode encontrar o mesmo banco de dados em diferentes categorias.

Banco de dados relacional (RDBMS)

É sempre melhor usá-los quando os dados que você vai utilizar são consistentes e já têm uma estrutura planejada. Algumas outras dicas são:

  • As bases de dados relacionais funcionam bem com dados estruturados;
  • As organizações que têm muitos dados não estruturados ou semiestruturados não devem considerar um banco de dados relacional.

Alguns exemplos de bancos relacionais são:

  • MySQL
  • Microsoft SQL Server
  • Oracle Database
  • PostgreSQL
  • IBM Db2

Banco de dados não-relacional (NoSQL)

Diferentemente dos bancos de dados relacionais, os dados de um banco de dados NO-SQL (Not Only SQL) são mais flexíveis quanto à consistência de dados. São uma opção que tenta solucionar algumas limitações do modelo relacional.

Esse tipo de banco de dados é excelente para organizações que precisam armazenar dados não estruturados ou semiestruturados. Sendo que uma das vantagens dos bancos de dados NoSQL é que os desenvolvedores podem fazer alterações no banco de dados durante o seu uso sem afetar os aplicativos que o utilizam.

Exemplos:

  • MongoDB
  • Redis
  • Apache Cassandra
  • Apache CouchDB
  • CouchBase

Tipos de bancos de dados

Além dos bancos de dados relacionais e não relacionais, existem alguns outros tipos de bancos de dados:

Bancos de dados na nuvem

A principal característica desta categoria é que os bancos de dados são entregues como um serviço na nuvem. A criação, manutenção e escalabilidade, portanto, são de responsabilidade do provedor do serviço.

Esse tipo de banco de dados cresceu exponencialmente com a era da Internet e com a IaaS (Infrastructure as a Service).

Exemplos:

  • Google Firebase
  • Microsoft Azure SQL Database
  • Amazon Relational Database Service
  • Oracle Autonomous Database.

Bancos de dados colunares

Também conhecidos como bancos de dados orientados a colunas, os bancos de dados colunares têm a particularidade de armazenar dados em colunas, e não em linhas, que costuma ser a forma mais comum de armazenamento.

Esses tipos de bancos de dados são frequentemente usados em grandes data warehouses porque sua funcionalidade serve para realizar consultas analíticas.

Quando se consulta um banco de dados em colunas, basicamente são ignorados todos os dados que não se aplicam à consulta específica, pois só é possível recuperar as informações das colunas desejadas. Essa é uma grande vantagem quando se trata de conjuntos de dados de proporções gigantescas, com milhões de registros.

Exemplos:

  • Google BigQuery
  • Cassandra
  • HBase
  • MariaDB
  • Azure SQL Data Warehouse

Bancos de dados de colunas largas (wide column)

Os bancos de dados de colunas largas têm a vantagem de serem altamente escaláveis, podendo utilizar até petabytes de dados em seus registros, tornando-os ideais para suportar aplicativos de big data em tempo real.

Exemplos:

  • BigTable
  • Apache Cassandra
  • Scylla

Bancos de dados orientados a objetos

Um banco de dados orientado a objetos é baseado em Programação Orientada a Objetos (POO), de modo que os dados e todos os seus atributos são vinculados como um objeto.

Esse tipo de banco de dados é gerenciado por Sistemas de Gerenciamento de Banco de Dados Orientados a Objetos (OODBMS – Object Oriented DataBase Management System).

Funcionam bem com linguagens de programação orientadas a objetos, como C++ e Java.

Bancos de dados key-value (chave-valor)

Um dos tipos mais simples de bancos de dados NoSQL, os bancos de dados chave-valor também podem ser chamados de valor-chave e armazenam dados como um grupo de pares de chave-valor formados por dois elementos de dados cada.

Os bancos de dados key-value são altamente escaláveis e podem lidar com grandes volumes de tráfego, tornando-os ideais para processos como gerenciamento de sessões para aplicativos da Web, sessões de usuários para jogos online em massa e carrinhos de compras online.

Bancos de dados hierárquicos

Eles foram originalmente uma iniciativa da IBM no início dos anos 1960. Esses bancos de dados normalmente são mais usados para suportar aplicativos de alto desempenho e alta disponibilidade, dentro de uma classificação hierárquica que geralmente é usada para permitir acesso.

Exemplos:

  • Sistema de Gerenciamento de Informação da IBM (IMS)
  • Registro do Windows

Bancos de dados documentais (DODB)

Também conhecidos como bancos de dados orientados a documentos (DODB), os bancos de dados de documentos são projetados para armazenar e gerenciar informações orientadas a documentos, também conhecidas como dados semiestruturados.

Os bancos de dados documentais são simples e escaláveis, o que os torna úteis para aplicativos móveis que precisam de interação rápida.

Exemplos:

  • MongoDB
  • Amazon DocumentDB
  • Apache CouchDB

Bancos de dados de gráficos (graph)

Os bancos de dados gráficos geralmente são usados para analisar as relações entre pontos de dados heterogêneos e encontrar relações, como na prevenção de fraudes ou para a aquisição de dados de clientes de redes sociais.

Exemplos:

  • Datastax Enterprise Graph
  • Neo4J AuraDB

Bancos de dados de série temporal (time series)

Esses bancos de dados são otimizados para ter um registro de data/hora, ou timestamp, o que os torna úteis para monitoramento. Alguns exemplos desse tipo de dados são dados de rede, dados de sensores e dados de monitoramento de desempenho de software.

Exemplos:

  • Druid
  • eXtremeDB
  • InfluxDB

Como escolher um tipo de banco de dados

Ter um bom projeto de banco de dados desde o início pode ajudá-lo a economizar tempo.

Bancos de dados relacionais e não relacionais são organizados de maneiras distintas e funcionam com diferentes tipos de dados, por isso é importante entender como cada um funciona.

Um exemplo claro para entender bancos de dados é a operação de uma companhia aérea. Todas as companhias aéreas têm aplicativos para fazer reservas e trabalhar com diversas rotas diferentes. As pessoas que vão viajar têm que fornecer dados para fazer uma reserva para um destino específico, por exemplo, a data em que vão viajar. Para isso, é necessário ter um lugar no qual essas informações possam ser armazenadas e também cruzadas com o número de passageiros por avião. Isso é um banco de dados! Uma ferramenta que evita a redundância e facilita processos.

Para decidir entre um banco de dados SQL ou NoSQL, você precisa pensar no relacionamento entre os diferentes tipos de dados que você vai armazenar: se eles podem ser armazenados separadamente e não interagem entre si, você pode usar um banco de dados NoSQL. Mas, se o que você precisa é ter relacionamentos entre as informações armazenadas, o ideal é um banco de dados SQL.

Próximos passos

Empresas e pessoas precisam de bancos de dados em seu dia a dia. Nós os usamos mais do que imaginamos: sempre que usamos o telefone, fazemos uma compra ou realizamos uma transação bancária. Se você está iniciando um novo projeto ou vai aprender a programar, vale a pena entender de forma clara como funcionam os bancos de dados.

Esta é apenas uma palhinha do que você pode aprender no Curso de Introdução a Bancos de Dados. Se você gostou do que leu aqui, nós podemos te ensinar muito mais sobre Bancos de Dados!

Postagens Relacionadas

Hoje em dia não é preciso querer entrar na carreira de programação para procurar saber como aprender HTML e CSS. Afinal, com a transformação
Seja você um empreendedor que está tentando promover seu negócio, um iniciante em Marketing que quer aprender de tudo um pouco ou um profissional
Não existe uma resposta exata para quem se pergunta quanto tempo demora para aprender inglês, mas conhecer um pouco sobre como nosso cérebro funciona
Apesar de terem sido subestimadas por muito tempo, hoje as competências comportamentais têm conquistado cada vez mais a atenção de recrutadores e empresas, que