2013-06-30 74 views
0

我想我的數據庫導出到一個文件,然後可以在稍後讀回。當內容處於JSON中時,這種方式非常合適,但我最近決定壓縮數據,並在導出數據時使用二進制。紅寶石二進制讀取和寫入行

我的問題是我怎麼二進制數據導出到文件(OSX操作系統),然後就可以讀回並進行處理逐行要麼做分析或重新填充另一個數據庫。


我對這個問題的解決辦法是進行編碼壓縮爲Base64(http://en.wikipedia.org/wiki/Base64),然後添加自己的標記拆分行「.. ;;;; ..」爲例。

+2

您使用的數據庫是? MySQL,PostgreSQL,SQLite?使用內置的導出/導入功能,而不是自己寫的東西。它會更快,經過充分測試和優化。 –

+0

我正在使用DynamoDB,我需要將其保存爲壓縮文件,以便在64 KB的限制下儘可能多地佔用空間,而我的ORM是手工製作的。 – user2525752

回答

3

很奇怪,你會希望將數據從數據庫導出到一個文件,然後在行由行作進一步處理讀取它。這是浪費CPU時間和磁盤空間。

相反,遍歷所需的數據庫行,並直接處理它們。

+0

我正在使用DynamoDB,我需要導出數據以進行備份,並且執行多個本地迭代(儘管比我們對Web速度所需的速度更慢)比處理Dynamo本身更便宜。 – user2525752