O que são as bases de dados?
Definições, tipos e exemplos de bases de dados.
O que são as 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, pode definir "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 de bases de dados.
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
Os tipos de bases de dados são amplamente agrupados 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 e as linhas incluem as entidades e as colunas 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 de bases de dados numa base de dados hierárquica de nós em relações principais/subordinadas que derivam de um nó raiz.
Grafo
As estruturas de grafos organizam os elementos de bases de dados 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 baseadas em documentos
As bases de dados baseadas em 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. Estes dados estruturados têm acesso eficiente e flexível.
Alguns exemplos de bases de dados relacionais incluem o SQL Server, SQL do Azure, MySQL, PostgreSQL e MariaDB.
Bases de dados 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 baseada em 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 indefinidamente e 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 qualquer 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 sobre a colocação em cache.
Exemplos de bases de dados
As bases de dados podem parecer mistérios invisíveis, mas a maioria das pessoas interage com as mesmas todos os dias. 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 baseada em 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 tenha apercebido. 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 de bases de dados 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 nuvem ou em ambos?
Nas bases de dados no local, os dados residem no hardware local privado (geralmente designado nuvem 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 baseadas na nuvem, os dados estruturados ou não estruturados residem numa plataforma de computação na nuvem privada, pública ou híbrida (ou seja, numa plataforma que combina o armazenamento na nuvem privada e pública). Como as bases de dados na nuvem 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 e 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 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 dimensionamento horizontal, adiciona mais computadores ao seu 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.
Explore bases de dados no Azure e encontre a que precisa
Saiba mais sobre migrar as suas bases de dados para o Azure
Crie uma base de dados na nuvem gerida com a sua conta gratuita do Azure
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 à nuvem, com tecnologia familiar do SQL Server.
Explore bases de dados no Azure e encontre a que precisa
Saiba mais sobre a Base de Dados SQL do Azure
Saiba mais sobre os conceitos básicos do SQL do Azure num percurso de aprendizagem orientado
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 de bases de dados.
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.
Lide de forma eficaz com tráfego elevado com a Cache do Azure para Redis
A Cache do Azure para Redis ajuda 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.
Comece a criar com o Azure
Experimenta os serviços de computação na nuvem do Azure gratuitamente durante um máximo de 30 dias ou comece a utilizá-los com preços pay as you go. Sem qualquer compromisso. Pode cancelar em qualquer altura.