Um banco de dados é uma coleção pesquisável de informações geralmente relacionadas (dados) que são armazenadas eletronicamente. A função de um banco de dados não é apenas armazenar dados, mas também armazená-los em um formato que permita a busca eficiente e a recuperação rápida de informações, além de garantir a segurança dos dados.
As próprias funções do banco de dados são procedimentos que executam operações específicas nos dados de um banco de dados. As funções do banco de dados incluem operações CRUD básicas, sendo CRUD um acrônimo para criar, ler, atualizar e excluir dados. Em diferentes linguagens de computador, essas operações básicas podem ter nomes diferentes, por exemplo, inserir em vez de criar.
Um banco de dados é gerenciado por um sistema de gerenciamento de banco de dados (DBMS) ou um sistema de gerenciamento de banco de dados relacional (RDBMS).
Os sistemas de banco de dados são uma combinação de hardware físico que armazena dados, software complexo de DBMS ou RDBMS e diferentes linguagens de computador para acessar e manipular dados.
Os alertas personalizados e a visualização de dados permitem que você identifique e evite rapidamente problemas de saúde e desempenho da rede.
Antes do primeiro banco de dados eletrônico, os bancos de dados não eletrônicos da época eram gabinetes de arquivamento que armazenavam e organizavam informações como documentos em papel e podiam ser indexados e pesquisados com eficiência.
Charles Bachman projetou o primeiro banco de dados computadorizado, o Integrated Data Store (IDS), no início da década de 1960. O IDS introduziu o conceito de banco de dados de navegação, que tinha dois modelos, hierárquico ou de rede, ambos não pesquisáveis. Os bancos de dados eletrônicos pesquisáveis foram introduzidos na década de 1970, juntamente com a linguagem de consulta estruturada (SQL), que fornecia uma maneira de realizar pesquisas em bancos de dados. Na década de 2000, o NoSQL foi desenvolvido para lidar com a grande quantidade de dados não estruturados na Internet. Na década de 2010, influenciado pelo aumento da quantidade de big data e pela globalização da Internet das Coisas (IoT), foi desenvolvido um modelo de banco de dados distribuído para permitir o armazenamento de dados em vários locais físicos.
Os bancos de dados são usados em qualquer lugar em que os dados precisem ser armazenados. Exemplos comuns de onde os bancos de dados são usados incluem sistemas bancários, aplicativos industriais, registros governamentais, varejo, comércio eletrônico, finanças pessoais e a maioria dos tipos de aplicativos on-line. Os usos modernos de bancos de dados incluem redes sociais, computação móvel, nuvem e aplicativos de análise de dados. Esses tipos de aplicativos influenciaram o crescimento de novos tipos de bancos de dados e o uso de sistemas e estruturas de bancos de dados combinados.
Os bancos de dados são caracterizados pelo tipo de dados que armazenam, pelo método usado para acessar os dados ou pela forma como armazenam os dados. Os exemplos incluem bancos de dados relacionais, na memória, hierárquicos, virtualizados, colunares, gráficos, de objetos, distribuídos, de fluxo contínuo, de séries temporais e de nuvem. Os bancos de dados também podem ser categorizados por função ou setor, como bancos de dados pessoais, comerciais, de usuários finais, de blockchain, operacionais e de rede.
O tipo de dados que precisa ser armazenado e acessado determina que tipo de banco de dados é usado em um aplicativo. Há dois tipos de dados armazenados por bancos de dados: dados estruturados e não estruturados. Os dados estruturados têm um comprimento e um formato definidos, por exemplo, números, datas e cadeias de caracteres. São armazenados em um banco de dados relacional e recuperados por meio de um software chamado SQL. Os dados não estruturados incluem multimídia e coleções de documentos. TI são armazenados em bancos de dados não relacionais e acessados principalmente por meio de NoSQL. A principal diferença entre os bancos de dados relacionais e não relacionais é que o primeiro define explicitamente as relações entre os objetos de dados.
Nos bancos de dados relacionais, os dados são organizados em linhas e colunas em tabelas separadas. A estrutura de dados é separada da estrutura física, e os dados podem ser localizados por meio de um algoritmo de pesquisa baseado em identificadores de relacionamento exclusivos, chamados de chaves. Os bancos de dados relacionais usam esquemas, que são projetos que descrevem a forma como os dados são organizados. Os bancos de dados relacionais são projetados para permitir a normalização, ou seja, que qualquer dado seja armazenado apenas em um lugar. Quase o oposto polar de um banco de dados hierárquico, um banco de dados relacional usa um modelo de relacionamento de muitos para muitos. Os bancos de dados relacionais são orientados por linhas, enquanto os bancos de dados não relacionais são orientados por colunas.
Um banco de dados relacional também é chamado de banco de dados SQL porque usa a linguagem de consulta de computador SQL para localizar, recuperar, modificar e excluir dados.
As linguagens de banco de dados podem ser categorizadas como linguagens de definição de dados ou linguagens de manipulação de dados. As linguagens de manipulação de dados incluem linguagens de consulta de dados e linguagens de procedimento. As linguagens procedurais incluem suporte para processos de codificação como iteração e recursão.
O SQL é uma linguagem de definição de dados, não uma linguagem procedural. O SQL geralmente é incorporado em uma linguagem de host de uso geral, como Cobol, C++, Python ou Java, que pode executar funções de iteração e recursão.
Exemplos populares de bancos de dados relacionais incluem o Microsoft SQL Server, o MySQL, o Oracle Database e o IBM DB2.
O uso de grandes volumes de dados não estruturados em aplicativos modernos acionou o desenvolvimento de bancos de dados não relacionais. Os bancos de dados não relacionais são projetados para atender aos requisitos de maior escalabilidade. Os bancos de dados não relacionais são chamados de bancos de dados NoSQL para diferenciá-los dos bancos de dados SQL, ou relacionais, e porque não usam a linguagem de consulta SQL. NoSQL é um acrônimo de not SQL (não SQL), mas também pode significar not only SQL (não apenas SQL).
Diferentes tipos de bancos de dados NoSQL têm suas próprias linguagens de consulta, muitas das quais são vagamente baseadas em SQL. A Cassandra Query Language (CQL) é usada para consultar bancos de dados Cassandra. O MongoDB tem drivers que permitem a interação com diferentes linguagens, como Java ou C#, e tem sua própria linguagem de shell interna, a MongoDB Query Language (MQL), que é baseada em JavaScript.
O termo armazenamento de dados refere-se ao modelo de armazenamento que está sendo usado por um banco de dados não relacional, por exemplo, os dados podem ser armazenados como documentos, imagens ou gráficos. Os bancos de dados NoSQL baseiam-se em quatro modelos principais de armazenamento de dados: armazenamento de valores-chave, armazenamento de documentos, armazenamento orientado por colunas e armazenamento de gráficos. Modelos menos comuns e mais especializados são os armazenamentos de séries temporais, objetos e índices externos.
Um par de valores-chave, ou par nome-valor, é uma unidade de dados identificada por um nome e o valor do conteúdo, por exemplo, key=country e value=bolivia. Usando pares de valores-chave, os desenvolvedores podem criar estruturas de dados abertas e altamente escaláveis que não são limitadas por tamanho ou tipo e são facilmente particionadas para permitir consultas mais rápidas. Os bancos de dados baseados no modelo de valor-chave são considerados a versão mais simples dos bancos de dados NoSQL. Exemplos de bancos de dados de valor-chave são o Redis e o Amazon DynamoDB.
Um banco de dados NoSQL costuma ser chamado genericamente de banco de dados de valor-chave. Alguns bancos de dados NoSQL podem ser considerados bancos de dados de valor-chave híbridos. Por exemplo, o Cassandra do Facebook é um banco de dados de valor-chave e um banco de dados orientado por colunas. O banco de dados NoSQL da Oracle é um banco de dados de valor-chave distribuído.
Um banco de dados baseado no modelo de armazenamento de documentos foi projetado para armazenar documentos de forma eficiente como uma única instância. Empresas de mídia, como jornais e sistemas de base de conhecimento, usam bancos de dados de armazenamento de documentos para armazenar artigos, sinopses, blogs e postagens. Um banco de dados de armazenamento de documentos armazena documentos em sua totalidade, tornando cada documento facilmente acessível. Se os documentos fossem armazenados em um banco de dados relacional, um artigo típico teria de ser dividido em partes compostas e lógicas - por exemplo, informações sobre o autor, conteúdo e comentários dos leitores - e, em seguida, fazer referência cruzada em uma chave como o autor. Exemplos de bancos de dados de armazenamento de documentos são o MongoDB e o Elasticsearch.
Os bancos de dados relacionais são orientados por linhas, enquanto os bancos de dados não relacionais são orientados por colunas. Os bancos de dados baseados no modelo orientado por colunas armazenam as várias colunas encontradas nas linhas de um banco de dados relacional separadamente com IDs individuais. Um banco de dados orientado por colunas pode verificar apenas as colunas de seu interesse ao pesquisar dados, enquanto os bancos de dados orientados por linhas precisam verificar todas as colunas de um registro ao filtrar dados em uma coluna específica. Um exemplo de banco de dados orientado por coluna é o Cassandra do Facebook.
Os armazenamentos de gráficos referem-se a coleções de relacionamentos. Os bancos de dados baseados no modelo de armazenamento de gráficos são amplamente usados por plataformas de mídia social, pois são projetados para conectar nós com várias bordas, criando clusters de informações relacionadas. Em um banco de dados de gráficos, um nó é uma entidade de dados primários, por exemplo, uma pessoa ou uma empresa. As bordas descrevem os relacionamentos que um nó tem com outros nós e bordas, por exemplo, clientes, filiais, funcionários, produtos etc. de uma empresa. As bordas em um banco de dados de gráficos são nós, conectados a diferentes bordas. Um exemplo de banco de dados de gráficos é o Neo4j.
Um banco de dados centralizado opera em um único local, por exemplo, um banco de dados de um campus universitário. Um banco de dados centralizado não é o mesmo que um gerenciador de banco de dados centralizado. As empresas modernas usam sistemas de gerenciamento de bancos de dados centralizados que consistem em vários bancos de dados para armazenar e gerenciar dados diferentes. O gerenciamento centralizado de bancos de dados ajuda as organizações a garantir a segurança, a integridade, a consistência e a eficiência operacional dos dados.
Em um ambiente de nuvem, um banco de dados em nuvem é um serviço de banco de dados. Uma organização pode comprar espaço virtual de um provedor de nuvem no qual pode implantar seu banco de dados. Como alternativa, uma organização pode comprar uma assinatura para uma oferta de banco de dados como serviço (DBaaS), que pode incluir gerenciamento de banco de dados, manutenção e serviços operacionais. O DBaaS é o equivalente do banco de dados ao software como serviço (SaaS). Os bancos de dados em nuvem são normalmente usados por organizações onde há grandes volumes de tráfego e cujos clientes estão distribuídos geograficamente. Exemplos de bancos de dados em nuvem incluem o MySQL, o IBM Db2 e o Microsoft SQL Server.
Um banco de dados colunar é um DBMS que armazena dados em colunas em vez de linhas. Os bancos de dados colunares são usados principalmente em aplicativos analíticos, pois os dados podem ser acessados muito rapidamente, e em data warehouses. Nos bancos de dados baseados em linhas, as linhas são armazenadas em blocos contíguos em um disco. Nos bancos de dados colunares, as colunas são armazenadas em blocos contíguos em um disco. Quando uma empresa precisa recuperar e analisar dados apenas de uma coluna ou grupo específico de colunas e deseja ignorar todos os outros dados de um registro, os bancos de dados colunares são mais eficientes. Exemplos de DBMSs orientados por colunas incluem ClickHouse, MariaDB e Apache Cassandra.
Em um banco de dados distribuído, os dados são armazenados em vários locais físicos ou em vários computadores no mesmo local físico. Para os usuários, o banco de dados parece ser um único banco de dados.
Os arquivos simples são arquivos de texto nos quais as entradas de dados geralmente são separadas por delimitadores como vírgulas. Os arquivos simples são arquivos de armazenamento de dados não relacionais, mas os dados podem ser integrados aos dados do banco de dados relacional usando aplicativos de gerenciamento de banco de dados, como o Microsoft Access. Um exemplo comum de arquivo simples é um arquivo de valores separados por vírgula (CSV).
Em um banco de dados hierárquico, os dados são armazenados em uma estrutura de árvore. Os dados são recuperados de um banco de dados hierárquico percorrendo a estrutura em árvore de cima para baixo usando ponteiros.
Um banco de dados hierárquico usa um modelo de relacionamento de um para muitos, em que um nó pai pode ter vários nós filhos. Um exemplo de um modelo de armazenamento de dados hierárquico é a forma como as pastas e os arquivos são apresentados em gerenciadores de arquivos como o Windows Explorer.
Um banco de dados na memória (IMDB) armazena dados em dispositivos de memória volátil ou na memória de curto prazo de um computador, ou RAM, permitindo acesso mais rápido aos dados. Tradicionalmente, se houver falta de energia, os dados são perdidos. Nos sistemas modernos, a tecnologia de memória de acesso aleatório não volátil permite a manutenção dos dados na memória mesmo se houver uma falha de energia. Uma das maneiras de se conseguir isso é por meio de failover automático.
Na década de 1970, quando os bancos de dados relacionais foram criados, a memória era cara. Hoje, os aplicativos podem ser executados com eficiência usando IMDBs sem perder nenhuma informação em caso de falha de energia. Os aplicativos que exigem alto desempenho e baixa latência - como jogos on-line, processamento geoespacial, processamento de aprendizado de máquina, análise de dispositivos médicos - podem usar IMDBs não voláteis em conjunto com bancos de dados baseados em disco.
Muitos bancos de dados incluem opções na memória, como memcached e Redis. A plataforma Apache Ignite cria uma camada na memória sobre qualquer banco de dados existente. Exemplos de IMDBs "puros" incluem SQLite, Exasol, SAP HANA e IBM solidDB.
Assim como o XML, o JavaScript Object Notation (JSON) é descrito como um banco de dados rudimentar. O JSON é um formato aberto de intercâmbio de dados usado para descrever dados. TI também é um tipo de banco de dados de documentos que pode ser usado para armazenar catálogos em sites de comércio eletrônico e para fornecer atualizações ao vivo em sites.
O TaffyDB é um sistema de banco de dados de arquivos simples que usa JSON para armazenar dados.
Um banco de dados de rede permite que registros de várias tabelas sejam associados a um único registro de outra tabela. Ao contrário de um banco de dados relacional tradicional, que é baseado em chaves, um banco de dados de rede é baseado em ponteiros.
Um modelo de banco de dados de rede é considerado uma versão avançada de um modelo de dados hierárquico, pois usa uma estrutura de gráfico em vez de uma estrutura de árvore. Nos bancos de dados de rede, os nós pais são chamados de ocupantes e os nós filhos são chamados de membros. Em um banco de dados de rede, um nó membro pode ter mais de um nó ocupante. Os nós ocupantes e membros formam um conjunto. As entidades nesse modelo têm um relacionamento de muitos para muitos.
Um banco de dados orientado a objetos armazena dados na forma de objetos, conforme usado na programação orientada a objetos. Em sistemas orientados a objetos, os objetos podem ser persistidos. Dados persistentes são dados mantidos por um período mais longo do que aquele para o qual foram inicialmente criados e armazenados em dispositivos de armazenamento não voláteis. Um banco de dados orientado a objetos usa um modelo de relacionamento de muitos para muitos. Os dados são acessados por meio de ponteiros. Exemplos de bancos de dados orientados a objetos são o Magma e o banco de dados móvel da Realm.
Os bancos de dados objeto-relacionais são bancos de dados híbridos que combinam características de banco de dados relacional e de banco de dados orientado a objetos. A característica distintiva dos bancos de dados relacionais é que eles suportam tipos agregados, por exemplo, listas e conjuntos. Um exemplo disso é uma coluna chamada endereço em um banco de dados relacional que pode incluir uma lista de informações relacionadas, como residência e casas de férias, etc. Exemplos de sistemas de gerenciamento de banco de dados relacional e de objetos (ORDBMS) são o PostgreSQL e o Oracle.
Um sistema de banco de dados OLTP lida com várias transações que são realizadas simultaneamente por vários usuários, por exemplo, em aplicativos de comércio eletrônico. Um banco de dados OLTP geralmente gerencia pequenas quantidades de dados de cada vez, por exemplo, executando uma transação bancária on-line, mas deve suportar um grande número de usuários. Os bancos de dados usados com frequência para OLTP incluem o MySQL, o InterSystems Caché e o VoltDB, um banco de dados NewSQL compatível com atomicidade, consistência, isolamento e durabilidade (ACID).
Qualquer mídia física que possa armazenar dados é um banco de dados, inclusive o disco rígido de um computador. No entanto, os bancos de dados usados e discutidos em TI geralmente são modelos complexos de armazenamento de dados.
Um exemplo de armazenamento de dados pessoais são os dados armazenados em dispositivos pessoais, como computadores pessoais, telefones celulares, tablets e discos rígidos externos. Esses dados são acessados e gerenciados por aplicativos como o Microsoft Office, aplicativos de sistemas que armazenam dados de configuração e do usuário e aplicativos funcionais.
Os dispositivos pessoais também usam IMDBs, como a RAM, para melhorar o desempenho do dispositivo.
Assim como o JSON, um banco de dados XML (Extensible Markup Language) é descrito como um banco de dados rudimentar. O XML é um tipo de banco de dados de documentos no sentido de que os arquivos XML são armazenados com a extensão .xml, podem armazenar dados em conformidade com o formato XML e podem ser consultados usando uma ferramenta de consulta de linguagem como o XQuery.
Os recursos exclusivos de bancos de dados relacionais e não relacionais em aplicativos modernos se fundiram em algumas implementações de banco de dados para criar sistemas de banco de dados de vários modelos. Por exemplo, o OrientDB é um banco de dados gráfico NoSQL cujos nós são documentos.
Um banco de dados que integra recursos de banco de dados relacional e não relacional é outro tipo de banco de dados híbrido, por exemplo, o NewSQL.
Um terceiro tipo de banco de dados híbrido é uma combinação de um IMDB e um banco de dados em disco. Nesse tipo de banco de dados híbrido, os dados podem ser armazenados na memória principal, em um disco ou usando ambos os mecanismos de armazenamento. Um exemplo desse tipo de banco de dados híbrido é o Altibase.
As notificações em tempo real significam uma solução de problemas mais rápida para que você possa agir antes que ocorram problemas mais sérios.
As funções do DBMS são componentes de software que gerenciam grupos de tarefas relacionadas. As funções do DBMS incluem módulos de dicionário, armazenamento, transformação, apresentação, segurança, controle de acesso, backup e recuperação, integridade de dados, acesso, interface, simultaneidade e gerenciamento de transações.
Por exemplo, um DBMS armazena elementos de dados e metadados em um dicionário de dados (DD). Um DBMS permite o armazenamento não apenas de dados, mas também de elementos relacionados a dados, como regras de validação, formulários e definições de relatórios e esquemas que descrevem a estrutura do banco de dados. As funções do DBMS estão inter-relacionadas, por exemplo, um módulo de controle de acesso gerencia o acesso aos dados; o controle de acesso múltiplo permite que vários usuários acessem o banco de dados sem comprometer a integridade dos dados.
Os dados são armazenados, acessados e gerenciados de forma diferente em RDBMSs e DBMSs. Em um RDBMS, os dados são armazenados em linhas em tabelas e acessados por meio de um identificador de linha exclusivo chamado de chave primária. Um RDBMS é compatível com normalização e bancos de dados distribuídos, além de suportar vários usuários. Em um DBMS, os dados são armazenados em um formato hierárquico ou de navegação. Um DBMS não oferece suporte à normalização ou a bancos de dados distribuídos e suporta apenas usuários únicos.
Não há uma especificação formal do que constitui um banco de dados, mas há vários padrões de fato que fornecem diretrizes para a criação de bancos de dados em conformidade com as normas internacionais de dados.
Uma das principais características dos bancos de dados, ou seja, a consistência, baseia-se em um dos dois modelos teóricos: o modelo ACID (atomicidade, consistência, isolamento e durabilidade) e o modelo BASE (basicamente disponível, estado flexível, consistência eventual).
Um banco de dados que usa o modelo ACID garante que os dados sejam armazenados de forma segura e consistente, ou seja, quando um processo armazena dados e sinaliza que os dados foram armazenados, não há possibilidade de que os dados tenham sido perdidos no caminho. Os bancos de dados relacionais sempre adotam o modelo ACID e alguns bancos de dados de gráficos NoSQL são projetados para atender ao modelo ACID.
Um banco de dados que usa o modelo BASE concentra-se na alta disponibilidade dos dados para fins de dimensionamento. Os bancos de dados não relacionais geralmente são projetados para atender ao modelo BASE.
A normalização é o processo de organização dos dados em um banco de dados. A normalização envolve a criação de tabelas e o mapeamento de relacionamentos entre tabelas de acordo com regras específicas projetadas para proteger os dados, eliminar a redundância (duplicação) e garantir que não haja anomalias. Um exemplo de uma anomalia típica que a normalização evita é a criação de informações sobre uma venda sem antes criar informações sobre o produto a ser vendido.
A persistência de dados garante que qualquer informação salva possa ser recuperada mesmo que a mídia de armazenamento ou o sistema que usa os dados seja desconectado. Um exemplo de persistência é a capacidade de um usuário recuperar suas janelas de navegação recentes depois que o computador trava.
Escalabilidade é a capacidade de um banco de dados de lidar com o crescimento, como volumes maiores de dados e mais usuários. Por exemplo, as redes de mídia social precisam ser muito escalonáveis para gerenciar as pessoas que estão constantemente se relacionando com novas pessoas, postando mensagens e carregando dados.
A integridade dos dados refere-se à precisão, integridade, consistência, segurança e proteção dos dados. A integridade dos dados é essencial para a conformidade normativa, como o Regulamento Geral de Proteção de Dados (GDPR).
A cardinalidade refere-se à relação dos dados em uma tabela de banco de dados em relação a outra tabela e está relacionada ao conceito de integridade dos dados. Um exemplo de cardinalidade é a especificação de se a relação entre os valores de dados é de muitos para muitos, de um para um ou de muitos para um, por exemplo, uma pessoa pode ter apenas um número de seguro social. A cardinalidade é importante porque afeta a eficiência com que as consultas são realizadas nos bancos de dados para recuperar informações.
Os bancos de dados relacionais oferecem melhor consistência e confiabilidade do que os bancos de dados não relacionais e reduzem a redundância de dados. Os bancos de dados relacionais fornecem acesso fácil aos dados por meio de um modelo de consulta simples e comprovado, alta segurança, integridade de dados e normalização.
Os bancos de dados relacionais oferecem suporte às propriedades ACID, garantindo transações confiáveis no banco de dados. Eles suportam consultas complexas e oferecem indexação ilimitada.
Os bancos de dados não relacionais oferecem melhor desempenho e processam grandes volumes de dados mais rapidamente do que os bancos de dados relacionais. Eles oferecem alta disponibilidade e não exigem um esquema.
Os bancos de dados não relacionais usam escalabilidade horizontal, o que significa que eles se expandem com a adição de nós adicionais. A escalabilidade em bancos de dados não relacionais é mais econômica do que em bancos de dados relacionais.
Os bancos de dados não relacionais podem armazenar e gerenciar tipos diferentes de dados - como feeds de notícias, fluxos de áudio e vídeo e dados de aplicativos móveis - sem modificar a arquitetura.
Em comparação com outros tipos de bancos de dados, os bancos de dados relacionais são lentos e consomem mais espaço de memória devido à forma como armazenam fisicamente os dados. O processo de normalização pode exigir muitas junções (tabelas de mapas), o que também diminui a velocidade de recuperação de dados.
Os bancos de dados relacionais usam escalabilidade vertical, o que significa que eles se expandem aumentando a capacidade dos nós existentes. A escalabilidade em bancos de dados relacionais é mais cara do que em bancos de dados não relacionais.
Os bancos de dados relacionais podem se tornar complexos quando há muitas tabelas e pode se tornar cada vez mais complicado interagir com outros sistemas igualmente complexos.
Os bancos de dados relacionais são mais caros de manter e não suportam dados não estruturados. Eles também têm limites para o comprimento dos campos.
Os bancos de dados não relacionais não usam uma linguagem de consulta padronizada e as linguagens personalizadas desenvolvidas pelos fornecedores geralmente não são tão poderosas quanto o SQL. Eles não têm tantas ferramentas disponíveis quanto os bancos de dados relacionais.
Os bancos de dados não relacionais não são tão seguros quanto os bancos de dados relacionais. Eles não têm integridade de dados incorporada nem suportam ACID e, em vez disso, dependem de "consistência eventual".
Os bancos de dados NoSQL praticam um nível mais baixo de normalização do que os bancos de dados SQL e, portanto, podem conter redundâncias de dados.
Há pouca uniformidade entre os bancos de dados não relacionais ou interfaces padronizadas para que eles se comuniquem entre si.
Dois dos principais motivos para usar um banco de dados são o acesso rápido e eficiente aos dados e a garantia da persistência dos dados. Os aplicativos modernos, desde sites de redes sociais, previsão do tempo e inteligência artificial, exigem enormes quantidades de processamento de dados em tempo real. Embora, estatisticamente, os bancos de dados relacionais ainda sejam os mais usados, os sistemas de banco de dados modernos geralmente integram uma variedade de bancos de dados de código aberto ou de propriedade, DBMSs, armazenamento físico e virtual e estruturas de banco de dados.
O NewSQL é um sistema de gerenciamento de banco de dados relacional que tem as propriedades escalonáveis de um banco de dados NoSQL. Os bancos de dados NewSQL suportam ACID, OLTP, dimensionamento vertical e horizontal, consultas complexas, vários tipos de armazenamento e sistemas de bancos de dados distribuídos.
Um exemplo de um sistema de banco de dados moderno e combinado é o Spanner do Google. O Spanner é um serviço de armazenamento e gerenciamento de banco de dados SQL distribuído, mas geralmente é chamado de banco de dados NewSQL hospedado em nuvem. Embora os bancos de dados relacionais suportem SQL e sejam mais consistentes do que os bancos de dados NoSQL, eles não são tão bem dimensionados quanto os bancos de dados NoSQL. O Spanner é um banco de dados relacional, mas fornece o tipo de funcionalidade para a qual os bancos de dados NoSQL foram projetados, como escalabilidade global, desempenho otimizado efetuado por fragmentação automática, alta disponibilidade e latência mínima. Sharding é o processo de distribuição de dados de um banco de dados sobrecarregado em vários bancos de dados menores para distribuir a carga.
Outros exemplos de produtos e serviços de banco de dados NewSQL incluem MemSQL, Infobright, ScaleBase e TransLattice.
O PRTG é um software abrangente de monitoramento de rede e mantém o controle de toda a sua infraestrutura de TI.
O monitoramento do banco de dados garante o desempenho ideal dos dados e o uso dos recursos. Por exemplo, o desempenho do SQL é medido pela rapidez e eficiência das consultas SQL, e o planejamento de armazenamento ajuda a estimar a capacidade real necessária antes que os limites de armazenamento sejam atingidos.
O monitoramento proativo do banco de dados identifica possíveis problemas antes que eles se tornem grandes violações de segurança e é obrigatório para cumprir a legislação de privacidade e proteção de dados, como o GDPR.
O desempenho de um banco de dados tem influência direta no tempo de atividade, na velocidade de carregamento de páginas da Web, no desempenho geográfico, na utilização eficiente do hardware e na experiência do cliente.