O que você não gosta YugabyteDB?
Desafios e Limitações Atuais
Listamos abaixo as questões e limitações mais críticas que atualmente impactam nossa implantação do YugabyteDB para o aplicativo Iris:
1. Atomicidade e Concorrência de DDL
DDL concorrente em diferentes objetos frequentemente falha ou causa erros de incompatibilidade de esquema.
2. Comportamento de Truncamento
Operações de truncamento retêm tablets antigos, causando proliferação de recursos (CPU, disco).
3. Agregações Lentas / Consultas Analíticas
Funções agregadas (por exemplo, COUNT, SUM, GROUP BY) têm desempenho ruim em tabelas grandes.
4. Erros de Consultas Grandes
Consultas falham com erros de tamanho de mensagem RPC; soluções alternativas requerem ajustes complexos de gflag.
5. Desafios na Criação de Índices
A criação de índices em tabelas grandes é lenta (pode levar horas) e instável se DMLs estiverem em execução.
Falhas de DDLs concorrentes podem resultar em tempo de inatividade do aplicativo ou visualizações desatualizadas.
6. Lentidão Intermitente do Aplicativo
Durante janelas de alta ingestão (por exemplo, clientes Spark + C#), o uso de CPU atinge 80–85%.
7. Consultas Lentas Apesar da Indexação
Desempenho ruim mesmo com índices corretamente projetados.
8. Limitações de DR
DR requer um cluster simétrico de 3 nós e não replica DDL—isso aumenta o esforço manual.
9. Quedas de Nós
Quedas ocasionais devido ao bug pg_client_use_shared_memory.
10. Utilização de Recursos
Máximo de 1800 conexões simultâneas em 6 nós (300/nó).
Alto uso de CPU (80%+) sob 5500 OPS e 1500+ conexões.
11. Uso de Disco do PITR
PITR com retenção de 2 dias consome 1–2 TB de disco.
Comportamento esperado, mas a sobrecarga de armazenamento é significativa.
12. Registro de Auditoria
pgaudit causa falhas e carece de gerenciamento centralizado de logs.
Preferimos que os logs de auditoria sejam armazenados como tabelas consultáveis.
13. Rebalanceamento de Tablets
Rebalanceamento leva 2–3 horas após falhas de nós.
14. Mudança de Nome de Esquema Não Refletida na UI
15. Monitoramento de Desempenho de Consultas
Nenhum painel centralizado de métricas de consultas entre nós.
pg_stat_statements é por nó; requer agregação de dados personalizada.
16. Falta de Suporte a ORM
Prisma ORM carece de suporte nativo ao Yugabyte.
Ainda é necessário um cronograma claro para uma integração de driver inteligente.
17. Outras Questões
Tuplas mortas causando falhas de transação.
Quedas de tserver relacionadas a desvio de relógio.
Verificações de saúde incorretas levando a incidentes de exclusão de tabelas.
Backup para S3 falhou devido a configuração incorreta de endpoint.
Recomendações e Expectativas
Principais Prioridades para Próximas Versões:
Suporte completo a DDL/DML concorrente
Melhoria no desempenho de junções e agregações
Painel central de consultas em todo o universo
Descarregamento e centralização de logs de auditoria
Rebalanceamento inteligente de tablets e recuperação a nível de tabela
UX simplificado de backup/restauração (especialmente para S3)
Documentação e Usabilidade:
Melhores padrões para gflags relacionados ao desempenho.
Orientação clara sobre melhores práticas para coordenação de DDL e ingestão de alta taxa de transferência.
Suporte e Treinamento:
Treinamento mais estruturado sobre otimização de consultas e ajuste de recursos
Visibilidade do roadmap para recursos críticos (por exemplo, suporte a Prisma ORM)
Considerações Finais
Agradecemos a parceria contínua da Yugabyte e a capacidade de resposta às questões. A plataforma mostra forte promessa para cargas de trabalho OLTP e implantações críticas, mas há lacunas claras—especialmente em torno de ferramentas operacionais, suporte a consultas analíticas e concorrência de DDL—que esperamos ver abordadas no roadmap de curto prazo.
Nossa equipe permanece comprometida em colaborar com a Yugabyte para melhorar o produto e aguarda melhorias adicionais de desempenho e confiabilidade. Análise coletada por e hospedada no G2.com.