Ruby on Rails で一日数十万アクセスのウェブサービスを開発しています。
MySQLではなくsqlite3を使おうと思っていますが、あまり大規模サイトで使われている事例を聞かないので不安です。sqlite3でも問題ない、または問題あるという意見を聞かせて下さい。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/06/11 07:13:15
  • 終了:--

回答(2件)

id:dothan No.1

どたん回答回数36ベストアンサー獲得回数102011/06/11 07:59:45

使い方にもよるのですが、MySQLからSQLiteへの以降で注意すべき点としては、以下のようなものがあります。

  1. MySQLにあってSQLiteにない組み込み関数がある
  2. SQLiteにはストアドプロシージャがない
  3. SQLiteはアクセス制御がおおざっぱ

これらを事前にクリアしておかないと、かえってレスポンスが悪いRDBMSになってしまうのでご注意を。

要するに、大規模なシステムで最適化に使う手法がSQLiteには通用しないので、大規模システムで敬遠されていると言うことです。(大規模システムで絶対に使えないというわけではありません)

id:windofjuly No.2

windofjuly回答回数641ベストアンサー獲得回数2142011/06/11 08:27:31

組み込みに向けたSQLiteの多くの利点がWEBサービスのバックエンドとしては逆に欠点となります

(1)パスワードによる保護が無い

SQLite3にはユーザー管理という概念がなく難なく情報を持って行かれる可能性がある

(2)ファイル単位ロック

SQLite3の排他制御はファイル単位で行われるため、複数ユーザーがアクセスしてくるWEBサービスなどではタイムアウトが頻発するといったような致命傷となる場合もある

(3)拡張性は無い

1つのファイルですべて完結しているので一見すると楽そうにも思えるけれど、逆に拡張性は無い

 

組み込み関数やストアドを比較点としてあげている人がいるけれど、その意味がわからない

MySQLにストアドが搭載されたのは5.0以降であり、4.xも比較的最近まで使われていたのだから、それは理由にはならない

組み込み関数についてもおおよそ代用することが可能なので、それが理由にはならない

トラックバック

トラックバックはまだありません

ご利用にはGoogle Chromeのインストールが必要です。

ご利用にはGoogle Chromeのインストールが必要です。

人力検索はてな リニューアル 無料で質問やアンケートができるようになりました MacBook Airプレゼントキャンペーン中 6月12日(日)まで twitterで新着質問をチェック!