• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLiteによる運用について)

SQLiteによる運用について

このQ&Aのポイント
  • SQLiteはデータが肥大化するほどパフォーマンスが低下するのか?
  • SQLiteはデータの損失が発生しやすいのか?
  • SQLiteとMySQLの比較、VMWare上での運用に注意するべきこと

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

MySQLもInnoDBであろうとMyISAMであろうと、一応、mysqldump でテキストファイルにすれば、完全なバックアップができます。 リストアもmysqldumpで可能で、バックアップを読ませるだけです。 アクセスが無いと分かっているなら、サービスを止めなくても一応出来ますね。 MySQL Administratorで、セッションの状態なんかを確認すれば尚安全です。 Firebirdは速いですよ。 あとは商用無料なので、頭を悩ませなくても済む所がお勧めできます。 もともとはInterbaseで、私は、それと付き合いが長いので信頼もしています。 MySQLともInnoDBが無かった頃からの付き合いなのですが、ライセンスが面倒なので、最近は、敬遠してるような気がします。 ODBCでもライセンスが必要らしいんで、MySQLでも、動いてしまう物はどうなんだろうとか考えると非常に悩ましいです。 SQLiteはプログラムに組み込んでしまえば、配布が楽とかそういう場面で重宝すると思います。 膨大なInsertを実行したりとか、そういう事をしないんであれば、どれを使っても大差はないと思います。はい。 ちなみにMySQLからFirebirdに、あるプログラムを移行させた事があるんですが、結構簡単に出来まして、ODBC経由なんで当たり前なんですが、BLOBなんかもプログラムのほうは手を加えず動かせましたので、MySQLを使ってみて、気に入らなければFirebirdに切り替える選択もできるかと思います(逆も) Firebirdはバックアップをするのに2つの方法が在ります。 1.コミットやロールバックをした後、ファイルを直接コピーしてしまう。 2.gbakを使う。 1は注意も必要ですが、小規模ならどちらもサービスを止める必要は無いですね。リストアも簡単です。 なので、バックアップ、リストアの手間も、どれも大差ないと思います。

piroporo30
質問者

お礼

なるほど。DBはWebシステムの開発に使ったくらいで運営経験はすくなかったので貴重なご意見でした。ありがとうございました。

piroporo30
質問者

補足

なるほど。DBはWebシステムの開発に使ったくらいで運営経験はすくなかったので貴重なご意見でした。ありがとうございました。

その他の回答 (1)

回答No.1

肥大化の程度のよりますが、パフォーマンスは落ちてくるでしょう。 TkSQLiteというツールで、削除フラグのたったレコードのメンテナンスが簡単にできます。 某ベンチマークによるとInsertが遅いようで。 10万行のInsert文で、MySQLと比べると5倍以上かかるようです。 ちなみにMySQLでは、InnoDBもMyISAMも、たいした速度差は無いようです。 SELECTに関しては、SQLiteのほうが微妙に早いようです。 1秒あたりのリクエスト数で、MySQLとSQLiteでは100件ほどの差があるようです。 個人的には。 仮想PC上で使うなら、Firebirdとか楽でよいと思います。 DBがファイルになってますので、コピーだけで、いろいろな環境にうつせますから・・・。 MySQLもdumpしてファイルにしてしまえば同じことですけど。

piroporo30
質問者

補足

INTLINSIDE様へ 回答ありがとうございます。 とても参考になる情報です。 大切なことを記述し忘れていたのですが、バックアップの利便性を重視しておりまして、SQLiteの検討を行っております。(SQLiteだと誰もサーバへアクセスしない夜半に、MySQLのようにサービス停めないで、DBファイルをバックアップできて良いかと考えております。) ちなみに、Firebirdは、以前ソフトウェアデザインでよんだことがある限りなのですが、SQLiteもDBがファイルとなっているため、Firebirdとの違いが良く分からなかったのですが、何かお薦めいただいた意図がおありなのでしょうか?

関連するQ&A