Ignorar Navegação

O que são bases de dados?

Definições, tipos e exemplos de bases de dados

O que são bases de dados?

Na sua definição mais básica, uma base de dados é qualquer coleção de informações interrelacionadas. Ao escrever uma lista de compras num pedaço de papel, está a criar uma pequena base de dados analógica. O que é uma base de dados em ciência informática? Nesse contexto, define "base de dados" como uma coleção de informações armazenadas como dados num sistema informático, como o inventário no seu supermercado local.

Para que são utilizadas as bases de dados?

As bases de dados são utilizadas para armazenar e organizar dados para facilitar a gestão e o acesso aos mesmos. À medida que uma coleção de dados cresce e assume maior complexidade, torna-se mais difícil manter os dados organizados, acessíveis e seguros. Para ajudar nisso, pode utilizar sistemas de gestão de bases de dados (DBMS), que incluem uma camada de ferramentas de gestão.

O que são dados?

Os dados referem-se a qualquer informação capturada e armazenada sobre uma única pessoa, lugar, coisa ou objeto (chamada entidade), bem como os atributos dessa entidade.

Por exemplo, se estiver a capturar e a armazenar informações sobre restaurantes locais, cada restaurante é uma entidade e o respetivo nome, endereço e horário de funcionamento são atributos dessa entidade. Todas as informações recolhidas e armazenadas sobre os seus restaurantes favoritos são dados.

Tipos de bases de dados

As bases de dados são amplamente agrupadas em bases de dados relacionais e não relacionais. As bases de dados relacionais são altamente estruturadas e compreendem uma linguagem de programação denominada linguagem SQL (Structured Query Language). As bases de dados não relacionais são altamente diversificadas e suportam uma variedade de estruturas de dados. Como muitas bases de dados não relacionais não utilizam o SQL, são geralmente designadas por bases de dados NoSQL.

Tipos de estruturas de dados

As estruturas de tabelas são estruturas de bases de dados relacionais que organizam os dados em linhas e colunas, sendo que as linhas contêm as entidades e as colunas contêm os atributos das entidades. As tabelas largas ou arquivos de colunas largas, utilizam colunas dispersas com atributos vazios para aumentar significativamente o número total de colunas que pode ter na tabela. Como alguns espaços estão vazios, as tabelas largas são um exemplo de uma estrutura de base de dados não relacional.

Estruturas lineares organizam os elementos numa sequência.

Matriz

Lista associada

Árvore binária

As estruturas em árvore organizam os elementos numa base de dados hierárquica de nós em relações principais/subordinadas que derivam de um nó raiz.

Graph

As estruturas de grafos organizam os elementos numa rede não hierárquica de nós com relações complexas entre si.

Tabela hash

As estruturas baseadas em hash mapeiam as chaves para os valores com funções hash que associam os dados relacionados através da atribuição de índices a tabelas hash.

Bases de dados orientadas para documentos

As bases de dados orientadas para documentos organizam quantidades de informações sobre uma entidade num único objeto (o documento), que está separado de outros objetos. Os objetos não têm de ser mapeados entre si e é possível editar um único objeto sem afetar os restantes.

Bases de dados relacionais

Numa base de dados relacional (o tipo mais comum), os dados são organizados em tabelas que armazenam informações sobre cada entidade e representam categorias predefinidas através de linhas e colunas. O acesso a estes dados estruturados é eficiente e flexível.

Exemplos de bases de dados relacionais incluem SQL Server, SQL do Azure, MySQL, PostgreSQL e MariaDB.

Bases de dados não relacionais

As bases de dados não relacionais armazenam dados não estruturados ou semiestruturados. Não utilizam tabelas com colunas e linhas da mesma forma que as bases de dados relacionais. Em vez disso, utilizam um modelo de armazenamento otimizado para os requisitos específicos do tipo de dados que estão a ser armazenados. As bases de dados não relacionais permitem aceder, atualizar e analisar rapidamente conjuntos maiores de dados distribuídos.

Exemplos de bases de dados não relacionais incluem MongoDB, Azure Cosmos DB, DocumentDB, Cassandra, Couchbase, HBase, Redis e Neo4j.

Algumas bases de dados não relacionais são designadas por bases de dados NoSQL. NoSQL refere-se a arquivos de dados que não utilizam o SQL ou não só o SQL para consultas. Em vez disso, as bases de dados NoSQL utilizam outras linguagens de programação e construções para consultar os dados. Muitas bases de dados NoSQL suportam consultas compatíveis com SQL, mas a forma como executam estas consultas é geralmente diferente da forma como uma base de dados relacional tradicional executaria a mesma consulta SQL.

Um tipo de base de dados não relacional, uma base de dados de objetos, utiliza programação orientada para objetos. Os objetos são codificados com um estado (dados reais) armazenado num campo ou variável e um comportamento apresentado através de um método ou função. Os objetos podem ser mantidos no armazenamento persistente para sempre e serem lidos e mapeados diretamente sem uma API ou ferramenta, o que produz um acesso mais rápido aos dados e um melhor desempenho. No entanto, as bases de dados de objetos não são tão populares como outros tipos de bases de dados e podem ser difíceis de suportar.

Bases de dados dentro da memória e caches

Todos os dados numa base de dado dentro da memória estão armazenados na memória de acesso aleatório (RAM) de um computador. Ao consultar ou atualizar este tipo de base de dados, acede diretamente à memória principal. Não existe nenhum disco envolvido. Os dados são carregados rapidamente, uma vez que o acesso à memória principal (que está perto do processador na placa principal) é muito mais rápido do que o acesso a um disco.

As bases de dados dentro da memória são normalmente utilizadas para armazenar cópias de informações acedidas com frequência, como dados de inventários ou preços. Este processo é conhecido como colocação em cache. Ao armazenar os dados em cache, armazena uma cópia numa localização temporária para que sejam carregados mais rapidamente da próxima vez que forem solicitados. Saiba mais informações a colocação em cache.

Exemplos de bases de dados

As bases de dados podem parecer mistérios invisíveis, mas a maioria de nós interage com elas diariamente. Eis alguns exemplos comuns de bases de dados relacionais, NoSQL e dentro da memória:

Transações financeiras

Os bancos utilizam bases de dados para controlar as transações dos clientes, desde consultas de saldo a transferências entre contas. Estas transações têm de ocorrer quase instantaneamente e os dados de grandes quantidades de transações têm de estar sempre atualizados. Para estas finalidades, os bancos utilizam sistemas de processamento transacionais online criados com bases de dados relacionais, que podem lidar com um elevado número de clientes, alterações de dados frequentes a transações e tempos de resposta rápidos.

Catálogos de comércio eletrónico

Se tiver um site de comércio eletrónico, o seu catálogo incluirá produtos individuais, cada um com a sua própria variedade de atributos. Uma base de dados orientada para documentos (um exemplo de base de dados não relacional) utiliza documentos individuais para descrever todos os atributos de um único produto. Pode alterar os atributos no documento sem afetar nenhum dos outros produtos. As bases de dados dentro da memória costumam ser utilizadas para colocar em cache dados de comércio eletrónico acedidos com frequência, como inventários e preços, para acelerar a obtenção de dados e reduzir a carga na base de dados.

Redes sociais

Quando adere a uma rede social, as suas informações são adicionadas a uma base de dados não relacional de todas as pessoas que utilizam essa rede. Quando se liga a outras pessoas nessa rede, torna-se parte de um grafo social. É por isso que consegue ver uma lista filtrada dos seus amigos ou ligações profissionais e descobrir novas pessoas que esses amigos e ligações conhecem.

Resultados personalizados

As bases de dados não relacionais impulsionam a personalização online, que se tornou tão predominante que talvez nem se aperceba. Se reservar um voo através de um site de viagens, também verá opções para reservar hotéis e alugar carros. A base de dados do site contém uma infinidade de informações não estruturadas, como os detalhes do voo, preferências de viagem e reservas anteriores de carros ou hotéis, que são utilizadas para lhe fornecer sugestões personalizadas de forma a poupar tempo, dinheiro ou esforço. Da mesma forma, as bases de dados dentro da memória são utilizadas como arquivo de sessões para guardar com eficiência os dados temporários do utilizador, como as preferências de pesquisa ou o carrinho de compras, ao utilizar a aplicação.

Análise empresarial

Quando as organizações pretendem extrair informações dos seus próprios dados, as bases de dados relacionais ajudam a gerir as análises. Um suporte técnico de tecnologia, por exemplo, pode monitorizar os problemas do cliente numa variedade de dimensões, incluindo tipo de problema, tempo para resolver o problema e satisfação do cliente. Uma base de dados relacional que utilize uma estrutura de tabelas organiza os dados dos problemas do cliente com apenas duas dimensões de cada vez. No entanto, com um sistema de processamento analítico online, o suporte técnico pode examinar mais de uma tabela de cada vez, o que permite à análise multidimensional processar grandes quantidades de dados a velocidades elevadas.

Sistemas de gestão de bases de dados

Os administradores de bases de dados utilizam sistemas de gestão de bases de dados (DBMS) para controlar os dados, sobretudo quando estão a trabalhar com macrodados. Os macrodados referem-se a grandes volumes de dados estruturados e não estruturados que são geralmente recebidos pelo sistema em tempo real ou quase em tempo real. Um DBMS também ajuda a gerir dados utilizados em várias aplicações ou dados que residem em várias localizações.

Diferentes sistemas de gestão oferecem diferentes níveis de organização, escalabilidade e aplicação. Além do tipo de dados que deseja organizar e de como quer aceder aos mesmos, o DBMS que utiliza também depende do local onde residem os dados, do tipo de arquitetura utilizada pela sua base de dados e de como planeia dimensionar.

Os seus dados estão no local, na cloud ou em ambos?

Nas bases de dados no local, os dados residem no hardware local privado (geralmente designado por cloud privada). Para adicionar capacidade de dados, os administradores de bases de dados têm de garantir que os servidores no local têm espaço suficiente disponível ou expandir a infraestrutura com novo hardware para criar espaço.

Nas bases de dados com base na cloud, os dados estruturados ou não estruturados residem numa plataforma de computação em cloud privada, pública ou híbrida (ou seja, numa plataforma que combina o armazenamento na cloud privada e pública). Como as bases de dados na cloud foram concebidas para um ambiente virtualizado, são altamente dimensionáveis e disponíveis. Também ajudam a reduzir os custos, uma vez que não precisa de comprar tanto hardware e paga apenas pelo armazenamento que utilizar.

A arquitetura da sua base de dados é centralizada, distribuída ou federada?

Numa base de dados centralizada, todos os dados residem num único sistema, num só lugar. Este sistema único é o ponto de acesso para todos os utilizadores.

Uma base de dados distribuída pode abranger tipos de bases de dados relacionais e não relacionais. Nas bases de dados distribuídas, os dados são armazenados em várias localizações físicas, seja em vários computadores no local ou distribuídos por uma rede de computadores interligados.

Numa base de dados federada, várias bases de dados distintas executadas em servidores independentes são unificadas num objeto grande. Um blockchain é um tipo de base de dados federada utilizado para gerir em segurança livros razão financeiros e outros registos de transações.

Irá crescer com os seus dados ao aumentar verticalmente ou horizontalmente?

Aumentar (ou reduzir) verticalmente, também designado por dimensionamento vertical, é o processo de adição de recursos, como memória ou CPUs mais avançadas, a um servidor existente.

Aumentar (ou reduzir) horizontalmente, também designado por dimensionamento horizontal, adiciona mais computadores ao conjunto de recursos.

Dimensionar horizontalmente em vez de verticalmente prolonga o ciclo de vida do hardware existente, liberta-o para atualizar sem a vinculação do fornecedor, reduz os custos e cria um potencial de flexibilidade a longo prazo.

Bases de dados do Azure

Simplifique as suas operações de dados com bases de dados totalmente geridas que automatizam a escalabilidade, a disponibilidade e a segurança. Escolha entre bases de dados relacionais, NoSQL e dentro da memória que abrangem mecanismos proprietários e open-source.

Conheça a família de bases de dados do SQL do Azure

Unifique o seu portefólio SQL sem sacrificar a compatibilidade. Migre, modernize e implemente aplicações à sua maneira, do edge à cloud, com tecnologia familiar do SQL Server.

Dimensione sem medo com a Base de Dados do Azure para PostgreSQL

A Base de Dados do Azure para PostgreSQL ajuda-o a dimensionar a sua carga de trabalho de forma rápida e fiável com elevada disponibilidade, otimização do desempenho com tecnologia de IA e segurança avançada.

Saiba mais sobre o Azure PostgreSQL

Crie aplicações de elevado desempenho com o Azure Cosmos DB

O Azure Cosmos DB é uma base de dados NoSQL totalmente gerida com APIs abertas e velocidade garantida em qualquer escala.

Saiba mais sobre o Azure Cosmos DB

Lide eficazmente com tráfego elevado com a Cache do Azure para Redis

A Cache do Azure para Redis ajuda-o a lidar com milhares de utilizadores simultâneos com velocidade quase instantânea ao adicionar uma camada de colocação em cache rápida à arquitetura da sua aplicação.

Saiba mais sobre a Cache do Azure para Redis
Como podemos ajudá-lo?