Como você chama o modelo de dados do DynamoDB e do Cassanda?


9

O artigo da Wikipedia sobre o DynamoDB diz que o DynamoDB é um banco de dados de " valor-chave ". No entanto, chamá-lo de um banco de dados com "valor-chave" perde completamente um recurso extremamente fundamental do DynamoDB, o da chave de classificação : as chaves têm duas partes (chave de partição e chave de classificação) e itens com a mesma chave de partição podem ser recuperados com eficiência e classificados juntos. pela chave de classificação.

O Cassandra também possui exatamente o mesmo recurso de classificação de itens dentro de uma partição (que ele chama de "chave de cluster"), e o artigo da Cassandra Wikipedia usa o termo armazenamento de coluna ampla para descrevê-lo. No entanto, embora esse termo "coluna ampla" seja melhor que "valor-chave", ele ainda é um pouco inapropriado porque descreve a situação mais geral em que um item pode ter um número muito grande de colunas não relacionadas - não necessariamente uma lista classificada de Itens.

Portanto, minha pergunta é se existe um termo mais apropriado que possa descrever o modelo de dados de um banco de dados como o DynamoDB e o Cassandra - bancos de dados que, como um armazenamento de valores-chave, podem recuperar itens de chaves individuais com eficiência, mas também podem recuperar itens classificados de maneira eficiente. chave ou apenas parte dela ( chave de classificação do DynamoDB ou chave de cluster do Cassandra ).


2
Acho "Key-Key-Value" para capturar a natureza Partition / Ordering / Value deste modelo
Tzach Livyatan

Estou votando para encerrar esta questão como fora de tópico, porque ela não parece relacionada à codificação.
Charles

5
Por que ele precisa estar relacionado à "codificação"? Ele não possui a tag C ++ ou Java ou qualquer outra linguagem de programação, portanto, não se trata de codificar em nenhuma linguagem de programação. Possui o Cassandra et al. tags - indicando que é sobre esse software . Existe um site melhor de stackexchange que você acha que melhor combina perguntas sobre software? E note que esta pergunta já tem +2 pontos. Aparentemente, não é uma pergunta muito ruim.
Nadav Har'El 23/03

2
Minha sugestão "Key-Sortable-Value"
TomerSan 25/03

Respostas:


3

Antes da introdução do CQL, o Cassandra aderiu mais estritamente ao modelo de dados de armazenamento de colunas largas, onde você só tinha linhas identificadas por uma chave de linha e contendo colunas de chave / valor classificadas. Com a introdução do CQL, as linhas ficaram conhecidas como partições e colunas, opcionalmente, podem ser agrupadas em linhas lógicas por meio de chaves de cluster.

Até o Cassandra 3.0, o CQL era simplesmente uma abstração sobre o modelo de dados de economia original e não havia conceito de linhas CQL no mecanismo de armazenamento. Eles eram apenas um conjunto classificado de colunas com uma chave composta que consistia nos valores concatenados das chaves de cluster. Mais detalhes são fornecidos neste artigo . Agora, há suporte nativo para CQL no mecanismo de armazenamento, o que permite que os modelos de dados CQL sejam armazenados com mais eficiência.

No entanto, se você pensar em uma linha CQL como um agrupamento lógico de colunas na mesma partição, o Cassandra ainda poderá ser considerado um amplo armazenamento de colunas. De qualquer forma, não existe, a meu conhecimento, outro termo bem estabelecido para descrever esse tipo de banco de dados.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.