20

これがどれほど権威があるかはわかりませんが、これを見つけました:

http://www.sqlite.org/cvstrac/wiki?p=PerformanceConsiderations

sqlite への接続が多いのは良くないようです。これは、Web や少数のユーザーがいるほとんどのアプリケーションにとっては悪いことのようです。それほど多くの接続を必要としない場合、sqlite を何に使用するかを考えるのに苦労しています。私が考えることができるすべてのプログラムはユーザーを必要とし、時には多くのユーザーを必要とします。プロトタイプについて考えましたが、より大きなデータベースに接続できるのに、なぜそれを使用するのでしょうか? 組み込みアプリかな?

ありがとうございました。

編集:みんなありがとう。以下に推奨されるページを見ましたが、何かについて混乱しています。

sqlite の適切な用途では、次の機能があります。

SQLite がうまく機能する状況

•ウェブサイト

SQLite は通常、低から中程度のトラフィックの Web サイト (つまり、すべての Web サイトの 99.9%) のデータベース エンジンとして最適に機能します。もちろん、SQLite が処理できる Web トラフィックの量は、Web サイトがデータベースをどれだけ頻繁に使用するかに依存します。一般的に言えば、1 日あたりのヒット数が 100K 未満のサイトであれば、SQLite で問題なく動作するはずです。1 日あたり 10 万ヒットという数値は控えめな見積もりであり、厳密な上限ではありません。SQLite は、その 10 倍の量のトラフィックで動作することが実証されています。

別の RDBMS の方が適切に機能する状況

•クライアント/サーバー アプリケーション

ネットワーク経由で共通データベースにアクセスするクライアント プログラムが多数ある場合は、SQLite の代わりにクライアント/サーバー データベース エンジンの使用を検討する必要があります。SQLite はネットワーク ファイル システム上で動作しますが、ほとんどのネットワーク ファイル システムに関連する遅延のため、パフォーマンスは良くありません。また、多くのネットワーク ファイル システム実装のファイル ロック ロジックにはバグが含まれています (Unix と Windows の両方で)。ファイルのロックが正常に機能しない場合、2 つ以上のクライアント プログラムが同じデータベースの同じ部分を同時に変更して、データベースが破損する可能性があります。この問題は、基礎となるファイルシステムの実装のバグが原因であるため、SQLite がそれを防ぐためにできることは何もありません。

ネットワーク ファイル システムを介して多数のコンピュータから同時に同じデータベースにアクセスする状況では、SQLite を使用しないようにすることをお勧めします。

質問:

ここで私の無知をお見せしますが、これら2つの違いは何ですか?

4

9 に答える 9

34

「実際の」データベースにアクセスできず、リレーショナル データベースの機能が必要な場合に適しています。たとえば、Firefox は、設定/履歴などに関する一連の情報を SQLite データベースに保存します。firefox を実行しているすべての人がマシンに MySQL または postgre をインストールしているとは期待できません。

また、比較的トラフィ​​ックが少なく、読み取り量の多い Web サイトを完全に実行できます。そのパフォーマンスは全体的に非常に優れており、トラフィック レベルに対して大多数の Web サイトが必要とする以上のものです。

于 2009-04-02T18:39:54.027 に答える
33

これは sqlite 自体によって適切に回答されています : sqliteの適切な使用

Another way to look at SQLite is this: 
SQLite is not designed to replace Oracle. It is designed to replace fopen().
于 2009-04-02T18:44:49.553 に答える
9

また、SQLiteを使用すると、個別のDBサーバーを用意したり、MySQL / Oracle / Whateverのインスタンスで開発環境を妨害したりするオーバーヘッドなしに、プロトタイプアプリケーションを非常に迅速にまとめることができます。

また、必要に応じて、データベースを簡単に取得して別のマシンに移動できます。

于 2009-04-02T18:47:32.527 に答える
8

組み込みアプリケーションによく使用されます。

データベース サービスにアクセスできない場合は、データベースのようなストレージを使用すると非常に便利です。したがって、SQLite は、どこかに保存する単なるファイルであるため、使用されます。

于 2009-04-02T18:39:45.697 に答える
4

iPhone は、通話履歴、SMS メッセージ、連絡先、およびその他の種類のデータに使用します。Ólafur Waage が言ったように、軽量であるため、モバイル デバイスの組み込みアプリケーションに適しています。スタンドアロン アプリケーションでも使用しました。使いやすく、ほとんどのプラットフォームで利用できます。

于 2009-04-02T18:45:04.047 に答える
3

このFLOSS Weekly ポッドキャスト エピソードでは、SQLite の作成者と話し、SQLite をどのような用途に使用するかについて取り上げます。携帯電話用のファイル システムから小規模な Web サイトまで、あらゆるものに対応します。

于 2009-04-02T22:43:17.483 に答える
3

貧弱な例としてアドレス帳のように、db を利用できる単純なクライアントまたはデスクトップ アプリについて考えてみてください。成果物に mysql や postgre などの巨大なデータベース エンジンをバンドルするのではなく、sqlite は非常に軽量で、完成したアプリに簡単に含めることができます。

于 2009-04-02T18:45:22.953 に答える
2

簡単に言えば、SQLite はリレーショナル データベース管理システム (RDBMS) を提供するパブリック ドメインのソフトウェア パッケージです。リレーショナル データベース システムは、ユーザー定義のレコードを大きなテーブルに格納するために使用されます。データベース エンジンは、データの保存と管理に加えて、複数のテーブルのデータを組み合わせてレポートとデータ サマリーを生成する複雑なクエリ コマンドを処理できます。その他の一般的な RDBMS 製品には、Oracle Database、IBM の DB2、Microsoft の SQL Server などの商用製品があり、MySQL と PostgreSQL は一般的なオープン ソース製品です。SQLite の「ライト」は、その機能を指すものではありません。むしろ、SQLite は、セットアップの複雑さ、管理オーバーヘッド、およびリソース使用に関しては軽量です。

SQLite に関する詳細情報と解決策については、以下のリンクを参照してください。

http://blog.developeronhire.com/what-is-sqlite-sqlite/

ありがとうございました。

于 2011-01-16T11:42:18.043 に答える
0

上記の2つの答えが言うこと。Chad Birch の回答、その SQLite db への呼び出し、および FF3 が Linux で非常に遅くなる原因となる sync() のかなり貧弱な実装を少し拡張します。

于 2009-04-02T18:42:04.803 に答える