Na terminologia de Cassandra, o que é Timeuuid?
Pergunta
Na terminologia de Cassandra, o que é TimeUUID
E quando é usado?
Solução
TimeUuid é uma das seis implementações concretas da classe abstrata AbstractType.
Para as famílias de colunas, você tem a possibilidade de especificar um atributo chamado CompareWith. (Supercolumns possuem um atributo comparaBcolumnSwith de comparação).
Valores válidos para este atributo são classes que implementa a classe abstrata abstractType (por exemplo, Timeuuid). O atributo Comparewith diz a Cassandra como classificar as colunas para operações de corte.
Se você estiver usando Java e usando Cassandra com Timeuuid, eu recomendaria ler Esta seção do FAQ Cassandra.
Outras dicas
O Timeuuid é um identificador único global aleatório. 16 bytes.
Apresentação hexadecimal de amostra: A4A70900-24E1-11DF-8924-001FF3591711
Ver http://en.wikipedia.org/wiki/universly_unique_entifier
Pode servir como uma chave primária em termos de banco de dados relacional ou quando você precisa armazenar uma lista de valores sob alguma chave.
Por exemplo, verifique este exemplo do Twitter de código aberto com base em Cassandra:
http://github.com/ericflo/twissandra
User = {
'a4a70900-24e1-11df-8924-001ff3591711': {
'id': 'a4a70900-24e1-11df-8924-001ff3591711',
'username': 'ericflo',
'password': '****',
},
}
Username = {
'ericflo': {
'id': 'a4a70900-24e1-11df-8924-001ff3591711',
},
}
Friends = {
'a4a70900-24e1-11df-8924-001ff3591711': {
# friend id: timestamp of when the friendship was added
'10cf667c-24e2-11df-8924-001ff3591711': '1267413962580791',
'343d5db2-24e2-11df-8924-001ff3591711': '1267413990076949',
'3f22b5f6-24e2-11df-8924-001ff3591711': '1267414008133277',
},
}
Aqui, o usuário recebe uma chave exclusiva A4A70900-24E1-11DF-8924-001FF3591711, que é usada para se referir ao usuário de outros lugares.
para indicar uma "linha" exclusiva em uma família de colunas