Versão distribuída do DBMS TiDB 4.0

Disponível lançamento de DBMS distribuído TiDB4.0desenvolvido sob a influência das tecnologias do Google chave inglesa и F1. O TiDB pertence à categoria de sistemas híbridos HTAP (Hybrid Transactional/Analytical Processing) capazes de fornecer transações em tempo real (OLTP) e processar consultas analíticas. O projeto é escrito em Go e distribuído por licenciado sob Apache 2.0.

Características TiDB:

  • Suporte para SQL e fornecimento de uma interface de cliente compatível com o protocolo MySQL, o que facilita a adaptação de aplicativos existentes escritos para MySQL para TiDB e também permite o uso de bibliotecas de cliente comuns. Além do protocolo MySQL, você pode usar a API baseada em JSON e o conector do Spark para acessar o DBMS.
  • Dos recursos de SQL, índices, funções agregadas, GROUP BY, ORDER BY, expressões DISTINCT, mesclagens (LEFT JOIN / RIGHT JOIN / CROSS JOIN), exibições, funções de janela e subconsultas são suportadas. As oportunidades fornecidas são suficientes para organizar o trabalho com TiDB de aplicativos da web como PhpMyAdmin, Gogs e WordPress;
  • Expansão e resiliência: a capacidade de armazenamento e processamento pode ser ampliada simplesmente adicionando novos nós. Os dados são distribuídos entre os nós com redundância para permitir que as operações continuem se os nós individuais falharem. As falhas são tratadas automaticamente.
  • O sistema garante consistência e se parece com um grande SGBD para o software cliente, apesar do fato de que, de fato, dados de muitos nós estão envolvidos para completar a transação.
  • Diferentes back-ends podem ser usados ​​para armazenamento de dados físicos em nós, por exemplo, mecanismos de armazenamento local GoLevelDB e BoltDB ou mecanismos de armazenamento distribuído nativo TiKV e TiFlash. O TiKV armazena dados no formato linha por linha no formato chave/valor e é mais ideal para tarefas de processamento de transações (OLTP). O TiFlash armazena dados de maneira baseada em colunas e permite obter maior desempenho ao resolver problemas analíticos (OLAP).
  • A capacidade de alterar de forma assíncrona o esquema de armazenamento, permitindo adicionar colunas e índices em tempo real sem interromper o processamento de operações em andamento.

Na nova versão:

  • Por padrão, o coletor de lixo distribuído Green GC está ativado, o que pode aumentar significativamente a velocidade da coleta de lixo em grandes clusters e melhorar a estabilidade;
  • Adicionado suporte para grandes transações, cujo tamanho é limitado quase pelo tamanho da memória física. Limite de tamanho de transação única aumentado de 100 MB para 10 GB;
  • Adicionado suporte para comandos BACKUP e RESTORE para backup;
  • Adicionada a capacidade de definir um bloqueio nas tabelas;
  • Adicionado mecanismo de isolamento de transação compatível com MySQL no nível de leitura (READ COMMITTED);
  • O suporte para expressões LIKE e WHERE foi adicionado ao comando "ADMIN SHOW DDL JOBS";
  • Adicionado o parâmetro oom-use-tmp-storage, que permite o uso de arquivos temporários para cache de resultados intermediários em condições de RAM insuficiente;
  • Adicionada a palavra-chave Random para atribuir valores aleatórios aos atributos;
  • O comando LOAD DATA agora tem a capacidade de usar expressões hexadecimais e binárias;
  • Adicionados 15 parâmetros para controlar o comportamento do otimizador;
  • Adicionadas ferramentas para diagnosticar o desempenho de consultas SQL. Adicionado log de consulta lenta disponível através das tabelas do sistema SLOW_QUERY / CLUSTER_SLOW_QUERY;
  • Adicionado suporte para funções para trabalhar com sequências;
  • Adicionada a capacidade de alterar dinamicamente os parâmetros de configuração lidos do PD (Placement Driver, servidor de gerenciamento de cluster). Adicionada a capacidade de usar a instrução "SET CONFIG" para alterar as configurações dos nós PD/TiKV.
  • Adicionada configuração max-server-connections para limitar o número máximo de conexões simultâneas ao servidor (4096 por padrão);
  • Melhor desempenho em situações onde as colunas solicitadas são totalmente cobertas por índices;
  • Adicionada otimização de consulta baseada em índices de mesclagem;
  • Melhor performance de operações com faixas de valores;
  • Carga de CPU reduzida armazenando em cache os resultados de acesso a índices e filtrando duplicatas;
  • Adicionado suporte para um novo formato de armazenamento de strings que permite aumentar o desempenho de tabelas com um grande número de colunas;
  • A função GROUP_CONCAT agora suporta a expressão "ORDER BY";
  • Adicionado a capacidade de extrair dados do log TiFlash via SQL;
  • O comando "RECOVER TABLE" implementa suporte para recuperação de tabelas truncadas;
  • Adicionada tabela de sistema DDLJobs para consultar detalhes sobre a execução do job DDL;
  • Adicionada a capacidade de usar o comando SHOW CONFIG para mostrar as configurações de PD e TiKV;
  • Incluído cache padrão do coprocessador;
  • O número de goroutines na fase de tentativa de confirmação agora pode ser controlado usando a configuração de simultaneidade do committer;
  • Adicionada a capacidade de exibir as regiões da partição da tabela;
  • Adicionado a capacidade de limitar o tamanho do armazenamento temporário para tidb-server;
  • Adicionado suporte para operações "insert into tbl_name partition(partition_name_list)" e "replace into tbl_name partition(partition_name_list)";
  • No hash usado para particionamento (particionamento), foi adicionado suporte para filtragem com base em "é nulo";
  • Para tabelas particionadas, foi adicionado suporte para verificação, limpeza e restauração de índices.

Fonte: opennet.ru

Adicionar um comentário