で、データベース。GoogleはDatastoreを提供していたが、Amazonは幾つかの選択肢がある。
- RDS(MySQL)
- EC2にMySQL
- SimpleDB
You can get started with Amazon SimpleDB for free. New and existing customers receive 25 SimpleDB Machine Hours and 1 GB of Storage for free each month. Many applications should be able to operate perpetually within these free tier limits.ということなので、よほど無茶な使い方をしなければ無料で行けそうだ。となるとあとはアプリケーションからの操作だが、これはbotoを使えばなんとかなろう。ただし説明書は絶望的なくらい揃っていない。ソースを読むしかない。以下、メモ。
boto.sdb.db.Modelを継承すれば永続化は簡単。
from boto.sdb.db.model import Model
from boto.sdb.db.property import *
class QuoteModel(Model):
ticker = StringProperty()
dt = DateTimeProperty()
op = FloatProperty()
q = QuoteModel()
q.ticker = "ABC"
q.dt = some_date
q.op = 1.23
q.put()
boto.sdb.db.Queryを使って検索。
from boto.sdb.db.query import Query
query = Query(QuoteModel)
query.order('dt')
q = query.filter('ticker =', ticker)
q = query.filter('dt >=', some_date1)
q = query.filter('dt < ', some_date2)
for r in q:
#dt順にならんだQuoteModelに対する操作が可能
botoの設定は/etc/boto.cfgにいれておけばよい。あとはPylonsでも組み合わせればいいんですかね。
0 件のコメント:
コメントを投稿