##[衝撃] mongo redis ローカルでさくっとたてるデータベースとして、何千万、億単位、数Gのデータのデータがもっともカンタンで神速だったのは。。。
[Redis 最短入門(1)2行でインストール&起動]
(http://qiita.com/tottoko/items/6dc670ee8b3c58301c65)
[Redis 最短入門(2)5分でAPI]
(http://qiita.com/tottoko/items/fd5075397dc38539cfdc)
[Redis 最短入門(3)Pythonでも5分でAPI]
(http://qiita.com/tottoko/items/de1391329547e1782ad1)
Mongodb 最短入門(1)EC2にインストール&起動&いきなり数万件入れてみた
[Mongodb 最短入門(2)数万件いれて探してみた]
(http://qiita.com/tottoko/items/68e61daf6eafb03d4b4b)
[Mongodb 最短入門(3)数百万件でも速くしてみた]
(http://qiita.com/tottoko/items/b6c9430b1e0ab7cb409c)
[SQLiteにpythonで数億行いれてみた]
(http://qiita.com/tottoko/items/0bf43d25c4b69b67df15)
改め、もっとカンタンに億単位を秒殺で入れる方法をみつけた。(サーバースペックにもよるけど)
##ジャカジャーン!最速なのは
#SQLite3
であったあるよ。。
###1000万件のCSVを持ってきた~
カンマ区切りで1行目はカラム名あるよ~
###解凍する~
gunzip honyarara.csv.gz
###1行目を抜く
sed -e '1,1d' honyarara.csv
###sqlite3 に CSVをインポートする
sqlite3 /path/to/mydb.db
sqlite> create table hogagaga (id integer,name text);
sqlite> .separator ,
sqlite> .import honyarara.csv hogagaga
ほげっ?
早っ!あまりに速くてselect count(*) したけどほんとうだった。
import cgi
import sqlite3
print "Content-type: text/html\n"
conn = sqlite3.connect("/path/to/mydb.db")
csr = conn.cursor()
csr.execute('select * from hogagaga' )
pagesize=100
for x in csr.fetchmany(pagesize):
items.append(dict(zip(('id','name'), x)))
if len(items):
print json.dumps({"items":items})
###はい、サーバー起動 ッターン!
python -m CGIHTTPServer &
###JSON返してもらう ッターン!
ほぎゃ!速い
しかもすべて組み込み。ほとんどの環境ではインストールすら不要のこのコンビ(python + sqlite3)。