O tunelamento de dados é o principal canal para importação e exportação de dados no MaxCompute. Ele inclui o Tunnel padrão para operações em lote e o Stream Tunnel para gravações em streaming. Ambos estão disponíveis com grupos de recursos compartilhados gratuitos de uso limitado e grupos de recursos dedicados por assinatura em todas as regiões.
Uso
-
Comandos do Tunnel
Os comandos do Tunnel são executados por meio do cliente MaxCompute (odpscmd) para upload e download de dados, sendo adequados para operações manuais ou fluxos de trabalho com scripts. Atualmente, apenas o odpscmd é suportado; outras ferramentas de cliente ainda não estão disponíveis.
-
Operações em lote (Tunnel padrão):
Realiza upload e download de dados em lote offline. É ideal para cenários que exigem transferência de grandes volumes de dados de uma só vez, incluindo upload e download de dados de tabela única e download de resultados de instâncias de consulta.
-
Operações de streaming (Stream Tunnel)
Grava dados continuamente em microlotes. Recomendado para cenários que demandam ingestão contínua de dados, como coleta de logs e ingestão de dados em tempo real.

Limites do Data Transmission Service
Limites dos canais de dados em lote
-
Upload de dados em lote
Limites
Restrições
Ciclo de vida do UploadSession
24 horas
Número de blocos gravados por UploadSession
20.000
Velocidade de gravação por bloco
10 MB/s
Volume de dados por bloco
100 GB
Número de UploadSessions criados por tabela
500 a cada 5 minutos
Número de blocos gravados por tabela
500 a cada 5 minutos
Número de commits simultâneos de UploadSession por tabela
32
Número de commits por tabela
75 a cada 15 segundos
Número de gravações de blocos simultâneas
Limitado pelo número de slots simultâneos. Uma única gravação de bloco ocupa um slot.
Gravações simultâneas
O MaxCompute garante gravações simultâneas com base em atomicidade, consistência, isolamento e durabilidade (ACID). Para obter mais informações sobre a semântica ACID, consulte {{XREF_1}}.
-
Download de dados em lote
Limites
Restrições
Ciclo de vida do DownloadSession
24 horas
Ciclo de vida do InstanceDownloadSession
24 horas, limitado pelo tempo de vida da instância.
Número de InstanceDownloadSessions criados por projeto
200 a cada 5 minutos
Número de DownloadSessions criados por tabela
200 a cada 5 minutos
Velocidade por solicitação de download
10 MB/s
Número de criações simultâneas de DownloadSession
Limitado pelo número de slots simultâneos. Uma única criação de DownloadSession ocupa um slot.
Número de criações simultâneas de InstanceDownloadSession
Limitado pelo número de slots simultâneos. Uma única criação de InstanceDownloadSession ocupa um slot.
Número de solicitações de download simultâneas
Limitado pelo número de slots simultâneos. Uma única solicitação de download de dados ocupa um slot.
-
Dados em lote suportam o recurso upsert para tabelas Delta
Limites
Restrições
Ciclo de vida do UpsertSession
24 horas
Velocidade máxima de gravação para um UpsertSession
Número de buckets na tabela ou partição × 10 MB/s.
Uso máximo de cota de slots para um UpsertSession
Número de buckets na tabela ou partição.
Frequência de commit do UpsertSession
É possível fazer commit de dados em cada partição de uma tabela Delta apenas uma vez por minuto (min). Se o intervalo de commit para uma partição for inferior a 1 minuto, o sistema retornará a seguinte mensagem de erro:
ErrorCode=FlowExceeded, ErrorMessage=CommitUpsert QPS Quota exceeded.
Limites dos canais de dados em streaming
|
Limites |
Restrições |
|
Velocidade de gravação por slot |
10 MB/s |
|
Número de partições simultâneas gravadas por tabela |
64 |
|
Número máximo de slots disponíveis por partição |
32 |
|
Número de flushes simultâneos |
Limitado pelo número de slots simultâneos. Um único flush ocupa um slot. |
Limites de upload de dados
-
O tamanho de cada campo não pode exceder seu limite. Para obter mais informações, consulte {{XREF_2}}.
O tamanho de um campo STRING não pode exceder 8 MB.
Durante um upload, vários registros de dados são empacotados para transmissão.
Limites de rede do Data Transmission Service (grupos de recursos dedicados)
Apenas o acesso via VPC é suportado. O acesso pela rede pública não é suportado.
Somente a transmissão de dados dentro da mesma região é suportada. A transmissão de dados entre regiões não é suportada.
As condições da rede afetam significativamente as velocidades de upload e download do Data Transmission Service. As velocidades geralmente variam de 1 MB/s a 20 MB/s. Se a velocidade de upload estiver muito lenta, considere usar um método de upload multithread.
Informações sobre grupos de recursos compartilhados do Data Transmission Service
A tabela a seguir lista o número máximo de slots disponíveis por projeto para recursos compartilhados gratuitos em diferentes regiões. Os valores são medidos em slots.
|
Site |
Região |
Slots (Quantidade) |
|
China |
China (Hangzhou) |
300 |
|
China |
China East 1 Finance (Hangzhou) |
50 |
|
China |
China (Shanghai) |
600 |
|
China |
China East 2 Finance (Shanghai) |
50 |
|
China |
China (Beijing) |
300 |
|
China |
China (Beijing) Gov Cloud |
100 |
|
China |
China (Zhangjiakou) |
300 |
|
China |
China (Ulanqab) |
300 |
|
China |
China (Shenzhen) |
150 |
|
China |
China South 1 Finance (Shenzhen) |
50 |
|
China |
China (Chengdu) |
150 |
|
China |
China (Hong Kong) |
50 |
|
Ásia-Pacífico |
Singapore (Singapore) |
100 |
|
Ásia-Pacífico |
Malaysia (Kuala Lumpur) |
50 |
|
Ásia-Pacífico |
Indonesia (Jakarta) |
50 |
|
Ásia-Pacífico |
Japan (Tokyo) |
50 |
|
Europa e Américas |
Germany (Frankfurt) |
50 |
|
Europa e Américas |
US (Silicon Valley) |
100 |
|
Europa e Américas |
US (Virginia) |
50 |
|
Europa e Américas |
UK (London) |
50 |
|
Oriente Médio e Índia |
UAE (Dubai) |
50 |
Cada operação no service de tunelamento de dados (como gravar um bloco, criar uma sessão de download ou executar um flush) ocupa um slot. Quando uma conexão permanece ociosa sem transferência de dados por um longo período, o servidor a desconecta automaticamente e libera o slot ocupado. Portanto, mesmo que o número de slots simultâneos atinja o limite, as conexões ociosas são recuperadas automaticamente após um determinado período, sem necessidade de intervenção manual.
Códigos de status válidos para o Data Transmission Service
|
Código de status |
Nome do código de status |
|
200 |
HTTP_OK |
|
201 |
HTTP_CREATED |
|
400 |
HTTP_BAD_REQUEST |
|
401 |
HTTP_UNAUTHORIZED |
|
403 |
HTTP_FORBIDDEN |
|
404 |
HTTP_NOT_FOUND |
|
405 |
HTTP_METHOD_NOT_ALLOWED |
|
409 |
HTTP_CONFLICT |
|
422 |
HTTP_UNPROCESSABLE_ENTITY |
|
429 |
HTTP_TOO_MANY_REQUESTS |
|
499 |
HTTP_CLIENT_CLOSED_REQUEST |
|
500 |
HTTP_INTERNAL_SERVER_ERROR |
|
502 |
HTTP_BAD_GATEWAY |
|
503 |
HTTP_SERVICE_UNAVAILABLE |
|
504 |
HTTP_GATEWAY_TIME_OUT |
-
Política de nova tentativa para solicitações com falha
Após uma falha na solicitação, o cliente deve aguardar um período antes de tentar novamente.
O tempo de espera para solicitações consecutivas com falha deve aumentar exponencialmente, começando com um mínimo de 1 segundo. Por exemplo: 1 s, 2 s, 4 s, 8 s, 16 s, 32 s e assim por diante.
-
Solicitações duplicadas
A URL é a mesma (URI e parâmetros da URI).
Solicitações consecutivas são enviadas do mesmo endereço IP do cliente.
-
Solicitações válidas
Uma solicitação que retorna um código de status válido e segue a política de nova tentativa.
-
Solicitações inválidas
Uma solicitação que retorna um código de status válido, mas não segue a política de nova tentativa.
NotaO Acordo de Nível de Service (SLA) não cobre solicitações inválidas.
-
Solicitações de ataque
Solicitações que não seguem a política de nova tentativa para os códigos de status de limitação 429 e 503.
Para solicitações de ataque, o service isola o endereço IP do cliente, o UID e o projeto que iniciaram o ataque. O objeto isolado não poderá mais acessar o service.
NotaO SLA não cobre solicitações de ataque.
Perguntas frequentes
Quais são as causas comuns para a lentidão do Data Transmission Service?
Devido a limitações na arquitetura do service, o service MaxCompute Tunnel pode apresentar latência ocasional de solicitações nos cenários a seguir. Por exemplo, o tempo necessário para fazer upload ou download de 10 MB de dados pode aumentar de segundos para minutos.
-
Recursos compartilhados do service Tunnel esgotados (CPU ou largura de banda de rede)
Duração: De vários minutos a várias horas.
Isso é inevitável devido a limitações na arquitetura do service. Se você precisar de alta estabilidade, adquira um recurso dedicado do Tunnel.
-
O link de rede do cliente para o service Tunnel está instável (upload ou download pela rede pública)
Duração: Não pode ser estimada.
A estabilidade da rede pública não pode ser garantida. Se você precisar de alta estabilidade, use a rede interna da Alibaba Cloud.
-
Recursos do cliente esgotados (CPU ou largura de banda de rede)
Duração: Não pode ser estimada.
Avalie os recursos físicos no cliente.
-
Lógica de código do cliente ineficiente (por exemplo, processamento de dados de longa duração durante um upload ou download em uma conexão persistente)
Duração: Não pode ser estimada.
Considere o desempenho da transmissão de dados durante o design do código.