在我們的服務中,我們使用SQL Azure作爲主要存儲,並將Azure表用於備份存儲。每天大約收集30GB數據並存儲到SQL Azure。由於數據在第二天不再有效,我們希望每天晚上將數據從SQL Azure遷移到Azure表。將數據從SQL Azure遷移到Azure的最佳設計解決方案表
問題是......將數據從Azure遷移到Azure表的最有效方式是什麼?
我想出的天真想法是通過使用IDataReader來利用生產者/消費者的概念。也就是說,首先通過執行「select * from TABLE」來獲取數據讀取器並將數據放入隊列中。同時,一組線程正在從隊列中獲取數據,並將它們插入到Azure表中。
當然,這種方法的主要缺點(我認爲)是我們需要長時間保持打開的連接(可能需要幾個小時)。
另一種方法是首先將數據從SQL Azure表複製到Windows Azure上的本地存儲,然後使用相同的生產者/消費者概念。在這種方法中,只要複製完成,我們就可以斷開連接。
在這一點上,我不確定哪一個更好,或者他們中的任何一個都是很好的設計。你能爲這個問題提出任何好的設計解決方案嗎?
謝謝!
這是來自一張桌子或多張桌子的30GB數據嗎? –
只有一張桌子:) – soleiljy