私のバックグラウンドはリレーショナル DB で、主に学習のために Google AppEngine の実験を行っています。ユーザーが州 (CA、NY、TX など) に属し、政党 (共和党、民主党など) を選び、特定の年 (今のところ 2012 年ですが、アプリは 2016 年に再利用される可能性があります)。
ユーザーが自分の投票履歴を確認して、現在の選挙で一度変更できるようにしたい. また、ユーザーが郵便番号を指定することを要求し、州および/または郵便番号ごとにいくつかのレポートを実行するとよいと思います。
リレーショナル DB を使用して、次のようなテーブルをいくつか作成するようです。
Users(userid, username, city, state, zip)
UserVote(userid, year, vote)
次に、SQL を使用してレポートを実行します。AppEngine データストアでは、集計レポートを実行するのがやや難しいようです。
私の最初の取り組みはUser
、各ユーザーがリストを含むことができるVotes
場所で分割し、別の場所に集計を二重に保存することです。
助言がありますか?
PS AppEngine-MapReduceプロジェクトを見たことがありますが、それがやり過ぎかどうかはわかりません。