PythonでMongoDBにアクセスするには、PyMongoというモジュールを使用します。
http://api.mongodb.org/python/1.9%2B/index.html
掲載されているDocumentに従い、以下のようなコードを作成して実行しました。
尚、以前にも使用したCSV(neta.csv)をinsertネタに使っています。
#!/usr/bin/env python
import csv
import pymongo
import time
if __name__ == '__main__':
start = time.time()
c = pymongo.Connection()
db = c.testdb
reader = csv.reader(open("./neta.csv"))
for row in reader:
id = row[0]
value = row[1]
t = {"id":id , "value":value}
db.hash.insert(t)
end = time.time()
print end-start
CSVを1件ずつ読み込み、1件ずつネタをhashコレクションにinsert()を実行します。MongoDBでは特にCommitの概念はありません。100万件のデータをinsertするのに要した時間は234.9sでした。
import csv
import pymongo
import time
if __name__ == '__main__':
start = time.time()
c = pymongo.Connection()
db = c.testdb
reader = csv.reader(open("./neta.csv"))
for row in reader:
id = row[0]
value = row[1]
t = {"id":id , "value":value}
db.hash.insert(t)
end = time.time()
print end-start