O AliSQL é um branch independente do MySQL desenvolvido pela Alibaba Cloud. Ele oferece todos os recursos do MySQL, além de funcionalidades de nível empresarial, como backup e restauração, monitoramento, otimização de desempenho e instâncias somente leitura. Este tópico apresenta uma visão geral dos recursos oferecidos pelo AliSQL e inclui uma comparação entre o AliSQL e outras versões do MySQL.
O RDS for MySQL é baseado no kernel AliSQL, um branch independente do MySQL altamente personalizado pela Alibaba Cloud. Ele fornece todos os recursos do MySQL, além de funcionalidades de nível empresarial, como segurança, backup, restauração, monitoramento, otimização de desempenho e instâncias somente leitura. Este documento descreve os principais recursos do AliSQL e o compara com outras versões do MySQL.
AliSQL
O AliSQL é um branch do MySQL mantido pela Alibaba Cloud. Ele aprimora a Community Edition com recursos de nível empresarial comparáveis aos do MySQL Enterprise Edition, como backup e recuperação corporativos, pool de threads e consulta paralela. O AliSQL também oferece recursos compatíveis com Oracle, como o sequence engine.
Disponibilidade de recursos por versão
Recursos
Recurso | Descrição | Versões do MySQL | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
Permite usar instruções SQL para consultar ou restaurar dados em um ponto específico no tempo, garantindo recuperação rápida após operações acidentais. | Suportado | Suportado | Não suportado | Não suportado | |
Separa threads de sessões usando um pool de threads, permitindo que poucas threads processem tarefas de várias sessões ativas. | Suportado | Suportado | Suportado | Suportado | |
Estabiliza os planos de execução do MySQL com dicas de otimizador e índices. Inclui o kit de ferramentas DBMS_OUTLN para facilitar o gerenciamento. | Suportado | Suportado | Suportado | Não suportado | |
Simplifica a geração de valores de sequência. | Suportado | Suportado | Suportado | Suportado | |
Permite que instruções DML retornem um conjunto de resultados. Inclui o kit de ferramentas DBMS_TRANS para facilitar o gerenciamento. | Suportado | Suportado | Não suportado | Não suportado | |
Criptografa colunas de dados específicas para impedir o acesso não autorizado a dados em texto simples por meio de ferramentas da plataforma cloud. | Não suportado | Suportado | Suportado | Não suportado | |
Desempenho
Recurso | Descrição | Versões do MySQL | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
Melhora o desempenho de consultas com um cache redesenhado que supera as limitações do cache de consultas nativo do MySQL. | Não suportado | Não suportado | Suportado | Não suportado | |
Grava o conteúdo do log binário no redo log de forma síncrona no commit da transação, reduzindo a E/S de disco e melhorando o desempenho do banco de dados. | Suportado | Suportado | Não suportado | Não suportado | |
Agrupa instruções em uma fila para reduzir a sobrecarga de conflitos. Instruções com probabilidade de conflito, como as da mesma linha, são alocadas no mesmo bucket. | Suportado | Suportado | Suportado | Não suportado | |
Permite commits e rollbacks rápidos de transações. O uso combinado com os recursos returning e statement queue melhora significativamente o throughput do negócio. | Suportado | Suportado | Suportado | Suportado | |
Melhora o desempenho de gravação do banco de dados em cenários de alta concorrência ao gravar logs binários em paralelo durante os commits de transações. | Suportado | Suportado | Não suportado | Não suportado | |
Estabilidade
Recurso | Descrição | Versões do MySQL | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
Oferece controle de concorrência no nível de instrução (CCL). Inclui o kit de ferramentas DBMS_CCL para facilitar o gerenciamento. | Suportado | Suportado | Suportado | Não suportado | |
Um plug-in do MySQL que coleta e agrega métricas internas de desempenho de uma instância. | Suportado | Suportado | Suportado | Suportado | |
Garante a estabilidade do sistema ao excluir arquivos grandes de forma assíncrona. | Suportado | Suportado | Suportado | Suportado | |
Ferramenta avançada para monitoramento de carga de trabalho no nível da instância, análise de correlação e ajuste de desempenho. Ajuda a avaliar rapidamente as cargas do banco de dados, identificar a causa raiz de problemas de desempenho e aumentar a estabilidade do banco de dados. | Suportado | Suportado | Suportado | Não suportado | |
Otimiza a etapa de gravação do log binário para commits de transações grandes. Isso evita tempos longos de gravação, paralisações e travamentos da instância, o que melhora a estabilidade. | Suportado | Suportado | Suportado | Não suportado | |
Otimização de DDL
Recurso | Descrição | Versões do MySQL | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
Adiciona colunas instantaneamente ao modificar apenas os metadados, evitando a reconstrução completa da tabela. Essa operação rápida, eficiente em recursos e não bloqueante é ideal para ambientes com alterações frequentes de schema. | Suportado | Suportado | Suportado | Não suportado | |
Modifica instantaneamente o tipo de dados de uma coluna ao alterar apenas os metadados, evitando a cópia completa da tabela. Isso reduz o tempo da operação e melhora a eficiência de O&M. | Suportado | Suportado | Não suportado | Não suportado | |
Modifica instantaneamente o conjunto de caracteres de uma coluna ao alterar apenas os metadados, evitando a reconstrução da tabela. Isso reduz o tempo da operação e melhora a eficiência de O&M. | Suportado | Suportado | Suportado | Não suportado | |
Executa modificações de tipo de coluna na camada do mecanismo InnoDB, permitindo alterações online sem bloquear operações de leitura e gravação. | Suportado | Suportado | Suportado | Não suportado | |
Melhora o tratamento de conflitos de chaves exclusivas durante a execução de DDL para reduzir falhas e aumentar a taxa de sucesso. | Suportado | Suportado | Não suportado | Não suportado | |
Defina limites de BPS e IOPS para operações DDL a fim de controlar o consumo de recursos de E/S e garantir a estabilidade da carga de trabalho. | Suportado | Suportado | Não suportado | Não suportado | |
Impede que operações DDL bloqueiem sessões caso um bloqueio MDL não possa ser adquirido rapidamente. Isso evita o acúmulo de conexões e melhora a estabilidade e a disponibilidade da instância. | Suportado | Suportado | Não suportado | Não suportado | |
Permite usar dicas para controlar o tempo limite de espera do bloqueio MDL para threads DDL, o que ajuda a evitar o bloqueio de sessões e o acúmulo de conexões devido a longas esperas. | Suportado | Suportado | Não suportado | Não suportado | |
Otimiza o mecanismo de gerenciamento do buffer pool durante operações DDL para reduzir o impacto no desempenho e aumentar a concorrência das operações DDL online. | Suportado | Suportado | Suportado | Suportado | |
Move tabelas excluídas para uma lixeira com um período de retenção configurável, facilitando a recuperação de dados. Inclui o kit de ferramentas DBMS_RECYCLE para facilitar o gerenciamento. | Suportado | Suportado | Suportado | Não suportado | |
Otimização de replicação
Recurso | Descrição | Versões do MySQL | |||
8.4 | 8.0 | 5.7 | 5.6 | ||
Otimiza a lógica de espera de replicação paralela para eliminar a latência durante o processamento de dados em lote. Ideal para tarefas de exclusão em lote, reorganização ou importação de dados fora do horário de pico. | Suportado | Suportado | Não suportado | Não suportado | |
Transmite logs binários para instâncias secundárias durante a execução de transações grandes. Isso evita que a replicação semissíncrona atinja o tempo limite e seja rebaixada para o modo assíncrono, garantindo alta confiabilidade dos dados e desempenho estável. | Suportado | Suportado | Não suportado | Não suportado | |
Permite que instâncias primárias e secundárias executem operações DDL simultaneamente ao notificar a secundária quando a primária inicia. Isso praticamente elimina a latência de replicação relacionada a DDL e garante alta disponibilidade. | Suportado | Suportado | Não suportado | Não suportado | |
Permite que instâncias primárias e secundárias executem transações grandes simultaneamente ao notificar a secundária quando a primária inicia. Isso praticamente elimina a latência de replicação e garante alta disponibilidade. | Não suportado | Suportado | Não suportado | Não suportado | |
Otimiza a lógica de espera de bloqueio entre threads de E/S, SQL e workers, reduzindo as esperas e praticamente eliminando a latência de replicação em transações pequenas de alta concorrência. | Não suportado | Suportado | Não suportado | Não suportado | |
Recursos
Categoria | Recurso | Community edition | Enterprise edition | AliSQL | Alibaba Cloud RDS for MySQL |
Serviços empresariais de valor agregado | Não disponível | √ | √ | √ | |
Não disponível | √ | √ | √ | ||
Não disponível | √ | √ | √ | ||
Recursos do MySQL | √ | √ | √ | √ | |
MySQL connectors | √ | √ | Suporta versões públicas | Suporta versões públicas | |
MySQL replication | √ | √ | √ | √ | |
MySQL router | √ | √ | MaxScale (suportado no MySQL 8.0) | proxy de banco de dados single-tenant | |
MySQL partitioning | √ | √ | √ | √ | |
InnoDB MyISAM NDB | InnoDB MyISAM NDB | InnoDB X-Engine | InnoDB X-Engine | ||
Compatibilidade com Oracle | Não disponível | Não disponível | Suportado no MySQL 8.0 | Suportado no MySQL 8.0 | |
MySQL enterprise monitor | Não disponível | √ | Em desenvolvimento | Enhanced Monitor | |
Não disponível | √ | Em desenvolvimento | Performance Insight | ||
Não disponível | √ | Em desenvolvimento | √ | ||
Não disponível | Não disponível | Não disponível | Enhanced Monitor | ||
MySQL enterprise backup | Não disponível | √ | √ | √ | |
Não disponível | √ | √ | Backup no nível de banco de dados e tabela | ||
Não disponível | √ | √ | Restauração no nível de banco de dados e tabela | ||
Não disponível | √ | √ | √ | ||
Não disponível | Não disponível | Não disponível | Backup entre regiões | ||
Não disponível | Não disponível | Suportado no MySQL 8.0 | Suportado no MySQL 8.0 | ||
Não disponível | Não disponível | √ | √ | ||
MySQL enterprise security | Substituição de chave local | √ | BYOK TDE, rotação de chave | BYOK TDE, rotação de chave | |
Não disponível | Não disponível | Não disponível | Criptografia BYOK em repouso | ||
SSL | √ | SSL | SSL | ||
Não disponível | √ | SQL Insights | SQL Insights | ||
Algoritmo de criptografia SM4 | Não disponível | Não disponível | √ | √ | |
Não disponível | Não disponível | Suportado no MySQL 5.7 | Suportado no MySQL 5.7 | ||
MySQL enterprise scalability | Não disponível | √ | Suportado no MySQL 8.0 | Suportado no MySQL 8.0 | |
Não disponível | Não disponível | √ | instância somente leitura | ||
MySQL enterprise reliability | Não disponível | Não disponível | √ | √ | |
Não disponível | Não disponível | √ | √ | ||
Não disponível | Não disponível | √ | √ | ||
Não disponível | Não disponível | √ | √ | ||
MySQL enterprise high-availability | Não disponível | Não disponível | É necessário um mecanismo de HA de terceiros. | High-availability Edition | |
√ | √ | √ | Alta disponibilidade para instâncias somente leitura |