SqliteまたはMySql?どうやって決める?[閉まっている]


94

どちらを使用するかを決定する方法についての良い経験則はありますか?

また、Sqliteデータベースを引き継いで、システムが「はるかに大きくなる」ことが予想される場合、それを維持するか、MySqlに移行するかをどのように決定しますか?


1
FirebirdEmbeddedを検討してください。これは2つの非常に強力な混合です。
Stefan Steiger

1
広すぎると締めくくる投票。重複の可能性が削除されました:stackoverflow.com/questions/3630/sqlite-vs-mysql
Ciro Santilli郝海东冠状病六四事件法轮功

10
それは今では広いですが、投稿されたとき、その種の質問は受け入れられるか、少なくとも許容されました。他の人がディスカッションや推奨事項を引き続き読むことができるように、可能性のある重複のように質問が削除されないことを願っています。
モーグはモニカを2015

5
影響力と可視性の高い質問(以下の賛成票の数をご覧ください)がこのサイトの「モニター」によってクローズされているのは残念です。これにより、監視プロセス全体と監視の選択がかなり疑わしくなります。
francogrex 2018年

2
サイトの基準、価値観、目的は何年にもわたって変化しています。「主に意見に基づく」はもはや受け入れられません。今日、これを確認したい場合は、ここではなく、softwarerecs.stackexchange.comに質問し、データベースの要件をリストして推奨事項を受け取ります。私の質問を閉じた理由を私は理解しますが、私は、我々が持っていた時間のために、まだノスタルジックな思い冊のタグを、そして言葉は「最高」のタイトルで平均即時閉鎖しませんでした: - / YMMV
MawgがREINSTATEモニカ語る

回答:


103

それらの機能セットはまったく同じではありません。Sqliteは、ネットワーク機能を備えていない組み込みデータベースです(追加しない限り)。そのため、ネットワークでは使用できません。

必要なら

  • ネットワークアクセス-たとえば、別のマシンからのアクセス。
  • 実際の程度の同時実行性-たとえば、一度に複数のクエリを実行する可能性が高いと思われる場合、または多くの選択といくつかの更新があるワークロードを実行し、それらをスムーズに実行したい場合など。
  • たとえば、1Tbデータベースの一部を32Gのメモリにバッファするために大量のメモリを使用する。

mysqlまたはその他のサーバーベースのRDBMSを使用する必要があります。

MySQLが唯一の選択肢ではないことに注意してください。また、新しいアプリケーション(pgSQLなど)に適した他の選択肢がたくさんあることに注意してください。

Sqliteは非常に非常に優れたソフトウェアですが、RDBMSサーバーが行うこれらのことを実行することを主張したことはありません。これは、ローカルファイルでSQLを実行する小さなライブラリです(ロックを使用して、複数のプロセスがファイルを混乱させないようにします)。それは本当によくテストされていて、私はそれがとても好きです。

また、これを自分で正しく選択できない場合は、おそらくチーム内の誰かを雇う必要があります。


したがって、基本的にsqlliteはmsアクセスファイルの代替手段です。
dvdmn 2015年

2
:これらの3つのポイントは、リチャード・ヒップがで言うまさにあるyoutu.be/Jib2AmRb_rk?t=1693
チロSantilli郝海东冠状病六四事件法轮功

簡単にするために、MySqlデータベースを使用するネットワークアプリの場合でも、データベースへのアクセスを許可された唯一のユーザーである単一のソフトウェアを常に持っています。
Mawgはモニカを2017

57

sqliteチームは、sqliteをいつ使うべきかを説明た記事を公開しました。基本的に、書き込みの同時実行が多い場合、またはテラバイトのデータにスケーリングする必要がある場合は、sqliteの使用を避けます。他の多くの場合、sqliteは、MySQLなどの「従来の」データベースの驚くほど優れた代替手段です。


11

すぐに使えるSQLiteは、同時実行性に関して実際には機能満載ではありません。同じSQLiteデータベースにヒットする何百ものWebリクエストがある場合、問題が発生します。

間違いなくMySQLまたはPostgreSQLを使用する必要があります。

一人プロジェクトの場合、SQLiteの方が簡単にセットアップできます。


わかりやすくするために、MySqlデータベースを使用するネットワークアプリでも、データベースにアクセスできる唯一のユーザーである単一のソフトウェアを常に持っていますが、特にSqliteはそうです。
モーグはモニカを2017

10

以前の優れた返信に対する私の数セント。サイトwww.sqlite.orgはsqliteデータベースで動作します。これは、著者(Richard Hipp)が同様の質問に返信するときのリンクです。


1
リンクをありがとう、同じ作者はAthlon 1600でテストした独自のワークベンチを続けています。1GBRAM。5400RPM IDEディスク。Redhat 7.3。彼は次のように結論付けています。「SQLiteは、1日に最大100万ヒットを取得するWebサイトのプライマリデータベースとして使用するのに適していると思います。」
Rutrus 16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.