O MaxCompute Streaming Tunnel permite gravar dados no MaxCompute em modo de streaming usando um conjunto dedicado de APIs e serviços de backend. Essas APIs reduzem significativamente os custos de desenvolvimento de serviços distribuídos e eliminam gargalos de desempenho do MaxCompute Tunnel em cenários de alta concorrência e alto QPS (consultas por segundo), como conflitos de bloqueio de partição, fragmentação de arquivos pequenos e código de sincronização complexo.
O MaxCompute Streaming Tunnel está em preview público desde 1º de janeiro de 2021 e é gratuito durante esse período. Acompanhe os Avisos de serviço para se manter informado sobre futuras alterações de faturamento.
Quando usar o Streaming Tunnel
O MaxCompute Streaming Tunnel complementa o MaxCompute Tunnel, não o substitui. Use esta tabela para decidir qual canal é mais adequado à sua carga de trabalho:
|
Dimensão |
MaxCompute Streaming Tunnel |
MaxCompute Tunnel |
|
Formato dos dados |
Linhas em streaming |
Arquivos em lote |
|
Concorrência |
Suporta alta concorrência; sem contenção por bloqueio de partição |
Gravações simultâneas podem causar conflitos de bloqueio de partição |
|
Throughput de gravação |
Otimizado para alto QPS; evita fragmentação de arquivos pequenos |
Um |
|
Dados incrementais |
Mesclados assincronamente em segundo plano, sem interrupção do serviço |
Não possui mesclagem assíncrona nativa; os dados são gravados conforme recebidos |
|
Particionamento |
Particionamento automático entre jobs concorrentes |
Requer gerenciamento manual de partições |
|
Mais indicado para |
Ingestão de logs em tempo real, resultados de processamento de stream, sincronização de filas de mensagens |
ETL de grandes lotes, cargas periódicas em massa |
Principais recursos
APIs com semântica de streaming: Facilitam o desenvolvimento de serviços distribuídos de sincronização de dados e reduzem os custos de desenvolvimento.
Particionamento automático: Elimina o bloqueio de partições quando múltiplos jobs de sincronização gravam na mesma tabela simultaneamente.
-
Mesclagem assíncrona de dados: Mescla dados incrementais em segundo plano sem interromper operações ativas de gravação. Isso melhora a eficiência de armazenamento e evita o acúmulo de arquivos pequenos.
Casos de uso
|
Cenário |
Descrição |
|
Ingestão de logs de eventos em tempo real |
Grave dados de log diretamente no MaxCompute para processamento em lote downstream, sem necessidade de serviço de armazenamento intermediário, o que reduz os custos do pipeline. |
|
Armazenamento de resultados de processamento de stream |
Persista resultados do Flink ou de outros sistemas de computação em stream no MaxCompute sem limites de concorrência ou |
|
Sincronização de filas de mensagens |
Sincronize dados do DataHub ou ApsaraMQ for Kafka com o MaxCompute em alta concorrência e grandes volumes de lote. Essa abordagem substitui as soluções alternativas anteriormente necessárias com o conector Simple Message Queue. |
Integração com serviços upstream
Por padrão, Realtime Compute for Apache Flink, DataWorks e ApsaraMQ for Kafka gravam no MaxCompute via MaxCompute Tunnel. Para alternar para o Streaming Tunnel:
|
Serviço |
Como ativar o Streaming Tunnel |
|
Use o plug-in nativo do Streaming Tunnel fornecido pelo Realtime Compute for Apache Flink. |
|
|
Entre em contato com o engenheiro de plantão do DataWorks para ative o Streaming Tunnel em segundo plano. |
|
|
Entre em contato com o engenheiro de plantão do Kafka para ative o Streaming Tunnel em segundo plano. |
Limitações
Bloqueio de tabela ou partição durante gravações
O MaxCompute Tunnel Service bloqueia a tabela ou partição de destino durante toda a gravação em streaming. Todas as operações DML que modifique dados — como insert into e insert overwrite — ficam bloqueadas até a conclusão da gravação e a liberação do bloqueio.
Modificação de schema não suportada
Se o schema da tabela de destino for modificado enquanto o Streaming Tunnel estiver ativo, não será possível gravar dados em streaming nessa tabela.
Overhead de armazenamento temporário para dados quentes
Quando a mesclagem assíncrona de dados ou ZORDER BY está ativada, o Streaming Tunnel retém duas cópias dos dados gravados na última hora: os dados originais ingeridos e a cópia mesclada assincronamente. Esse armazenamento redundante é limpo automaticamente após o período de retenção padrão de 1 hora.
Planeje a capacidade de armazenamento adequadamente se sua carga de trabalho apresentar alta taxa de ingestão durante a janela de mesclagem.