Aqui estão alguns extratos relevantes.
P: Para que são usadas as famílias de colunas?
R: Os motivos mais comuns do uso de famílias de colunas: (1) use diferentes configurações de compactação, comparadores, tipos de compactação, operadores de mesclagem ou filtros de compactação em diferentes partes dos dados; (2) solte uma família de colunas para excluir seus dados; (3) uma família de colunas para armazenar metadados e outra para armazenar os dados.
P: Qual é a diferença entre armazenar dados em várias famílias de colunas e em vários bancos de dados rocksdb?
R: As principais diferenças serão backup, gravações atômicas e desempenho das gravações. A vantagem de usar vários bancos de dados: banco de dados é a unidade de backup ou ponto de verificação. É mais fácil copiar um banco de dados para outro host do que uma família de colunas. Vantagens do uso de várias famílias de colunas: (1) os lotes de gravação são atômicos em várias famílias de colunas em um banco de dados. Você não pode conseguir isso usando vários bancos de dados RocksDB. (2) Se você emitir gravações sincronizadas no WAL, muitos bancos de dados poderão prejudicar o desempenho.
P: Tenho diferentes espaços-chave. Devo separá-los por prefixos ou usar diferentes famílias de colunas?
R: Se cada espaço de chave for razoavelmente grande, é uma boa ideia colocá-los em diferentes famílias de colunas. Se puder ser pequeno, considere agrupar vários espaços-chave em uma família de colunas, para evitar o problema de manter muitas famílias de colunas.