[英]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.