休日、レンタルサーバ(さくらインターネット)のMySQLを
設定してて、バージョンを4.0->5.1にしたらinnoDBが
使えない。。。
なんじゃそりゃ。。
あるのは MyISAM、Archive, Memory 。
まあたいしたトランザクションは想定していない(そうなってくれれば逆に
嬉しいですが・・・)ので、MyISAMでいこうかな。
たぶんさくらインターネットとしてはディスク容量を食う
innoDBを皆に使われるのが嫌だったんでしょう。(たぶん
まあWebアプリの9割は参照系とかいいますしね。
一応MyISAMもロックはできるみたいですが。(表ロック・・
http://www.thinkit.co.jp/free/article/0603/10/3/
mixiアプリを考えると、更新は基本的に自分のIDの部分だけなので、
更新のやりあいは生じないことを考えるとMyISAMでも大丈夫なはず。
#ロックも不要っぽいし(無知な者の結論
逆に、マイミクのデータを取得する方が多いのでMyISAMでよいはず。。
それヤヴァイだろゴラァと思う方、アドバイスお願いします。。。
#PostgreSQL派なので、MySQLは未だに・・・
ただ、ローカルで開発しようと思ったらMySQLを用意しないと
いけないので、古典的にファイルオンリーでいくのもありかなーと
考え中。。
ユーザIDと日付をフォルダ名として、データの処理は一気にメモリに
読込んで処理すると。
#メモリが圧迫しないよう、月別にデータを分けて、1行のデータ量も少なくする、と。
問題は、読み込みスピードかな。。
#やっぱMySQLには到底敵わないだろうし orz
今まで作ってきたホームページはすべてファイル中心で
DBは使いませんでした。
#レンタルサーバに制限とかあったし、ローカルで開発しやすいので
DBって結局はファイルにデータを溜め込んでいるわけなので、
I/Oの実装ロジックさえ分かれば、DBをインストールしなくても
PHPでシンプルDBを実現できるのでは?と思ってみたり。。
実際、どういう風にファイルに書き込まれているんだろ。
インデックスを保存したファイルにファイルへのポインタが
入っていてたりするんだろうか。
うーむ、考えるだけでお腹一杯。
そういえば、大学時代にLinuxのカーネル読み漁ってた友達が
PostgreSQLのソースは美しいとか言ってたな。。。。
#読めるもんなんだろうか
精神と時の部屋があれば読んでみたい。(非現実的
http://ja.wikipedia.org/wiki/%E3%83%89%E3%83%A9%E3%82%B4%E3%83%B3%E3%83%9C%E3%83%BC%E3%83%AB#.E7.B2.BE.E7.A5.9E.E3.81.A8.E6.99.82.E3.81.AE.E9.83.A8.E5.B1.8B
各DBのファイル構造の違い
http://www.thinkit.co.jp/cert/article/0603/10/2/3.htm