Bancos de dados: O que são? Por que são importantes?
Juntamente com as linguagens de programação, eles são os pilares que garantem o funcionamento de praticamente todo site e serviço na Web, das aplicações e sistemas empresariais, dos apps de celular, jogos eletrônicos, serviços públicos, enfim, muito do que utilizamos no mundo atual. Estamos falando dos bancos de dados.
Quer entender o que são, a sua história, a importância, os mais populares e outras questões relacionadas?
Então vamos do começo!
O que é um banco de dados?
Um banco de dados é um sistema que tem por função armazenar dados (informações sobre algo ou alguém) de modo organizado e permitir realizar uma variedade de ações sobre esses dados, por intermédio do software conhecido como SGBD (Sistema de Gerenciamento de Banco de Dados).
Dizer apenas isso a respeito pode gerar confusão, afinal um software como o Excel também armazena dados e possibilita aos usuários efetuar muitíssimas manipulações com eles, mas não é um banco de dados típico e sim uma aplicação popularizada como planilha eletrônica, a qual permite efetuar cálculos matemáticos, gerar relatórios e gráficos, entre outras possibilidades.
Já um legítimo banco de dados é caracterizado por:
-
Ter uma estrutura para armazenar e disponibilizar os dados de modo consistente;
-
Grande velocidade na pesquisa / acesso e manipulação das informações contidas;
-
Salvar enormes volumes de dados inter-relacionados ou não;
-
Guardar diferentes tipos de dados (texto, números inteiros e reais, booleanos, etc);
-
Acesso simultâneo por parte de diferentes usuários;
-
Sistemas modernos possuem camadas de segurança para cumprir leis de privacidade (como a LGPD no Brasil)
Tipos de bancos de dados
Além dos aspectos mencionados, há outro fator relevante, que são os tipos de bancos de dados e que depende da aplicação e da forma como armazenamos, organizamos e acessamos as informações neles contidas:
-
Relacionais (SQL) – organiza os dados em tabelas com linhas (registros) e colunas (campos). Utiliza a linguagem SQL (Structured Query Language) e são adequados para dados estruturados, sistemas de transações que exigem alta consistência (ex: transações bancárias, e-commerce);
-
Não Relacionais (NoSQL) – não faz uso de tabelas fixas, sendo flexível, escalável e ideal para grandes volumes de dados. Ideal para dados não estruturados ou semiestruturados, Big Data, redes sociais, aplicações em tempo real;
-
Dados de Documentos – nesse tipo não relacional (NoSQL) os dados são armazenados como documentos, incluindo formatos como JSON, XML e BSON. Os bancos de dados de documentos são comuns em sistemas de gerenciamento de conteúdo;
-
Dados Vetoriais – armazenam dados como "vetores" (representações numéricas de dados complexos, como texto ou imagens) e são mais indicados para Inteligência Artificial (IA) generativa, busca por similaridade semântica e Machine Learning (aprendizado de máquina);
-
Dados de Grafos – foca nas relações entre os dados, usando "nós" e "arestas" e pode ser apropriado para algoritmos de redes sociais, sistemas de recomendação, ou sistemas de detecção de fraude.
Em nosso bate-papo, a atenção será mais concentrada no primeiro tipo – os bancos relacionais (SQL).
A origem dos bancos de dados
No passado, particularmente no ambiente organizacional, era bem comum a situação que fez surgir os primeiros bancos de dados – todas as informações das empresas eram armazenadas em papel.
Assim, era comum que grandes empresas mantivessem arquivos (gaveteiros para armazenar pastas), com pastas que continham inúmeras folhas de papel com dados sobre fornecedores, vendas, compras e tudo o mais que em algum momento era preciso saber para tomar cada decisão.
A consulta aos dados necessários sobre algo, era manual, trabalhosa, demorada e estava sujeita a erros.
Com o desenvolvimento da computação, na década de 60 e por meio do seu departamento de pesquisas, a IBM criou os primeiros modelos de bancos de dados, onde esses dados que antes estavam registrados em papel, migrassem para meios digitais e pudessem ser consultados mais facilmente e rapidamente.
Os modelos criados na ocasião, são os que conhecemos como modelos de rede e hierárquicos de bancos de dados. Ainda existem, mas são pouco utilizados e para fins bem específicos.
A migração dos dados antes restritos ao papel, para os primeiros bancos de dados, pode ser encarada como o pontapé inicial para o fenômeno que hoje chamamos de transformação digital.
É importante destacar que foi a partir da criação dos bancos de dados, que se passou a considerar a diferença entre dado e informação.
O primeiro é apenas um valor ou registro de algo e que isoladamente não tem sentido. Já a informação é a reunião de dois ou mais dados que se relacionam organizadamente, com sentido e produzindo algum conhecimento e uma ou muitas ações.
Partindo dessa conceituação, os bancos de dados foram desenvolvidos de forma a armazenar e extrair não apenas dados tais como nomes, produtos, quantidades, valores, datas, ou o tipo de dado que se tenha armazenado, mas tirar informação e produzir ações com base em conclusões, tendências, probabilidades e estimativas feitas sobre os dados armazenados.
Visando facilitar o uso do conteúdo para produzir informação utilizável de maneira prática, na década de 70 surgiu o tipo de banco de dados mais usado atualmente e que se baseia no modelo relacional, segundo o qual os registros são organizados em tabelas e as tabelas se relacionam entre si.
Há dependência ou relação entre as informações contidas nas diferentes tabelas, razão pela qual recebeu tal nome.
Assim, em uma possível – entre muitas – relação, você pode ter uma tabela de fornecedores, que contenha dados (razão social, endereço, ramo de atividade, produtos, etc) e uma de pedidos, que contenha o histórico de pedidos feitos a esses fornecedores.
Graças a esse modelo, por meio de uma consulta feita, usando um SGBD (Sistemas Gerenciadores de Bancos de Dados), é possível entre outras coisas:
-
Saber quantos pedidos foram feitos a um determinado fornecedor em um período;
-
O montante comprado e de quais itens é composto cada pedido;
-
Os valores médio, mínimo e máximo dos pedidos;
-
E uma série de outras informações, com apenas um clique.
É claro que até chegarmos à conveniência e rapidez de que dispomos hoje, um longo caminho foi percorrido e a confluência de muitas tecnologias foi necessária.
Portanto, bancos de dados – ou databases como também são chamados – são recursos computacionais para armazenar de forma organizada de acordo com modelos previamente estipulados, os quais definem os tipos de bancos, com o objetivo de guardar e extrair informação classificável e utilizável por meio de um SGBD.
Como funciona um banco de dados relacional?
Resumidamente, o funcionamento de um banco de dados relacional se baseia nos seguintes aspectos:
-
A SQL (Structured Query Language) é a linguagem usada para se efetuar ações sobre um banco de dados relacionais, a qual permite gerenciar a totalidade dos dados (registros) gravados em cada tabela, sendo que um banco de dados é a coleção de todas as tabelas nele existentes;
-
O gerenciamento de dados ocorre quando o cliente SQL se comunica com um banco de dados, realizando operações que podem ser a seleção de dados de diferentes tabelas, a alteração, criação, exclusão, junção de tabelas, ou seja, tudo que envolva a manipulação de cada valor contido em cada tabela;
-
As tabelas têm relação entre si, de forma que por exemplo, uma tabela de produtos, pode ser vinculada a uma tabela de fornecedores, bem como a tabela de vendas e a de estoque, de tal forma que a cada venda feita, uma atualização na tabela do estoque é processada, bem como o atingimento de uma determinada quantidade de itens no estoque, pode gerar um novo pedido junto aos respectivos fornecedores;
-
Diferentes usuários podem ter diferentes privilégios associados a tais dados, como por exemplo, apenas leitura, permissão para criação de uma tabela, execução de comandos SQL, ou acesso a apenas algumas tabelas ou controle total sobre tudo;
-
O sistema que é apto a realizar tudo isso, é chamado de sistema de gerenciamento de banco de dados relacional (SGBD).
Alguns bancos de dados populares
A seguir listamos apenas os bancos de dados gratuitos e open source, pois a escolha por esse tipo de licença, além de ser bastante comum, influencia de modo importante o desenvolvimento e manutenção do projeto, mas também por estar mais alinhada às necessidades dos clientes da HostMídia.
Caso precise ou queira mais informações sobre algum deles, recomendamos a leitura do post “Os 9 bancos de dados gratuitos mais populares na Web”.
Na tabela a seguir, você encontra as principais vantagens de cada alternativa, bem como os usos para os quais são mais indicados:
|
Banco de dados |
Principais vantagens |
Usos mais indicados |
|
Simplicidade, ampla comunidade, boa performance em leitura |
Sites dinâmicos, e-commerces, aplicações web tradicionais |
|
|
Conformidade com padrões, recursos avançados (JSON, GIS), robustez |
Sistemas complexos, aplicações financeiras, análise de dados |
|
|
Compatibilidade com MySQL, melhorias de performance, open source ativo |
Substituto direto do MySQL, aplicações que buscam maior liberdade de licença |
|
|
SQLite |
Leveza, zero configuração, armazenamento local |
Aplicativos mobile, protótipos, softwares embarcados, padrão para quase todos os navegadores Web (armazenando seu histórico e preferências localmente) |
|
MongoDB |
Flexibilidade de esquema, escalabilidade horizontal, ótimo para dados não estruturados |
Aplicações modernas, Big Data, catálogos de produtos |
|
Redis |
Altíssima velocidade, suporte a cache e filas, estrutura em memória |
Cache de aplicações, sistemas de mensagens, ranking em tempo real |
|
Cassandra |
Escalabilidade massiva, alta disponibilidade, tolerância a falhas |
Grandes volumes de dados distribuídos, IoT, telecom |
|
CockroachDB |
Distribuição geográfica, forte consistência, tolerância a falhas |
Aplicações globais, sistemas críticos que exigem resiliência |
|
Neo4j |
Modelagem de grafos, consultas rápidas em relações complexas |
Redes sociais, sistemas de recomendação, análise de fraudes |
A importância dos bancos de dados
Não há modo mais prático de demonstrar a importância dos bancos de dados, do que citar algumas das suas utilizações mais comuns:
-
Websites – todo website dinâmico (conteúdo é gerado em tempo real, adaptando-se às interações do usuário) faz uso de bancos de dados, como é o caso de um e-commerce ou um site de conteúdo;
-
CMS – todos os principais CMSs (Drupal, Moodle, etc) utilizam databases, sendo que o mais usado (WordPress) utiliza o MySQL;
-
Sistemas corporativos – sistemas como CRM, SGV (Sistema de Gestão de Vendas), ou quaisquer outros utilizados no dia a dia das empresas, funcionam em cima de algum SGBD;
-
E-mail – seja o próprio serviço de e-mail, seja os serviços nele baseados (ex: newsletter), precisam de um sistema que organiza os dados para acesso quando necessário;
-
Internet – todo o funcionamento da Internet e muitas das tecnologias nela empregadas (ex: DNS), é altamente dependente de diferentes sistemas de gestão de bancos de dados;
-
Varejo - ao passar no caixa do supermercado, da loja de roupas ou de sapatos, ou no magazine, há uma aplicação que é responsável por associar o código de barras ao preço, a eventuais descontos ou promoções, dar baixa no estoque e se você tem algum cadastro, alimentar o CRM da empresa. Tudo isso só é possível porque as informações estão devidamente estruturadas, armazenadas e acessíveis;
-
Apps de celular – sejam boa parte dos games online, sejam os apps de streaming, sejam os de serviços de delivery, sejam ainda os bancários, são fundamentados em grandes volumes de dados que são acessados e atualizados inúmeras vezes e em tempo real;
-
Serviços públicos – atualmente boa parte dos serviços públicos dispensa que você tenha que ir a uma repartição ou órgão. Todas as informações dos cidadãos, bem como as relacionadas aos prestadores dos serviços, constam de gigantescas estruturas;
-
Inteligência artificial – as muitas IAs que usamos diariamente, só se tornaram viáveis, seja porque no processo de aprendizado e treinamento houve incontáveis dados disponíveis, seja porque há outros parâmetros necessários ao seu funcionamento e que são guardados em databases específicos.
Difícil não é listar o que depende dessa tecnologia, mas encontrar algo que não dependa de alguma solução de armazenamento e organização de informação.
É verdade que se não existissem como os conhecemos hoje, alguma alternativa teria sido inventada, afinal o volume de dados existentes e que são gerados a cada ação das pessoas, só faz crescer e se hoje fossem armazenados como eram no passado, possivelmente viveríamos rodeados por montanhas de papel e sem termos condição de acessá-las de modo útil e produtivo.
Conclusão
Mais do que meros depósitos de arquivos, os bancos de dados são a inteligência por trás da transformação digital. Entender seu funcionamento ajuda a perceber como a tecnologia contribui para as facilidades da era digital. Seja em servidores físicos ou na nuvem, o fato é que sem eles, a agilidade do mundo moderno simplesmente não existiria.
O próximo passo? Escolher a infraestrutura certa para os seus!


