使用API/SDK推送資料有次數及大小限制,具體值請參考系統限制項,推薦將文檔批量打包發送。
資料上傳後請務必檢查傳回值,並對相關錯誤碼進行重試(尤其是3007錯誤),否則會出現資料丟失情況。同時,資料處理是非同步,系統返回“OK”後只表示系統接收資料成功,資料處理過程的錯誤會在控制台錯誤資訊中展示,請注意及時檢查。
CMD為“add”表示新增文檔,會做全欄位資料更新(更新中沒有出現欄位會預設為空白)。如果該主鍵對應文檔已經存在,則執行先“delete”再“add”的操作;
CMD為“update”表示更新文檔,會做部分欄位資料更新(更新中沒有出現欄位會仍為原來的值),針對已存在文檔更新,也會先執行“delete”再“add”操作。
CMD為“delete”表示刪除文檔,如果該主鍵對應文檔已經不存在,則認為刪除成功。
Post 每秒提交的資料包總大小有限制,如果您上傳的文檔過大(2M以上),伺服器將拒絕接收任何參數,同時返回異常,參考系統限制文檔。
當API推送報 connection timed out 或 1000 :system error或 push rate exceeds app quota錯誤時,請重試直到成功為止。(註:push rate exceed app quota的報錯不止是推送頻率過高,更大機率是由於超過了每秒2M文檔的限制而報錯)。
資料推送有次數限制,當API推送時,報錯request too frequently建議批量打包發送,效率更高;
POST的URL及body部分最好都要做url_encode,否則會出現解析及簽名問題。
資料來源或者API推送增量時請注意,主索引值重複的doc會被覆蓋。
使用RDS自動同步資料有TPS及大小限制,具體值請參考系統限制項:
RDS單庫內所有表的更新會產生一份binlog資料。單庫產生的binlog資料超過系統限制項,會造成資料堆積,同步延遲。建議拆庫,將更新非常頻繁的表放在不同的庫裡。如果不能拆庫,建議主表走RDS自動同步資料,附表走API推送方式同步資料,來進行資料分流。