9 tipos de banco de dados que você precisa conhecer

Os tipos de banco de dados atendem a diferentes propósitos e são uma base para sistemas modernos.

Photo by Benjamin Dada on Unsplash

O conceito de banco de dados é um dos principais para entender como funciona uma aplicação digital moderna. Um sistema de software é um que envolve entradas, saídas e também estruturas que armazenam dados como uma espécie de memória para uso posterior

Por mais clássicas que sejam as tecnologias de banco de dados, ultimamente temos visto um debate acirrado acerca das ferramentas ideais para lidar com o Big Data — um novo paradigma para o armazenamento. O desafio é construir arquiteturas robustas o suficiente para lidar com o volume e a complexidade dessas categorias de dados e desenvolver uma cultura data-driven.

Acompanhe o artigo se quiser mergulhar no universo dos tipos de banco de dados e na definição desse importantíssimo conceito!

 

Para começar, o que é um banco de dados?

Bancos de dados nada mais são do que uma coleção e um conjunto de registros de dados. Também chamados de bases de dados, são estruturas de armazenamento de informações importantes para uma aplicação em um determinado contexto. Todo sistema de software utiliza esse conceito como base para automatizar tarefas e agilizar processos.

Pense em um exemplo simples: um formulário. Digamos que você preencha um formulário hipotético de cadastro com dados de login, senha, nome e endereço. Em qualquer aplicação moderna, só existe uma forma de fazer esses dados serem funcionais: registrá-los em um local específico para uso posterior. 

O uso posterior nesse caso pode ser quando você tentar fazer login ou precisar autenticar o seu acesso. A lógica do sistema então vai comparar as informações digitadas com as informações que já estão salvas no banco, de modo a permitir um acesso seguro. 

Ou ainda o sistema pode utilizar o nome e o endereço já salvos como uma forma de agilizar o processo de checkout de uma compra online. Nesse caso, busca gerar praticidade ao recuperar informações que já foram cedidas. O nome também pode ser usado em uma comunicação da empresa por e-mail.

Uma aplicação de streaming de áudio/vídeo, por sua vez, salva os arquivos que colocamos em listas de favoritos nos seus bancos de dados. Nossas informações de pagamento e dados referentes a nossa conta também são salvos nessas bases. 

Em suma: quando utilizamos um sistema, ele solicita algumas informações sobre nós para atingir um determinado fim. Esses dados são o que o software sabe acerca de nós. O banco de dados é o local onde esse tipo de dado é armazenado de uma forma segura.

Caso não tivéssemos bancos de dados à nossa disposição, o uso dos sistemas seria somente volátil. Não poderíamos salvar nenhuma informação, e os softwares não aprenderiam nada sobre nós, tornando a utilização extremamente difícil. Nesse sentido, é como se precisássemos nos cadastrar em uma aplicação toda vez que quiséssemos logar, por exemplo. 

Bancos de dados também registram dados sobre os dados, que são informações relacionadas que enriquecem a compreensão de cada dado nas análises. Da mesma forma, registram dados sobre o uso de uma aplicação e outros.

Para gerenciar bancos de dados, contamos com um conceito central: o SGBD (Sistema Gerenciador de Bancos de Dados). 

Trata-se de uma aplicação gerencial que permite controlar o acesso e a manipulação do banco de dados, bem como administrar questões fundamentais como backups e recursos de segurança e privacidade. É como um sistema geral para acessar e cuidar do banco de dados físico. O software trabalha com uma linguagem específica, como o SQL, que é padrão para a maioria dos BDs.

Vamos avançar agora para estudar os dois principais tipos de banco de dados.

Bancos relacionais

Chamamos de relacionais os bancos mais tradicionais, construídos sobre uma lógica de relações entre dados. A estrutura deles apresenta geralmente tabelas, com um conjunto de linhas e colunas, bem como chaves que conectam diferentes tabelas. A partir disso, é possível compreender um dado em um contexto maior para aprofundar no entendimento de suas implicações. 

A característica principal do banco de dados relacional é que ele apresenta um esquema muito bem-definido. Para chegar até ele, uma pessoa que trabalha com BDs deve modelar o banco a partir de relações do mundo real (uma pessoa e suas playlists, por exemplo) e projetar de fato o sistema com o apoio de tecnologias específicas.

Por sua característica organizada, o modelo relacional é muito comum em aplicações do mundo corporativo, como CRMs e ERPs. O foco dessas aplicações é o registro de dados de uma forma simplificada, de modo que as equipes consigam se concentrar mais nas análises e no que farão com esses dados. Todos os dados atendem a um padrão e não demandam preocupação com seu formato.

Bancos não relacionais

Se você imaginou que o modelo relacional parece ser organizado demais para um fluxo enorme de dados, você acertou. Para lidar com um fluxo muito grande, típico do que chamamos de Big Data, é preciso contar com um banco de dados não relacional. 

Os não relacionais não apresentam esquemas, nem demandam relações entre os dados. Geralmente, usam chave-valor, grafos, colunas ou documentos como forma de organização dos dados. 

Assim, são perfeitos para salvar informações em formatos não convencionais, como imagens, áudios, vídeos, outros tipos multimídia ou tweets, por exemplo. Ou seja, são ótimos para lidar com dados oriundos da internet, que surgem desestruturados, em alto volume e são atualizados em tempo real. 

A lógica não relacional se preocupa mais com os dados, estabelecendo como prioridade o tratamento deles. Como não há uma ordem clara, é necessário pensar em como estruturá-los para análises posteriores. Nesse contexto, entram em cena as soluções analíticas que se dedicam exclusivamente a lidar com esses dados para extrair insights deles.

Os bancos não relacionais estão no centro das discussões sobre aprendizado de máquina, Business Intelligence, internet das coisas, etc. Estruturas maiores como um Data Warehouse podem conter vários bancos não relacionais para análises e consultas rápidas, com um poder de desempenho maior do que BDs relacionais justamente pela falta de um esquema específico. 

9 tipos de banco de dados

Veremos agora os principais SGBDs do mercado. Analisaremos opções de bancos de dados relacionais e não relacionais.

1. Oracle

O sistema tradicional da Oracle é um sistema para banco de dados relacional que funciona perfeitamente em softwares operacionais usuais, como Linux e Windows. Além disso, apresenta uma ótima documentação para ajudar quem precisa utilizá-lo.

2. SQL Server

O SGBD da Microsoft se destaca por recursos robustos de segurança. Adota mecanismos importantes de criptografia para controlar a confidencialidade dos dados, ou seja, que eles só estejam disponíveis para pessoas autorizadas. Ademais, esse banco de dados SQL traz algumas regras interessantes para proibir que os dados se percam com ações negligentes ou descuidadas.

3. MySQL

Provavelmente o mais famoso dos tipos de banco de dados relacional, o MySQL é um SGBD simples e fácil de controlar, inclusive com a integração com o PHP (principal linguagem para back-end). Foi criado pela Oracle como uma opção inclusive para ser de código aberto (modificável por qualquer pessoa em repositórios públicos). Hoje, é usado por grandes empresas como Twitter e Google. 

No meio dos relacionais, o MySQL é geralmente usado para ensinar pessoas que não têm tanto contato com BDs e é uma das primeiras opções de quem está estudando esse tema. Justamente por ser uma opção tão comum e menos complexa de aprender.

4. NoSQL

O conceito de NoSQL surgiu quase como uma filosofia para lidar com algumas limitações da linguagem SQL no tratamento de bancos de dados. 

O esquema que a linguagem SQL requer atrapalhava algumas aplicações que precisavam crescer rapidamente. No nosso mundo, com os dados massivos não estruturados que crescem instantaneamente, conseguimos compreender essa questão de forma mais natural.

Os bancos não relacionais, ou NoSQL, não apresentam um esquema rígido de tabelas. Por isso, conseguem se adaptar melhor a dados desestruturados, como já falamos. 

Em suma, é mais do que um nome de SGBD, mas merece uma menção por sua importância como uma classe de ferramentas.

5. PostgreSQL

Outro dos mais famosos entre os relacionais. O Postgre é importante por trazer mecanismos de consulta mais complexos, chaves estrangeiras e outros recursos avançados para projetos de maior escala. Suporta diferentes tipos de dados e é também muito escalável.

6. DB2

A opção da IBM é segura, versátil e apresenta ótimo desempenho com bases menores e grandes. Por isso, se adapta bem a diferentes tipos de projetos — o que normalmente se espera de uma tecnologia como o banco de dados.

7. MongoDB 

Um dos líderes do mercado de banco de dados não relacional, o MongoDB lida sempre com documentos JSON. Possui recursos que auxiliam na manipulação de Big Data e na escalabilidade sempre que necessário.

8. Redis

O Redis também é não relacional. Estrutura-se pelo formato chave-valor, similar ao conceito de dicionário em muitas linguagens de programação (como em Python). É fácil de usar e apresenta uma ótima versatilidade para atender a projetos que precisam de um BD com boa performance.

9. Dynamo DB

O DynamoDB é outra alternativa interessante no universo NoSQL. Foi projetado pela Amazon e é a base de empresas como a Netflix. Traz ótimos recursos de segurança e de desempenho, como cache, soluções de recuperação e tolerância a falhas e backups.

Segundo a Amazon, pode suportar um pico de 20 milhões de consultas em um segundo e 10 trilhões de solicitações em dia. É uma ótima opção para gerenciar microsserviços, algo que é muito requerido em aplicações web modernas.

….

Os tipos de banco de dados existentes variam bastante, a depender do que se precisa em cada projeto. Como vimos, a tecnologia de banco de dados é necessária em aplicações diversas, dos web a aplicações mobile. Por isso, é crucial conhecer os principais sistemas para saber suas características e escolher o ideal.

Gostou desse conteúdo e dessa abordagem? Então, continue aprendendo: entenda as diferenças entre analistas e cientistas de dados