数据推送

  • 使用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推送方式同步数据,来进行数据分流。