Banco de dados de chave -chave

Content

Este artigo precisa de citações adicionais para verificação. Ajude a melhorar este artigo adicionando citações a fontes confiáveis. Material não concedido pode ser desafiado e removido.Find Fontes: "Banco de dados -chave -valor" - Notícias · Jornais · Livros · Scholar · Jstor (setembro de 2021) (Saiba como e quando remover esta mensagem de modelo)
Paradigma de armazenamento de dados
Um cartão de dados tabular proposto para o mecanismo analítico de Babbage mostrando um par de chaves-chave, neste caso um número e seu logaritmo base-dez

Um banco de dados -chave -valor, ou armazenamento de valores -chave, é um paradigma de armazenamento de dados projetado para armazenar, recuperar e gerenciar matrizes associativas e uma estrutura de dados mais conhecida hoje como um dicionário ou tabela de hash. Os dicionários contêm uma coleção de objetos ou registros, que por sua vez têm muitos campos diferentes dentro deles, cada um contendo dados. Esses registros são armazenados e recuperados usando uma chave que identifica exclusivamente o registro e é usado para encontrar os dados no banco de dados.

Uma tabela mostrando diferentes valores de dados formatados associados a diferentes teclas

Os bancos de dados -chave -valores funcionam de maneira muito diferente dos bancos de dados relacionais mais conhecidos (RDB). O RDBS predefine a estrutura de dados no banco de dados como uma série de tabelas que contêm campos com tipos de dados bem definidos. Expondo os tipos de dados ao programa de banco de dados permite aplicar várias otimizações. Por outro lado, os sistemas de chave -chave tratam os dados como uma única coleção opaca, que pode ter campos diferentes para cada registro. Isso oferece uma flexibilidade considerável e segue mais de perto os conceitos modernos, como programação orientada a objetos. Como os valores opcionais não são representados por espaços reservados ou parâmetros de entrada, como na maioria dos RDBs, os bancos de dados de valores -chave geralmente usam muito menos memória para armazenar o mesmo banco de dados, o que pode levar a grandes ganhos de desempenho em determinadas cargas de trabalho. [Citação necessária]

O desempenho, a falta de padronização e outros problemas limitam os sistemas de valor -chave aos usos de nicho por muitos anos, mas o movimento rápido para a computação em nuvem após 2010 levou a um renascimento como parte do movimento NOSQL mais amplo. Alguns bancos de dados de gráficos, como o ArangodB, também são bancos de dados de valor -chave internamente, adicionando o conceito de relacionamentos (ponteiros) entre os registros como um tipo de dados de primeira classe.

Tipos

Os bancos de dados -chave -valores podem usar modelos de consistência, desde a eventual consistência até a serialização. Alguns apoio à ordem das chaves.

Alguns mantêm dados na memória (RAM), enquanto outros empregam unidades de estado sólido ou discos rotativos.

Toda entidade (registro) é um conjunto de pares de chave -chave. Uma chave possui vários componentes, especificados como uma lista ordenada. A chave principal identifica o registro e consiste nos principais componentes da chave. Os componentes subsequentes são chamados de chaves menores. Esta organização é semelhante a uma especificação do caminho do diretório em um sistema de arquivos (por exemplo,/major/minor1/minor2/). A parte "valor" do par de chaves -chave é simplesmente uma sequência não interpretada de bytes de comprimento arbitrário.

O sistema UNIX fornece DBM (Gerenciador de Database), que é uma biblioteca de 1979 originalmente escrita por Ken Thompson. Também é portado para o Microsoft Windows, fornecido por meio de linguagens de programação como o Perl para o Win32. O DBM gerencia matrizes associativas de dados arbitrários por uso de uma única chave (uma chave primária). As implementações modernas incluem SDBM, GNU DBM e Berkeley DB. Embora o DBM precede o conceito de um NOSQL e raramente seja mencionado no discurso moderno, ele é usado por muitas peças de software.

Veja também

Big dataData analysisDistributed data storeDocument-oriented databaseMulti-model databaseTuple space