Overview of Data Transmission Service

更新时间:
复制 MD 格式

Data Transmission Service is the primary channel for moving data into and out of MaxCompute. It provides Tunnel for batch operations and Stream Tunnel for streaming writes. The service offers free, limited-use shared resource groups in all regions. You can also purchase subscription dedicated resource groups.

Usage classification

  • Commands

    You can run commands only using the MaxCompute client (odpscmd).

  • Batch operations

    Tunnel lets you perform offline batch operations to upload and download data. These operations include uploading and downloading data for a single table and downloading data from a query instance.

  • Streaming operations

    Stream Tunnel lets you write streaming data to tables in micro-batches.

Tunnel服务

Service architecture

The following figure shows the service architecture of Data Transmission Service. Each region has a shared resource group that is available to all users in that region. A concurrency limit applies to each tenant. You can purchase one or more subscription dedicated resource groups for your exclusive use. You can also manually specify a dedicated resource group to run a data transmission task. If you do not specify a resource group, the task runs on the project's default dedicated resource group.数据传输服务产品架构

For more information about shared resource groups and subscription dedicated resource groups for Data Transmission Service, see Purchase and use dedicated Data Transmission Service resource groups.

Data Transmission Service Limits

  • Limits on batch data channels

    • Batch data upload

      Limit

      Limitations

      UploadSession lifecycle

      24 hours

      Number of blocks written per UploadSession

      20,000

      Write speed per block

      10 MB/s

      Data volume per block

      100 GB

      Number of UploadSessions created per table

      500 every 5 minutes

      Number of blocks written per table

      500 every 5 minutes

      Number of concurrent UploadSession commits per table

      32

      Number of commits per table

      75 every 15 seconds

      Number of concurrent block writes

      Limited by the number of concurrent slots. A single block write occupies one slot.

      Concurrent writes

      MaxCompute ensures concurrent writes based on atomicity, consistency, isolation, and durability (ACID). For more information about ACID semantics, see ACID semantics.

    • Batch data download

      Limitations

      Limitations

      DownloadSession lifecycle

      24 hours

      InstanceDownloadSession lifecycle

      24 hours, limited by the instance lifetime.

      Number of InstanceDownloadSessions created per project

      200 every 5 minutes

      Number of DownloadSessions created per table

      200 every 5 minutes

      Speed per download request

      10 MB/s

      Number of concurrent DownloadSession creations

      Limited by the number of concurrent slots. A single DownloadSession creation occupies one slot.

      Number of concurrent InstanceDownloadSession creations

      Limited by the number of concurrent slots. A single InstanceDownloadSession creation occupies one slot.

      Number of concurrent download requests

      Limited by the number of concurrent slots. A single data download request occupies one slot.

    Note

    Batch data supports the upsert feature for Delta tables. The limits are as follows:

    • UpsertSession lifecycle: 24 hours (h).

    • Maximum write speed for an UpsertSession: Number of buckets in the table or partition × 10 MB/s.

    • Maximum slot quota usage for an UpsertSession: Number of buckets in the table or partition.

    • UpsertSession commit frequency: You can commit data to each partition of a Delta table only once per minute (min). If the commit interval for a partition is less than 1 minute, the system returns the following error message: ErrorCode=FlowExceeded, ErrorMessage=CommitUpsert QPS Quota exceeded.

  • Limits on streaming data channels

    Limits

    Limitations

    Write speed per slot

    10 MB/s

    Number of concurrent partitions written to per table

    64

    Maximum number of available slots per partition

    32

    Number of concurrent flushes

    Limited by the number of concurrent slots. A single flush occupies one slot.

  • Data upload limits

    • The size of each field cannot exceed its limit. For more information, see Data type versions.

      Note

      The size of a STRING field cannot exceed 8 MB.

    • During an upload, multiple data records are packaged for transmission.

  • Network limits for Data Transmission Service (dedicated resource groups)

    • Only VPC access is supported. Public network access is not supported.

    • Only data transmission within the same region is supported. Cross-region data transmission is not supported.

Note

Network conditions significantly affect the upload and download speeds of Data Transmission Service. Speeds typically range from 1 MB/s to 20 MB/s. If the upload speed is too slow, consider using a multi-threaded upload method.

Information on shared Data Transmission Service resource groups

The following table lists the maximum number of available slots per project for free shared resources in different regions. The values are measured in slots.

Site

Region

Slots (Number)

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

Asia-Pacific

Singapore (Singapore)

100

Asia-Pacific

Malaysia (Kuala Lumpur)

50

Asia-Pacific

Indonesia (Jakarta)

50

Asia-Pacific

Japan (Tokyo)

50

Europe and Americas

Germany (Frankfurt)

50

Europe and Americas

US (Silicon Valley)

100

Europe and Americas

US (Virginia)

50

Europe and Americas

UK (London)

50

Middle East and India

UAE (Dubai)

50

Valid status codes for Data Transmission Service

Status code

Status code name

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

  • Retry policy for failed requests

    • After a request fails, the client must wait for a period of time before retrying.

    • The wait time for consecutive failed requests must increase exponentially, starting from a minimum of 1 second. For example: 1 s, 2 s, 4 s, 8 s, 16 s, 32 s, and so on.

  • Duplicate requests

    • The URL is the same (URI and URI parameters).

    • Consecutive requests are sent from the same client IP address.

  • Valid requests

    A request that returns a valid status code and follows the retry policy.

  • Invalid requests

    A request that returns a valid status code but does not follow the retry policy.

    Note

    The Service-level agreement (SLA) does not cover invalid requests.

  • Attack requests

    • Requests that do not follow the retry policy for throttle status codes 429 and 503.

    • For attack requests, the service isolates the client IP address, UID, and project that initiated the attack. The isolated object can no longer access the service.

    Note

    The SLA does not cover attack requests.

FAQ

What are the common causes for Data Transmission Service to slow down?

Due to limitations in the service architecture, the MaxCompute Tunnel service may experience occasional request latency in the following scenarios. For example, the time required to upload or download 10 MB of data can increase from seconds to minutes.

  • Shared Tunnel service resources are exhausted (CPU or network bandwidth)

    • Duration: Several minutes to several hours.

    • This is unavoidable due to limitations in the service architecture. If you require high stability, purchase a dedicated Tunnel resource.

  • The network link from the client to the Tunnel service is unstable (public network upload or download)

    • Duration: Cannot be estimated.

    • The stability of the public network cannot be guaranteed. If you require high stability, use the Alibaba Cloud internal network.

  • Client resources are exhausted (CPU or network bandwidth)

    • Duration: Cannot be estimated.

    • Evaluate the physical resources on the client.

  • Inefficient client code logic (for example, long-running data processing during an upload or download over a persistent connection)

    • Duration: Cannot be estimated.

    • Consider data transmission performance during code design.

Other questions