AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 339678
Accepted
MASL
MASL
Asked: 2024-05-22 02:04:31 +0800 CST2024-05-22 02:04:31 +0800 CST 2024-05-22 02:04:31 +0800 CST

Recomendação Cassandra DSE de carga de 1 TB por nó

  • 772
A recompensa expira em 14 horas . As respostas a esta pergunta são elegíveis para uma recompensa de +50 reputação. O MASL quer chamar mais atenção para esta questão:
razões técnicas para: - o limite de 1 TB - o limite de 50% - a relevância relativa do primeiro em relação ao segundo limite - exemplos vivos (passados ​​ou presentes) e/ou referências que fornecem evidências que apoiam a relevância dessas duas restrições.

Gostaria de entender a recomendação de max. Carga de 1 TB por nó que é repetidamente sugerida, principalmente o Datastax.

Não vi em nenhum lugar como esse limite se traduz em qualquer métrica, além de comentários bastante subjetivos, como substituição mais rápida de nós ou backups. Esses tipos de comentários são muito ambíguos (o que é rápido para você pode não ser para um ambiente de produção diferente) ou podem até ser irrelevantes. (Veja isso )

Além disso, 1 TB parece um limite muito baixo atualmente, quando você pode obter um disco sata de 8 TB por pouco mais de US$ 130.

  1. O limite de 1 TB corresponde a uma limitação real inerente ao design do Cassandra?
  2. Este limite foi quantificado, por exemplo, mostrando (por exemplo, gráficos) como algumas métricas pioram claramente acima dele?
  3. Este limite é mais relevante que "<50% da capacidade"? Digamos que a carga esteja em 3 TB, mas a capacidade esteja em 50%, ainda haveria necessidade de aumentar o número de nós?

Esta restrição é tal que provavelmente é sempre mais fácil e barato fixar o limite de capacidade do que o de carga. Isso não me parece razoável e, se for certo, questiona seriamente a adequação de Cassandra para pequenas e médias empresas.

cassandra
  • 1 1 respostas
  • 67 Views

1 respostas

  • Voted
  1. Best Answer
    mck
    2024-05-30T04:13:26+08:002024-05-30T04:13:26+08:00

    Tentarei fazer o meu melhor para lhe dar as respostas que você procura.

    As respostas curtas são: 1. não, 2. sim, 3. depende™

    Em mais detalhes…

    Cassandra 5.0+ permitirá confortavelmente uma densidade superior a 4 TB por nó. A densidade de nós recomendada é baseada em hardware, modelo de dados e fatores operacionais. Uma recomendação atualizada e precisa para 5.0 está em andamento.

    A recomendação para versões mais antigas do Apache Cassandra e todas as suas variantes é de 1 a 4 TB de dados por nó. Isso significa discos de 2 a 8 TB. (E os discos precisam ser capazes de lidar com um mínimo de 10k IOPS sustentados e não fazer JBOD.)

    A regra dos 50% é a regra básica para tabelas que usam STCS (SizeTieredCompactionStrategy). O processo de compactação duplica no disco o que (e enquanto) ele está compactando. Mais tabelas significa que nenhuma compactação única cobrirá todos esses 50% (tendo em mente que há compactadores simultâneos). Outras estratégias de compactação alteram este comportamento. LCS (LeveledCompactionStrategy) possui níveis e funciona com compactações menores, portanto, muitas vezes pode funcionar com até 70% de uso do disco. TWCS (TimeWindowedCompactionStrategy) apenas compacta a janela de tempo atual, de modo que 50% se torna 50% x tamanho máximo da janela de tempo.

    Há outras coisas que ocupam espaço em disco, como backups e instantâneos, operações de streaming, etc., portanto, a regra dos 50% é uma recomendação segura para ser descartada sem entrar em todos os detalhes. Na prática, normalmente é algo em torno de 60-70%. Mas, como você já apontou, discos nesses tamanhos são baratos.

    A limitação de dados por nó tem a ver com facilidade operacional. Certas operações começam a se tornar mais demoradas e desajeitadas acima da densidade de dados do nó de 1 TB. Especialmente todas as atividades relacionadas ao streaming: inicialização, descomissionamento, reparos, etc. Muitos clusters estão funcionando perfeitamente a 4 TB, apesar do peso de algumas tarefas impostas ao operador. Se estiver usando LCS, pode haver muita E/S proveniente de compactações, o que pode prejudicar as latências de leitura. Se estiver usando STCS, a compactação da camada maior pode levar muito tempo, deixando as camadas inferiores pendentes, o que também pode prejudicar as latências de leitura. O TWCS não sofre esses problemas e vimos pessoas usarem até 16 TB por nó, mas isso torna essas operações de streaming dolorosas. Novamente, a recomendação segura para descartar é 1 TB.

    Apache Cassandra 5.0 e DataStax 6.8 possuem UCS (Estratégia de Compactação Unificada). Esta estratégia de compactação pode ser ajustada/sintonizada entre as compensações de amplificação de gravação ou leitura, ou seja, uma escala móvel entre comportamento como STCS ou como LCS (analogia do pobre). Com esta estratégia de compactação e uma série de outras melhorias significativas (como índices estáveis ​​baseados em tentativas), a densidade dos nós pode ser muito maior. E as operações de streaming foram aprimoradas para serem mais rápidas e “mais leves”.

    Cassandra é uma tecnologia escalável, adote essa mentalidade ao planejar a capacidade desde o primeiro dia. Não se trata apenas de aproveitar as vantagens do hardware comum, mas das principais características de design do Cassandra de durabilidade, disponibilidade e escalabilidade linear.

    Seu argumento sobre Cassandra não separar a computação da escalabilidade de armazenamento é válido. Fique ligado para mais ações nessa frente, desde armazenamento em camadas, processos/serviços separados para estágios em segundo plano (SEDA) até TCM (CEP-21), há muitas melhorias por vir. Tendo trabalhado com centenas (talvez milhares) de clusters de produção, como consultor no The Last Pickle e na DataStax, e a maioria deles sendo de pequeno a médio porte conforme você levanta preocupações, não vi esse problema ser o bloqueador que você supõe que seja. Cassandra é o banco de dados distribuído sem líder mais popular que existe por um motivo. Mas sim, sua escolha de hardware é um pouco mais selecionada (lembre-se de expansão horizontal, não de expansão, e SSDs conectados localmente, não uma SAN), mas por outro lado, estamos falando mais aqui sobre otimizações de desempenho/custo, que todos nós amamos , mas não são bloqueadores.

    Eu recomendo que você dê uma olhada no AstraDB que já tem todas essas vantagens e muito mais.

    • 1

relate perguntas

  • Configuração multidatacenter Cassandra com 1 ip externo

  • Problemas de atualização/reparo do Cassandra na migração

  • Consultas do navegador Cassandra cqlsh possíveis apenas em bytes

  • Quais são as penalidades de usar muitos (milhares) de famílias de colunas ou keyspaces no Cassandra?

  • Criptografia Cassandra em repouso

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve