簡體   English   中英

將初始(批量)數據導入RESTful系統的最佳實踐是什么?

[英]What's the best practice for initial (bulk) data import into RESTful system?

您如何看待一種干凈有效的方法來初始填充數據存儲,該數據存儲是RESTful分布式系統體系結構的一部分?

我們已經有用於大量導入的POST方法,該方法采用XML提要,解析,驗證和導入數據。 因此,一種可能性將要求客戶端針對我們的REST接口進行POST(如果我們遇到請求超時問題的話,可能是成塊的)。

數據存儲本身基於MongoDB,因此,另一方面,您還可以考慮進行低級批量導入,該導入將壓縮后的數據文件解壓縮並直接將JSON數據導入數據庫(當然,規避我們的業務邏輯以驗證要導入的數據)。

您有什么意見和建議,是否有任何REST模式可針對此問題提供建議?

不知道更多細節,我想您最終確定了它。 我將數據分成多個塊,然后運行一個程序以讀取這些塊之一,並將此數據發布到您的http接口。

進行導入的腳本/程序只能使用足夠小的塊來避免超時,並且應該知道其成功與否。 如果片段超時或失敗,則應確保知道導入的位置,以便可以從同一位置重試。

話雖如此,如果您的系統允許多次導入同一件事而不會產生任何后果(請參閱http://en.wikipedia.org/wiki/Idempotence ),那么這也很好,因此,如果您必須完全重新發送1段,您寧靜的后端將能夠接受它,而不會重復數據。

如果運行良好,您甚至可以同時運行具有多個塊的導入程序,以使其並行且更快。 (只要您的http / restful后端可以處理它)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM