Vídeo: API // Dicionário do Programador 2024
Obter a sua cabeça em torno do NoSQL pode ser um pouco difícil. Se você estudou bancos de dados na escola, você pode ter sido adoctrinado de forma relacional. Diga banco de dados para a maioria das pessoas e eles pensam sistema de gerenciamento de banco de dados relacional . Isso é natural porque durante os últimos 30 anos, o RDBMS tem sido tão dominante.
Para ajudá-lo nesta jornada, aqui estão alguns termos fundamentais que prevalecem, bem como o que eles significam quando aplicados aos bancos de dados NoSQL.
-
Construção do banco de dados
-
Banco de dados: Uma única unidade lógica, potencial espalhada em várias máquinas, em que os dados podem ser adicionados e que podem ser consultados para os dados que contém.
O termo relacional tablespace também pode ser aplicado a um banco de dados ou coleção do NoSQL.
-
Fazenda de dados: Um termo de RDBMS referente a um conjunto de conjuntos de réplicas somente leitura armazenados em um conjunto gerenciado de máquinas.
Em um RDBMS, esses normalmente não podem ter máquinas adicionadas sem tempo de inatividade. Nos clusters NoSQL, é desejável expandir rapidamente.
-
Partição: Um conjunto de dados a serem armazenados em conjunto em um único nó para processamento de eficiência, ou para ser replicado.
Também pode ser usado para consulta. Nesse caso, pode ser pensado como uma coleção .
-
-
Estrutura de banco de dados
-
Coleção: Um conjunto de registros, geralmente documentos, que são agrupados. Isso se baseia não em uma propriedade dentro do conjunto de registros, mas em seus metadados. Atribuir um registro a uma coleção geralmente é feito na hora de criação ou atualização.
-
Esquema: No RDBMS e, em certa medida, as lojas de colunas. A estrutura dos dados deve ser configurada no banco de dados antes que qualquer dado seja carregado.
Nos bancos de dados de documentos, embora qualquer estrutura possa ser armazenada, às vezes é melhor limitar as estruturas, aplicando o esquema, como em uma definição de esquema XML. NoSQL geralmente, no entanto, é considerado como livre de esquemas ou como esquema de variável de suporte.
-
-
Registros
-
Registro: Uma única unidade atômica de representação de dados no banco de dados específico que está sendo descrito.
Em um RDBMS, isso seria uma linha, como é nas lojas de colunas. Isso também pode ser um valor em uma loja de valor-chave, um documento em uma loja de documentos ou um assunto (não triplo) em uma loja tripla.
-
Fila: Unidade de registro atômica em uma loja de RDBMS ou coluna.
Pode ser modelado como um elemento dentro de uma loja de documentos ou como um mapa em uma loja de valor-chave.
-
Campo: Um único campo dentro de um registro. Uma coluna em um RDBMS.
Pode não estar presente em todos os registros, mas quando presente deve ser do mesmo tipo ou estrutura.
-
Tabela: Uma única classe de registro. Em Bigtable, eles também são chamados de tabelas. Em uma loja tripla, eles podem ser chamados de tipos RDF sujeitos ou denominados gráficos, dependendo do contexto. Em uma loja de documentos, eles podem ser coleções.
-
-
Associações de registros
-
Chave primária: Um valor exclusivo garantido em uma tabela específica que pode ser usado para sempre fazer referência a um registro. Uma chave em uma loja de valores-chave, URI em uma loja de documentos, ou IRI em uma loja tripla ou gráfica.
-
Chave estrangeira: Um valor de dados que indica uma gravação está relacionado a uma gravação em uma tabela ou conjunto de registros diferente. Tem o mesmo valor que a chave primária na tabela relacionada.
-
Relacionamento: Um link, ou borda na teoria do gráfico, que indica que dois registros têm um link semântico. A relação pode ser entre dois registros nas tabelas iguais ou diferentes.
No RDBMS, normalmente são outras tabelas, enquanto que em uma loja tripla é comum relacionar assuntos do mesmo tipo (pessoas em um gráfico social, por exemplo). Alguns bancos de dados, principalmente lojas de gráficos, suportam a adição de metadados aos relacionamentos.
-
-
Organização de armazenamento
-
Servidor: Um único nó de computador dentro de um cluster. Normalmente, executa uma única instância do código de um servidor de banco de dados.
-
Cluster: Um agrupamento físico ou servidores que são gerenciados juntos no mesmo centro de dados para fornecer um único serviço. Pode replicar seus bancos de dados para clusters em outros centros de dados.
-
Forma normal: Um método para normalizar, ou minimizar a duplicação, em dados em um RDBMS.
Os bancos de dados NoSQL normalmente levam a uma estrutura de dados desnormalização para fornecer consultas mais rápidas ou acesso a dados.
-
-
Tecnologia de replicação
-
Replicação de disco: Replicação transparente de dados entre nós em um único cluster para fornecer resiliência de alta disponibilidade no caso de uma falha de um único nó.
-
Replicação de banco de dados: Replicação entre bancos de dados em diferentes clusters. Replica todos os dados na ordem de atualização de um cluster para outro. Sempre unidirecional.
-
Replicação flexível: Fornece a replicação controlada por aplicativo de dados entre bancos de dados em diferentes clusters. As atualizações podem não chegar na mesma ordem em que foram aplicadas ao primeiro banco de dados. Normalmente, envolve algum processamento personalizado, como priorização de atualizações de dados a serem enviadas a seguir. Pode ser bidirecional com um código de resolução de conflito de atualização apropriado.
-
-
Ferramentas de pesquisa
-
Índice: Uma lista ordenada de valores presentes em um registro específico.
-
Índice inverso: Uma lista ordenada de valores (termos) e uma lista de chaves primárias de registros que usam esses termos.
Fornece uma pesquisa de texto desestruturada eficiente e funções de agregação rápida e classificação quando armazenadas em cache na memória.
-
Consulta: Um conjunto de critérios que resulta em uma lista de registros que correspondem exactamente à consulta, retornados por ordem de valor (s) de campo específico (s).
-
Pesquisa: Um conjunto de critérios que resulta em uma lista ordenada por relevância que corresponde à consulta.
O critério de pesquisa pode não exigir uma correspondência exata, em vez disso retornando um cálculo de relevância ponderado pela proximidade da partida com os critérios.Isso é o que o Google faz quando você faz uma pesquisa.
-