數(shù)據(jù)傳輸服務(wù)概述
數(shù)據(jù)傳輸服務(wù)是MaxCompute數(shù)據(jù)進(jìn)出的最重要通道,其中包括適用于批量操作的普通Tunnel和適用于流式寫入的Stream Tunnel,同時在所有Region提供免費(fèi)限量使用的數(shù)據(jù)傳輸服務(wù)共享資源組,也提供數(shù)據(jù)傳輸服務(wù)(包年包月)獨(dú)享資源組,供您采購使用。
使用分類
命令。
目前命令只能通過MaxCompute客戶端(odpscmd)執(zhí)行。
批量操作。
普通Tunnel可以對數(shù)據(jù)進(jìn)行離線批操作,對數(shù)據(jù)進(jìn)行上傳與下載,包括單表數(shù)據(jù)上傳下載和查詢實(shí)例下載。
流式操作。
Stream Tunnel可以對流式數(shù)據(jù)做數(shù)據(jù)微批的方式寫入表。
產(chǎn)品架構(gòu)
數(shù)據(jù)傳輸服務(wù)產(chǎn)品架構(gòu)圖如下,目前一個地域只有一個數(shù)據(jù)傳輸服務(wù)共享資源組,資源被該地域所有用戶共享使用,對每個租戶有并發(fā)上限限制。數(shù)據(jù)傳輸服務(wù)(包年包月)獨(dú)享資源組需要用戶單獨(dú)購買,您可以購買一個或者多個獨(dú)享資源組,購買后獨(dú)享資源組將由您獨(dú)享使用。同時您可以手工指定獨(dú)享資源組來執(zhí)行數(shù)據(jù)傳輸任務(wù)。如果沒有特別指定,會讀取項目上默認(rèn)的獨(dú)享資源組執(zhí)行數(shù)據(jù)傳輸服務(wù)。
關(guān)于數(shù)據(jù)傳輸服務(wù)共享資源組和獨(dú)享數(shù)據(jù)傳輸服務(wù)(包年包月)的詳情,請參見購買與使用獨(dú)享數(shù)據(jù)傳輸服務(wù)資源組。
數(shù)據(jù)傳輸服務(wù)使用限制
批量數(shù)據(jù)通道使用限制說明。
批量數(shù)據(jù)上傳。
限制項
限制說明
UploadSession生命周期
24小時。
單UploadSession寫入Block個數(shù)
20000個。
單Block寫入速度
10 MB/s。
單Block寫入數(shù)據(jù)量
100 GB。
單表創(chuàng)建UploadSession數(shù)
每5分鐘500個。
單表寫入Block數(shù)
每5分鐘500個。
單表并發(fā)提交UploadSession數(shù)
32個。
并發(fā)寫入Block數(shù)
受Slot并發(fā)數(shù)限制,單次Block寫入占用一個Slot。
并發(fā)寫入
MaxCompute會根據(jù)ACID進(jìn)行并發(fā)寫入的保障。關(guān)于ACID的具體語義請參見ACID語義。
批量數(shù)據(jù)下載。
限制項
限制說明
DownloadSession生命周期
24小時。
InstanceDownloadSession生命周期
24小時,受實(shí)例生命周期限制。
單Project創(chuàng)建InstanceDownloadSession數(shù)
每5分鐘200個。
單表創(chuàng)建DownloadSession數(shù)
每5分鐘200個。
單次下載請求速度
10 MB/s。
并發(fā)創(chuàng)建DownloadSession數(shù)
受Slot并發(fā)數(shù)限制,單次創(chuàng)建DownloadSession占用一個Slot。
并發(fā)創(chuàng)建InstanceDownloadSession數(shù)
受Slot并發(fā)數(shù)限制,單次創(chuàng)建InstanceDownloadSession占用一個Slot。
并發(fā)下載請求數(shù)
受Slot并發(fā)數(shù)限制,單次數(shù)據(jù)下載請求占用一個Slot。
說明批量數(shù)據(jù)支持Delta Table的Upsert功能,使用限制如下:
UpsertSession生命周期:24小時(h)。
UpsertSession最大寫入速度:表或分區(qū)Bucket數(shù)*10 MB/s。
UpsertSession最大Slot Quota占用:表或分區(qū)Bucket數(shù)。
UpsertSession Commit頻率:Delta Table每個分區(qū)1分鐘(min)內(nèi)僅允許Commit 1次。如果某個分區(qū)Commit間隔小于1分鐘,將會收到
ErrorCode=FlowExceeded, ErrorMessage=CommitUpsert QPS Quota exceeded
系統(tǒng)報錯信息。
流式數(shù)據(jù)通道使用限制說明。
限制項
限制說明
單Slot寫入速度
1 MB/s。
單Slot寫入請求數(shù)
每秒10個。
單表并發(fā)寫入分區(qū)數(shù)
64個。
單分區(qū)最大可用Slot數(shù)
32個。
StreamUploadSession占用Slot數(shù)
受Slot并發(fā)數(shù)限制,創(chuàng)建StreamUploadSession時指定Slot數(shù)。
上傳數(shù)據(jù)限制。
每個字段的大小不能超過該字段本身的限制,詳情請參見數(shù)據(jù)類型版本說明。
說明STRING類型的字段大小不能超過8 MB。
上傳的過程中會將多條數(shù)據(jù)打包成一個Package進(jìn)行上傳。
數(shù)據(jù)傳輸網(wǎng)絡(luò)限制(獨(dú)享資源組)。
只支持云上VPC網(wǎng)絡(luò)訪問,暫時不支持公共網(wǎng)絡(luò)訪問。
只支持同地域的數(shù)據(jù)傳輸服務(wù),暫時不支持跨地域的數(shù)據(jù)傳輸服務(wù)。
網(wǎng)絡(luò)因素對數(shù)據(jù)傳輸服務(wù)上傳下載速度的影響較大,正常情況下速度范圍為1 MB/s~20 MB/s。如果上傳數(shù)據(jù)速度太慢,可以考慮使用多線程上傳方式。
數(shù)據(jù)傳輸服務(wù)共享資源組說明
下表數(shù)據(jù)為不同區(qū)域下免費(fèi)共享資源(單位:Slot)Project級最多可用Slot數(shù)說明。
站點(diǎn) | 地域 | Slot(個數(shù)) |
中國 | 華東1(杭州) | 300 |
中國 | 華東2(上海) | 600 |
中國 | 華東2金融云(上海) | 50 |
中國 | 華北2(北京) | 300 |
中國 | 華北2政務(wù)云(北京) | 100 |
中國 | 華北3(張家口) | 300 |
中國 | 華北6(烏蘭察布) | 300 |
中國 | 華南1(深圳) | 150 |
中國 | 華南1金融云(深圳) | 50 |
中國 | 西南1(成都) | 150 |
中國 | 中國(香港) | 50 |
亞太 | 新加坡(新加坡) | 100 |
亞太 | 馬來西亞(吉隆坡) | 50 |
亞太 | 印度尼西亞(雅加達(dá)) | 50 |
亞太 | 日本(東京) | 50 |
歐洲與美洲 | 德國(法蘭克福) | 50 |
歐洲與美洲 | 美國(硅谷) | 100 |
歐洲與美洲 | 美國(弗吉尼亞) | 50 |
歐洲與美洲 | 英國(倫敦) | 50 |
中東與印度 | 阿聯(lián)酋(迪拜) | 50 |
數(shù)據(jù)傳輸服務(wù)有效狀態(tài)碼
狀態(tài)碼標(biāo)識 | 狀態(tài)碼名稱 |
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 |
請求失敗重試策略
客戶端需要在收到請求失敗后等待一段時間再重新發(fā)起請求。
連續(xù)失敗請求等待時間需要滿足指數(shù)增長規(guī)則,最短1秒。例如:1s,2s,4s,8s,16s,32s,32s...
重復(fù)請求
URL相同(URI和URI Parameter)。
相同客戶端IP連續(xù)發(fā)起。
有效請求
返回碼為有效狀態(tài)碼且滿足失敗重試策略。
非法請求
返回碼為有效狀態(tài)碼但不滿足失敗重試策略的請求。
說明非法請求不受服務(wù)SLA保障。
攻擊類請求
針對流控狀態(tài)碼429、503,未遵守失敗重試策略的請求。
針對攻擊類請求,服務(wù)側(cè)會對發(fā)起攻擊的客戶端IP、UID、Project進(jìn)行隔離處理,被隔離的對象無法正常訪問服務(wù)。
說明攻擊類請求不受服務(wù)SLA保障。
常見問題
數(shù)據(jù)傳輸服務(wù)變慢一般由什么原因?qū)е拢?/b>
受服務(wù)架構(gòu)限制,MaxCompute Tunnel服務(wù)在以下幾種場景中會出現(xiàn)偶發(fā)的請求延遲問題(單次上傳、下載10MB數(shù)據(jù)耗時從秒級增長到分鐘級)。
共享Tunnel服務(wù)資源用滿(CPU/網(wǎng)絡(luò)帶寬)
持續(xù)時間:幾分鐘~幾小時。
受服務(wù)架構(gòu)限制無法避免,有強(qiáng)保障需求的用戶,可以購買獨(dú)享資源Tunnel。
客戶端到Tunnel服務(wù)網(wǎng)絡(luò)鏈路不穩(wěn)定(公網(wǎng)上傳/下載)
持續(xù)時間:無法評估。
公網(wǎng)穩(wěn)定性無法保障,穩(wěn)定性要求高的用戶建議使用阿里云內(nèi)網(wǎng)。
客戶端資源用滿(CPU/網(wǎng)絡(luò)帶寬)
持續(xù)時間:無法評估。
需要用戶對客戶端物理資源做充分的評估。
客戶端代碼邏輯不合理(長連接做上傳、下載過程有耗時很長的數(shù)據(jù)處理邏輯)
持續(xù)時間:無法評估。
需要用戶在代碼設(shè)計上充分考慮數(shù)據(jù)傳輸性能。