Sistema de Gerenciamento de Banco de Dados (DBMS)

Por que confiar em nós

A saber, um sistema de gerenciamento de banco de dados se comporta como uma interface. Desse modo, saiba como funciona e o que é Sistema de Gerenciamento de Banco de Dados (DBMS) em sua totalidade. Além disso, confira o significado e definição do termo. 

O que é um Sistema de Gerenciamento de Banco de Dados?

Uma definição simples de sistema de gerenciamento de banco de dados (SGBD) é um middleware que permite que programadores, administradores de banco de dados (ADBs), aplicativos de software e usuários finais armazenem, organizem, acessem, consultem e manipulem dados em um  banco de dados .

Os SGBDs são importantes porque fornecem mecanismos eficientes e confiáveis ​​para organizar, gerenciar e usar grandes quantidades de dados, ao mesmo tempo em que garantem a integridade dos dados e fornecem outros benefícios de gerenciamento de dados.

Techopedia explica o significado de Sistema de Gerenciamento de Banco de Dados (DBMS)

Na empresa, os sistemas de gerenciamento de banco de dados fornecem aos administradores de banco de dados (DBAs) uma estrutura que facilita o compartilhamento de dados entre diferentes departamentos, equipes e aplicativos.

O DBMS fornece aos funcionários acesso controlado e organizado aos dados que eles podem usar para impulsionar a inovação e ajudar sua empresa a manter uma vantagem competitiva.

História dos Sistemas de Gerenciamento de Banco de Dados

A história dos sistemas de gerenciamento de banco de dados se da no início dos anos 1960, quando os computadores começaram a ser usados ​​para processamento de dados.

Naquela época, o conceito era geralmente chamado de sistema de gerenciamento de informações.

O primeiro sistema de gerenciamento de banco de dados disponível comercialmente foi o Integrated Data Store (IDS). Ele foi desenvolvido por Charles W. Bachman e sua equipe na General Electric (GE) no final dos anos 1960.

O IDS era um SGBD hierárquico que organizava dados em uma estrutura semelhante a uma árvore, com relacionamentos pai-filho entre registros.

Ele permitia que os usuários armazenassem, recuperassem e gerenciassem dados de maneira estruturada.

O IDS também introduziu o conceito de dicionário de dados, que definia a estrutura e os relacionamentos dos dados dentro do banco de dados.

Antes do IDS, os dados eram geralmente armazenados em arquivos simples, e não havia um padrão para como os arquivos deveriam ser armazenados, acessados ​​ou manipulados.

O IDS de Bachman foi eventualmente ofuscado pelo surgimento de bancos de dados relacionais e da Structured Query Language (SQL) na década de 1970.

Desde então, os produtos e serviços de DBMS passaram por avanços contínuos que melhoraram o armazenamento, a recuperação e o gerenciamento de dados.

Evolução dos Sistemas de Gestão de Bases de Dados

Ano Evento
1964 Desenvolvimento do primeiro banco de dados, um Integrated Data Store (IDS), por Charles Bachman na General Electric.
1966 A IBM apresenta o Sistema de Gerenciamento de Informações (IMS), um desenvolvimento conjunto com a Rockwell e a Caterpillar.
1970 Edgar F. Codd apresenta o modelo relacional em um artigo intitulado “ Um modelo relacional de dados para grandes bancos de dados compartilhados”.
1974 A Linguagem de Consulta Estruturada (SQL) é criada.
1976 Peter Chen apresenta o Modelo Entidade-Relacionamento em seu artigo “ O Modelo Entidade-Relacionamento – Rumo a uma Visão Unificada de Dados”.
1979 A Oracle lança o primeiro banco de dados relacional comercial que usa SQL.
1980 A IBM apresenta o System R, o sistema de gerenciamento de banco de dados relacional baseado em SQL.
1981 O SQL/DS, o primeiro SGBD completo a ser executado em computadores pessoais , é lançado pela IBM.
1983 A primeira versão do DB2 da IBM é lançada para mainframes.
1986 Manifesto do Sistema de Banco de Dados Orientado a Objetos é publicado, dando um impulso significativo ao desenvolvimento de bancos de dados orientados a objetos.
1996 É lançado o PostgreSQL, um dos primeiros sistemas de gerenciamento de banco de dados relacional de código aberto.
1998 O MySQL, outro importante RDMS de código aberto, é lançado para Windows 95 e NT.
1998 A Microsoft lança o SQL Server 7.0, uma reescrita completa de seu DBMS.
2000 Startups da Internet adotam bancos de dados XML.
2004 O termo “NoSQL” ganha popularidade, levando a uma nova geração de bancos de dados distribuídos e não relacionais.
2006 O Google publica um artigo sobre o BigTable , seu banco de dados NoSQL interno, influenciando uma nova onda de bancos de dados NoSQL de código aberto
2012 A Amazon apresenta o DynamoDB, um banco de dados NoSQL proprietário.
2013 O FoundationDB, um banco de dados distribuído projetado para lidar com grandes volumes de dados estruturados, é lançado.
2017 O Google anuncia o Spanner, um banco de dados distribuído globalmente.
Década de 2020 Desenvolvimento e inovação contínuos em tecnologia DBMS, com foco em bancos de dados nativos da nuvem, bancos de dados de ponta e melhorias na integração de inteligência artificial (IA) para gerenciamento de banco de dados. Bancos de dados blockchain também se tornam um tópico significativo de interesse.

Componentes do Sistema de Gerenciamento de Banco de Dados (DBMS)

O componente principal de cada DBMS é chamado de mecanismo de banco de dados.

É o software que interage diretamente com o sistema de armazenamento subjacente ou sistema de arquivos e orquestra as interações entre subcomponentes modulares que permitem que o mecanismo gerencie e manipule dados no sistema de banco de dados. Isso inclui módulos para:

Restaurar e recuperar

Esses módulos gerenciam operações de backup e recuperação de dados para proteger contra perda de dados ou falhas do sistema. Eles incluem mecanismos para criar backups de banco de dados, restaurar dados e executar operações de recuperação.

Controle de Concorrência e Gerenciamento de Transações

Esses módulos gerenciam o acesso simultâneo ao banco de dados por vários usuários ou aplicativos. Eles lidam com mecanismos de bloqueio e garantem a consistência dos dados.

Linguagem de acesso ao banco de dados

Este tipo de módulo permite que o mecanismo de banco de dados processe e interprete consultas de usuários ou comandos escritos na linguagem de acesso padrão. Ele analisa a sintaxe da linguagem de consulta, valida a consulta em relação às informações do catálogo e gera um plano de execução otimizado para recuperar ou manipular os dados conforme solicitado.

Linguagem de Definição de Dados (DDL)

módulo DDL permite que os usuários definam a estrutura e a organização dos dados. Ele inclui comandos para criar, alterar e excluir objetos de banco de dados, como tabelas, visualizações, índices e restrições.

Dicionário de dados

dicionário de dados (também chamado de repositório de metadados) armazena metadados sobre o banco de dados, incluindo informações sobre a estrutura, relacionamentos e propriedades dos dados. Este módulo é usado pelo mecanismo DBMS para garantir a consistência dos dados e impor restrições exclusivas.

Linguagem de Manipulação de Dados (DML)

módulo DML fornece comandos para manipular e recuperar dados dentro do banco de dados. Os usuários podem usar instruções DML para inserir, atualizar, excluir e consultar dados.

Armazenamento de dados e inteligência empresarial

Esses módulos facilitam a extração, transformação e carregamento de dados de várias fontes em um data warehouse separado . Eles também oferecem suporte a ferramentas de processamento analítico on-line (OLAP) e relatórios para inteligência empresarial (BI).

Indexação

A maioria dos SGBDs inclui módulos de indexação para acelerar a execução de consultas, reduzindo a quantidade de dados que precisam ser escaneados. 

Bloqueio

O componente gerenciador de bloqueio de um DBMS é responsável por gerenciar o controle de concorrência. Ele previne conflitos e mantém a consistência dos dados ao garantir que múltiplos usuários ou transações não possam modificar os mesmos dados simultaneamente.

Registro e Auditoria

Os DBMSs geralmente incluem módulos para atividades de log e auditoria de banco de dados. Os registros de log documentam alterações no banco de dados – incluindo inserções, atualizações e exclusões – bem como eventos do sistema, como backups e recuperações. A auditoria envolve o monitoramento e a revisão desses logs para rastrear ações do usuário, manter a integridade dos dados e ajudar a impor a conformidade das políticas de segurança.

Processando Consultas

O processador de consultas recebe e interpreta consultas do usuário, converte-as em um plano de execução otimizado e interage com o mecanismo de banco de dados para executar consultas de forma eficiente . Ele inclui submódulos para otimizar consultas que consideram fatores como índices disponíveis, operações de junção e métodos de acesso a dados.

Replicação

Alguns DBMSs suportam replicação de dados, o que envolve criar e manter várias cópias do banco de dados em diferentes locais ou em diferentes servidores. A replicação melhora a disponibilidade dos dados, a tolerância a falhas e o desempenho. Ela garante que, se uma cópia do banco de dados ficar indisponível, os dados ainda poderão ser acessados ​​de outra cópia.

Segurança e Autorização

Os módulos de segurança e autorização controlam o acesso do usuário ao banco de dados e garantem a privacidade e integridade dos dados. Eles lidam com autenticação e gerenciamento de usuários e implementam os mecanismos de controle de acesso do princípio do menor privilégio (PoLP) com base nas funções do usuário e nos requisitos do trabalho.

Armazenar

O mecanismo de banco de dados em um DBMS se comunica com um mecanismo de armazenamento para gerenciar o armazenamento físico de dados. O mecanismo de armazenamento é responsável por manipular os detalhes de baixo nível de como os dados são armazenados e acessados, enquanto o mecanismo de banco de dados coordena e orquestra essas ações para otimizar o funcionamento geral do sistema de gerenciamento de banco de dados.

Interfaces de usuário

Esses módulos fornecem interfaces de usuário (UI) que permitem que programadores, administradores de banco de dados e usuários finais interajam com o banco de dados. Isso pode incluir interfaces de linha de comando (CLI), interfaces gráficas de usuário (GUI) ou interfaces de programação de aplicativos (APIs) para integração de software.

Políticas do Usuário

As políticas de usuário definem e aplicam controles de acesso e políticas de segurança interna. Elas especificam permissões, funções e privilégios e governam como os usuários podem interagir com um banco de dados.

Banco de dados vs. Sistema de Gerenciamento de Banco de Dados

Os termos “banco de dados” e “sistema de gerenciamento de banco de dados” são frequentemente usados ​​de forma intercambiável em conversas casuais. Isso provavelmente ocorre porque, quando os usuários finais interagem com um banco de dados, eles não estão cientes do DBMS subjacente e de sua função distinta no gerenciamento de dados.

Para aumentar a confusão, em alguns casos, o DBMS é incorporado diretamente no código do aplicativo, tornando ainda menos aparente que um sistema separado está envolvido.

Para diferenciar os dois termos e usá-los corretamente, é útil entender suas respectivas funções e funcionalidades:

  • Um banco de dados é uma coleção estruturada de dados.
  • sistema de gerenciamento de banco de dados é o software que desenvolvedores, usuários finais e aplicativos usam para interagir com um banco de dados.

RDBMS vs. SGBD

Um sistema de gerenciamento de banco de dados relacional (RDBMS) é um tipo de sistema de gerenciamento de banco de dados. Todos os RDBMSs são DBMSs, mas nem todos os sistemas de gerenciamento de banco de dados são sistemas de gerenciamento de banco de dados relacional.

SGBD RDBMS
Diferentes tipos podem ser usados ​​para gerenciar vários tipos de modelos de banco de dados Só pode gerenciar o modelo de banco de dados relacional
Os dados podem ser armazenados em diversas estruturas dependendo do tipo de SGBD usado Sempre armazena dados em tabelas com linhas e colunas
A aplicação automática da integridade dos dados pode variar entre diferentes tipos de DBMS Impõe automaticamente a integridade dos dados por meio de restrições como chave primária , chave exclusiva e chave estrangeira
Diferentes tipos de SGBD podem usar diferentes linguagens ou técnicas para manipular dados Sempre usa SQL

Até a virada do século, os sistemas de gerenciamento de banco de dados eram classificados como relacionais ou não relacionais, dependendo de sua estrutura e usos. Se o DBMS armazenasse dados em tabelas, ele era chamado de DBMS relacional (RDBMS). Se ele não armazenasse dados em tabelas, ele era chamado de  NoSQL ou DBMS não relacional.

Hoje, os sistemas de gerenciamento de banco de dados ainda são categorizados como RDBMS ou não RDBMS, mas também são classificados pelas vantagens exclusivas que fornecem. Os tipos de DBMSs incluem:

Sistemas de gerenciamento de banco de dados em nuvem

Os SGBDs em nuvem, como o Amazon Aurora, são projetados para gerenciar dados distribuídos armazenados em data centers remotos de um provedor de nuvem.

Sistemas de gerenciamento de banco de dados colunar

DBMSs colunares como Apache Cassandra retornam consultas mais rapidamente armazenando dados em colunas em vez de linhas. Esse esquema facilita o trabalho de aplicativos de análise de dados e inteligência de negócios com grandes conjuntos de dados.

Sistemas de gerenciamento de banco de dados distribuídos

Funcionalidades do DDBMS, como aquelas encontradas no ecossistema Apache Hadoop, são projetadas para garantir a integridade dos dados para bancos de dados logicamente relacionados em vários locais ou ambientes de computação. 

Sistemas de gerenciamento de banco de dados de gráficos

Esses sistemas são projetados para suportar bancos de dados de gráficos que armazenam relacionamentos no nível de registro individual. DBMSs de gráficos como o Neo4j são ideais para gerenciar dados com relacionamentos interconectados , como dados  de mídia social.

Sistemas de gerenciamento de banco de dados hierárquicos

Os sistemas de gerenciamento hierárquico são projetados para suportar bancos de dados organizados em relacionamentos pai-filho. Esse tipo de DBMS tem suas raízes na computação de mainframe e seus usos hoje são limitados. 

Sistemas de gerenciamento de banco de dados HTAP

Os DBMSs de processamento analítico/transacional híbrido são projetados para suportar cargas de trabalho mistas para dados analíticos e transacionais. Os sistemas de banco de dados tradicionais geralmente têm sistemas separados para cargas de trabalho de processamento de transações on-line (OLTP) e processamento analítico on-line (OLAP). Os sistemas de gerenciamento HTAP, como SAP HANA e CockroachDB, fornecem uma plataforma unificada que pode lidar com ambos os tipos de tarefas simultaneamente.

Sistemas de gerenciamento de banco de dados na memória

Os sistemas de gerenciamento in-memory são projetados para reduzir a latência usando a memória principal para gerenciamento e armazenamento de dados. O Volt Active Data e outros IMDBMSs tornam a recuperação de dados significativamente mais rápida e melhoram o desempenho geral do sistema.

Sistema de gerenciamento de banco de dados orientado a objetos (OODBMS)

db4o é um exemplo desse tipo de SGBD. Os OODMBSs são projetados para gerenciar estruturas de dados complexas como objetos de armazenamento.

Sistemas de gerenciamento de banco de dados NewSQL

DBMSs NewSQL como PostgreSQL fornecem os benefícios de escalabilidade e desempenho de bancos de dados NoSQL, mantendo as propriedades ACID de bancos de dados relacionais tradicionais. Este tipo de DBMS é projetado para ambientes distribuídos de larga escala e pode lidar com cargas de trabalho transacionais de alto rendimento.

Sistemas de gerenciamento de banco de dados de séries temporais

DBMSs de séries temporais como o InfluxDB otimizam o armazenamento, a recuperação e a análise de dados com registro de data e hora. Eles são frequentemente usados ​​para dar suporte a análises financeiras e sistemas de monitoramento de Internet das Coisas (IoT).

Exemplo de sistemas de gerenciamento de banco de dados

Exemplos de SGBDs bem conhecidos incluem:

Logotipo do Microsoft Access Access – um RDMS leve incluído no Microsoft Office e no Office 365 .
Logotipo do Amazon RDS Amazon RDS – um DBMS nativo em nuvem que oferece mecanismos para gerenciar bancos de dados MySQL, Oracle , SQL Server, PostgreSQL e Amazon Aurora.
Logotipo do Apache Cassandra Apache Cassandra – um sistema de gerenciamento de banco de dados distribuído de código aberto conhecido por ser capaz de lidar com grandes quantidades de dados.
Logotipo do Filemaker Filemaker – um DBMS relacional de baixo código/sem código (LCNC).
Logotipo do Google Cloud Spanner Google Cloud Spanner – um serviço de banco de dados relacional distribuído globalmente, escalável horizontalmente e fortemente consistente oferecido pelo Google Cloud .
Logotipo do IBM DB2 IBM Db2 – uma família de sistemas de gerenciamento de banco de dados relacional desenvolvida pela IBM que oferece várias edições para diferentes ambientes e cargas de trabalho.
Logotipo MariaDB MariaDB – um fork de banco de dados relacional de código aberto do MySQL.
Logotipo do banco de dados SQL do Microsoft Azure Banco de Dados SQL do Microsoft Azure – um serviço de banco de dados relacional baseado em nuvem fornecido pelo Microsoft Azure que oferece bancos de dados SQL totalmente gerenciados.
Logotipo do MongoDB MongoDB – Um popular sistema de gerenciamento de banco de dados NoSQL que usa um esquema orientado a documentospara fornecer alta escalabilidade e flexibilidade.
Logotipo do MySQL MySQL – um RDBMS de código aberto de propriedade da Oracle.
Logotipo do Oracle RDMS Oracle – um RDMS proprietário otimizado para arquiteturas de nuvem híbrida.
Logotipo do PostgreSQL PostgreSQL – um sistema de gerenciamento de banco de dados relacional de código aberto conhecido por sua robustez, escalabilidade e amplos conjuntos de recursos.
Logotipo do SAP HANA SAP HANA – um RDBMS orientado a colunas e na memória, otimizado para ingestão de dados em tempo real e análises de alto desempenho.
Logotipo do SQL Server SQL Server – um sistema de gerenciamento de banco de dados relacional de nível empresarial da Microsoft que é capaz de lidar com volumes extremamente grandes de dados e consultas de banco de dados .
Logotipo do SQLite SQLite – um mecanismo de banco de dados relacional leve e baseado em arquivos , amplamente utilizado em sistemas embarcados e aplicativos móveis.
Logotipo da Teradata Teradata – um poderoso mecanismo SQL que fornece soluções escaláveis ​​para gerenciar e analisar grandes volumes de dados.

Benefícios de usar um SGBD 

1. Controle de simultaneidade2. Recursos de segurança3. Suporte de conformidade4. Gerenciamento do ciclo de vida dos dados5. Controles de Privacidade

Gerencia interações entre vários usuários ou aplicativos que acessam o mesmo banco de dados simultaneamente, garantindo a integridade dos dados em cenários de alto tráfego.

Oferece uma variedade de recursos de segurança, como regras de controle de acesso, atribuições de funções de usuário e configurações de permissão para proteger dados contra acesso ou manipulação não autorizados.

Os SGBDs são ferramentas de conformidade úteis porque fornecem trilhas de auditoria e recursos de registro para rastrear e monitorar o uso e as modificações do acesso aos dados.

Um DBMS pode ajudar administradores a gerenciar o ciclo de vida de dados implementando políticas para retenção de dados, arquivamento e eventual descarte. Um DBMS também pode ajudar a impor controles de privacidade fornecendo mecanismos que  anonimizam ou criptografam dados sensíveis.

Aplica medidas de privacidade por meio de mecanismos como anonimização ou criptografia de dados para proteger informações confidenciais contra divulgação não autorizada.

Desafios dos sistemas de gerenciamento de banco de dados

Embora os sistemas de gerenciamento de banco de dados tenham revolucionado a maneira como pequenas e grandes empresas lidam e gerenciam dados, a curva de aprendizado para implementação e gerenciamento de DBMS corporativos pode ser desafiadora.

Isso é especialmente verdadeiro se o DBMS precisa ser integrado a sistemas de planejamento de recursos empresariais (ERP) ou plataformas de gerenciamento de relacionamento com o cliente (CRM).

A implementação de um novo DBMS também pode ser cara. Mesmo empresas de médio porte provavelmente precisarão contratar ou contratar um administrador de banco de dados qualificado para garantir que seu DBMS esteja configurado, mantido e otimizado adequadamente. Taxas de licenciamento, infraestrutura de hardware, atualizações de software e despesas contínuas de manutenção também podem sobrecarregar os orçamentos, especialmente para organizações menores.

Futuro do SGBD

Os SGBDs atuais incorporam tecnologias de ponta, como IA, aprendizado de máquina (ML) e blockchain para enfrentar os desafios do big data e ajudar as organizações a permanecerem em conformidade com as regulamentações e padrões relevantes para gerenciamento de dados.

  • DBMSs equipados com recursos de IA e ML podem automatizar tarefas como otimização de consultas , indexação de dados e detecção de anomalias. Sistemas inteligentes de gerenciamento de banco de dados podem aprender com padrões de dados, adaptar-se a cargas de trabalho em mudança e otimizar o desempenho de forma autônoma.
  • Bancos de dados habilitados para blockchain podem fornecer armazenamento de dados imutável e transparente e permitir transações seguras e auditáveis. Esse tipo de sistema de gerenciamento de banco de dados elimina a necessidade de autoridades centrais, ao mesmo tempo em que aprimora a integridade dos dados. Isso os torna ideais para setores como finanças, cadeia de suprimentos e saúde , onde os riscos e impactos da adulteração de dados são significativos.
  • DBMSs com recursos de processamento de fluxo integrados estão se tornando vitais para casos de uso como análises em tempo real, detecção de fraudes e experiências personalizadas do cliente. Com o surgimento da IoT e das fontes de dados de streaming, os DBMSs precisarão lidar com o processamento de dados em tempo real de forma ainda mais eficiente.

Perguntas Frequentes

O que é um SGBD em termos simples?

SQL é um SGBD?

Qual é um exemplo de um SGBD?

O Excel é um SGBD?

Related Terms

Margaret Rouse
Technology Specialist
Margaret Rouse
Especialista em Tecnologia

Margaret é uma premiada redatora e professora conhecida por sua habilidade de explicar assuntos técnicos complexos para um público empresarial não técnico. Nos últimos vinte anos, suas definições de TI foram publicadas pela Que em uma enciclopédia de termos tecnológicos e citadas em artigos do New York Times, Time Magazine, USA Today, ZDNet, PC Magazine e Discovery Magazine. Ela ingressou na Techopedia em 2011. A ideia de Margaret de um dia divertido é ajudar os profissionais de TI e de negócios a aprenderem a falar os idiomas altamente especializados uns dos outros.