2011-08-19 49 views
1

我有一個使用SQLite數據庫的應用程序。隨着iCloud的出現,我試圖找出一種在設備之間同步數據的好架構。因此,讓我們說我的應用程序運行在iPhone,iPad和Mac上。我怎樣才能讓數據庫中的數據在所有設備上保持最新?需要iOS數據庫雲設計技巧

我的第一個想法是,我可以把數據庫放入雲中併發送事務。但該設備可能並不總是在線,並且用戶隨時需要他們的內容,因此無法工作。我的另一個想法是繼續使用本地數據庫,然後在建立連接時,將緩存的數據發送到中央數據庫。問題是,我不知道從哪裏開始這樣的事情。我怎麼知道哪些數據已經發送和沒有發送,在連接時發送哪些數據等等。

所以這是我的問題(我們不必進入iCloud細節),使用SQLite數據庫和iCloud(或任何存儲介質),我怎樣才能在多個設備之間同步數據,但是仍然擁有本地存儲在設備上的最新數據?

回答

3

您可能想結算Couchbase Mobile。這將有助於您正在尋找的同步。

如果您對CoreData有重大投資,那麼您可能需要考慮編寫自己的NSIncrementalStore以支持向關鍵值存儲區中寫入數據。

如果您的數據被沙箱化爲特定用戶,iCloud只會是一個很好的解決方案。如果你有多個用戶想要查看相同的數據,那麼它將不起作用。