Qual é a diferença entre criar uma mesa e criar uma família em Cassandra?

eu preciso de detalhes de desempenho e de consulta aspectos, eu aprendi a partir de alguns site que apenas uma chave pode ser dada quando usando um columnfamily, se assim o que você sugere para o meu espaço, eu preciso usar group by, order by, contagem, soma, ifnull, concat, junta-se, e algumas vezes a consultas aninhadas.

Author: Alexis Wilke, 2013-09-16

5 answers

Para responder à pergunta original que colocaste: uma família de colunas e uma mesa são a mesma coisa.

  • o nome "Família da coluna" foi usado na antiga API.
  • o nome "tabela" é usado na mais recente API CQL.

Mais informações sobre as APIs podem ser encontradas aqui: http://wiki.apache.org/cassandra/API

Se necessidade para usar "Grupo por, ordem por, contagem, soma, senull, concat, junta e algumas vezes aninhado querys" como você afirma, então você provavelmente não quer usar Cassandra, uma vez que não suporta a maioria desses.

O CQL suporta COUNT, mas apenas até 10000. Suporta ORDER BY, mas apenas em teclas de agrupamento. As outras coisas que mencionou não são de todo apoiadas.

 52
Author: Ike Walker, 2013-09-16 17:31:55
Em cassandra não há diferença entre a mesa e a família column. são um conceito.
 4
Author: Prijecone, 2018-03-06 08:21:27

Consulte o documento: https://cassandra.apache.org/doc/old/CQL-3.0.html

Especifica que o LRM do CQL suporta a palavra-chave da tabela onde quer que a COLUMNFAMILY seja suportada.

Isto é uma prova de que a tabela e a família Column são sinónimos.
 3
Author: user2250246, 2017-02-16 21:21:32

Para Cassandra 3+ e cqlsh 5. 0. 1

Para verificar, indique uma linha de comandos de cqlsh no keyspace (ksp):

CREATE COLUMNFAMILY myTable (
     ...  id text,
     ...  name int
);

E escreva "desc myTable".
Vais ver.

CREATE TABLE ksp.myTable (
      ...  id text,
      ...  name int
);

São sinónimos, e a Cassandra usa a tabela por omissão.
 0
Author: gavin olsen, 2020-02-28 16:23:09
A família de colunas está relacionada com a tabela do banco de dados relacional,com diferenças de distribuição e talvez até idealismo.

Imaging you have a user entity that might contain 15 column, in a relational db you might want to divide the columns into small-related-column-based struct that we all know as Table. Em db distribuído, como Cassandra você será capaz de concatenar todas essas tabelas entrada em uma única longa fila, então se você vai usar profiler / db manager você verá uma única mesa com 15 colunas em vez de 2/3 mesas. Outra coisa interessante é que cada família de colunas é escrita para diferentes nós, talvez em conjunto diferente e ser reconhecido pela chave de linha, o que significa que você terá uma única chave para toda a família de colunas e não terá que manter um PK ou FK para cada tabela e manter as relações entre eles com 1-1, 1-n, n-n relações. Calma!

 -2
Author: Nativ, 2016-03-26 21:33:51