2013-04-09 89 views
0

我正在運行一個Scrapy項目,我正在尋找最好的方法來在本地存儲已掃描的數據。目前我使用AnyDBM,但我一直運行一段時間後,發現了以下錯誤:在Python本地存儲數據

bsddb.db.DBRunRecoveryError: (-30973, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: fatal region error detected; run recovery')

據我的東西,我做錯了,我是很新,Python,但我想知道如果除了Anydbm之外還有更好的解決方案。

我正在存儲我已經爬過的頁面的數字ID,並且將存儲大約500,000條記錄,並計劃爲將來的項目提供3-4百萬的記錄。

AnyDBM是我應該堅持還是應該改變爲更適合這項工作的東西。

+0

您使用/規劃使用多個線程/進程嗎? – nvlass 2013-04-09 09:52:44

回答

1

默認情況下,python自帶sqlite3這是一個很好的數據庫系統。

這是一個pretty good tutorial就可以了。把表放在內存中使用:

conn = sqlite3.connect(":memory:") 
conn.isolation_level = None 
cur = conn.cursor() 
1

看起來很適合sqlite,它已經是Python標準庫的一部分。