既存のソーシャルブックマークに不満を感じており、人がページを見ていく過程をそのまま編集して見せられるようなものがあれば、情報を得る際にもいいし、議論などが追いやすいと考えた。そこで、今まで大学の練習問題と社会ネットワーク分析用のツールしか作ったことがない私は2年振りにコードを書いてみることにした。
とりあえず言語はそれなりに使い慣れたPythonとして、あとは今流行のGoogle App Engineでも使ってみるかという軽い雰囲気でチュートリアルをこなした。いちおうRailsとかのMVC使ってるやつも概念は知ってるし、どうにかなるだろう。と思ったら、
なんだ、このデータベースは。
あれだ、すごく適当にデータモデルを作ったので、正規化とか一切なくてすごく汚いものを作っちゃったのね。で、これではだめだと思って正規化してみたのだが、どうもデータベースを扱うDataStoreがおかしいと気づいてきた。まあとはいっても実務なんかこれっぽっちもやってないわけで、気づいたのは
- なんかリスト構造とか入れられるぞ、ということは実は全部バイナリ?
- 他のテーブルへのポインタも入れられるぞ、ということはRelationはこれが担うのか?
- SQLに似たアクセス手法のGqlQueryがすごく貧弱。RDBの演算が全然できないじゃないか
- 全てのデータモデルにキーが付属してる。ってことは主キーとかの扱いも変わってくるぞ
- ということは正規化って無意味で完全にオブジェクト指向の論理で行っていいってこと?
と考えているうちに埓があかなくなったので、「Googleを支える技術」
Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)
- 作者: 西田圭介
- 出版社/メーカー: 技術評論社
- 発売日: 2008/03/28
- メディア: 単行本(ソフトカバー)
- 購入: 47人 クリック: 1,166回
- この商品を含むブログ (374件) を見る
なんかその辺のドキュメントの訳があがってた。
http://d.hatena.ne.jp/hamatsu1974/20080415