No que diz respeito a "Dinâmico" , o formato somente compactado do Barracuda, muito pouco mudou do compacto, principalmente sobre como os blobs (e quaisquer campos muito dinâmicos) são armazenados . Nunca tive problemas com compacto vs. dinâmico, portanto, posso recomendar com segurança a dinâmica do Barracuda. Lembre-se de que o Barracuda também suporta antigos formatos de linhas redundantes e compactos .
O artigo que você está mencionando provavelmente é muito antigo (5.1) e, como Peter Z., CEO da Percona, menciona os comentários, pode ser um pouco enganador. Isso não significa que a compactação não pode ser um grande ganho, dependendo das cargas de trabalho. No entanto, eu recomendaria que você o experimentasse nas versões> = 5.6, pois o Facebook e a Oracle fizeram muitas melhorias.
Como materiais de referência mais recentes, eu recomendaria:
Gosto particularmente dos materiais do Facebook, pois são terceiros (não há necessidade de uma agenda) e eles têm uma das maiores implementações do MySQL no mundo. Como você pode ver, eles tiveram configurações muito bem-sucedidas combinando tecnologia SSD com compactação.
Isso beneficiará você? Isso dependerá da sua carga de trabalho, conjunto de trabalho e configuração (IOPS, memória) . Dependendo do limite de IO, CPU ou memória, a compactação pode afetar negativamente em alguns casos, adicionando CPU extra, requisitos de memória (páginas compactadas e descompactadas são armazenadas no buffer pool do InnoDB) ou gerando muitas falhas de compactação, aumentando a latência. Também depende do tipo de dados: a compactação pode ajudar bastante com grandes blobs de texto, mas pode ser inútil com dados já compactados.
Na minha experiência, na prática, existem pessoas para as quais a compressão foi o santo graal do desempenho e estão muito felizes com isso, mas em outros casos, tivemos que reverter para dados não compactados, pois nenhum ganho foi obtido. Embora uma carga de trabalho de gravação muito pesada possa parecer um ambiente ruim para compactação, se no seu caso particular você não estiver vinculado à CPU e à memória, mas vinculado aos Iops, pode ser útil.
Em geral, é muito difícil prever resultados, geralmente você deve configurar um ambiente de teste para benchmarking e depois descobrir por que obtém resultados melhores ou piores (e assim você pode jogar com diferentes tamanhos de bloco, etc.). Barracuda é completamente seguro. A compressão pode ou não ser para você. E você sempre pode experimentar outros métodos de compactação, como a compactação de blobs no lado do cliente (por exemplo, se você acabar vinculado à CPU) ou outros mecanismos de terceiros como RocksDB e TokuDB , nos quais a compactação é uma grande prioridade, pois é focada em desempenho para conjuntos de dados maiores do que o InnoDB pode suportar.
Em poucas palavras: Os principais motivos para usar o Barracuda são o manuseio de BLOB, innodb_large_prefix
compatibilidade (índices grandes) e compactação. Dinâmico, no MySQL 8.0 agora é o formato de arquivo padrão.