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 ).
fonte
Respostas:
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.
fonte