2009-04-02 23 views
17

私はこれがどのように権威を知らないが、私はこれを見つけた:Sqliteとは何ですか?

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

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

ありがとうございます。

編集:ありがとうございました。私は下にお勧めのページを見て何かについて混乱:SQLiteの作品まあ

Under appropriate uses for sqlite it has:

事態ウェブサイト•

SQLiteは通常、培地に低いため、データベースエンジンとして素晴らしい仕事しますトラフィックのウェブサイト(つまり、すべてのウェブサイトの99.9%)。 SQLiteが処理できるWebトラフィックの量は、もちろん、Webサイトがそのデータベースをどれくらい頻繁に使用しているかによって異なります。一般的に言えば、100Kヒット/日以下のサイトはSQLiteで正常に動作するはずです。 100Kヒット/日の数値は厳しい上限ではなく、控えめな見積もりです。 SQLiteは、その10倍のトラフィック量で動作することが実証されています。クライアント/サーバー・アプリケーション•別のRDBMS月仕事ベター

状況

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

ネットワークファイルシステム上の多くのコンピュータから同じデータベースに同時にアクセスする場合は、SQLiteを使用しないでください。

質問:

私はここに私の無知を表示するつもりですが、これら二つの違いは何ですか?

+0

なぜ私はこれをとても早く終わらせたのですか? – johnny

答えて

28

"実際の"データベースにアクセスできない場合でも、リレーショナルデータベースのパワーを必要とする状況には適しています。たとえば、Firefoxはあなたの設定/履歴/ etcに関する情報をSQLiteデータベースに保存します。firefoxを実行するすべての人が自分のマシンにMySQLまたはpostgreをインストールすることは期待できません。

これは、トラフィックが比較的少なく、読み取りが重いウェブサイトも完全に実行できます。それのパフォーマンスは全体的に非常に良好です。ウェブサイトの大半がトラフィックレベルに必要以上に優れています。

7

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

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

0

上記2つの答えには何がありますか。 Chad Birchの答え、SQLite dbへの呼び出し、そしてFF3がLinuxで非常に遅くなるようなsync()の実装が若干拡張されています。

25

これはsqliteの自体によっても回答されていますAppropriate use of sqlite

Another way to look at SQLite is this: 
SQLite is not designed to replace Oracle. It is designed to replace fopen(). 
3

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

3

貧弱な例としてアドレス帳のように、dbを利用できる単純なクライアントまたはデスクトップアプリについて考えてみましょう。 sqliteは、mysqlやpostgreのような巨大なdbエンジンをあなたのデリバブルにバンドルするのではなく、非常に軽量で完成したアプリケーションに簡単に組み込むことができます。

8

SQLiteを使用すると、別々のDBサーバーを使用するオーバーヘッドや、MySQL/Oracle/Whateverのインスタンスを使用して開発環境にボットすることなく、プロトタイプアプリケーションをすばやくまとめることができます。

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

2

この​​は、SQLiteの作成者と会話し、とりわけあなたが使用するものの種類を扱います。携帯電話のファイルシステムから小さなウェブサイトへのすべて。

2

最も簡単な言葉で言えば、SQLiteは、 リレーショナルデータベース管理システムまたはRDBMSを提供するパブリックドメインソフトウェアパッケージです。リレーショナルデータベースシステムは、ユーザー定義レコードを大きなテーブルに格納するために使用される です。 データベースエンジンは、データの格納と管理に加えて、複数のテーブルのデータ を組み合わせた複雑なクエリコマンドを処理して、レポートとデータサマリーを生成することができます。その他の一般的なRDBMS 製品には、 商用版のOracle Database、IBMのDB2、およびMicrosoftのSQL Serverが含まれています.MySQLとPostgreSQLは一般的なオープンソース製品です。 SQLiteの "Lite"は、その機能を参照していません。むしろ、SQLiteは複雑さ、管理上のオーバーヘッド、リソース使用量の設定に関して、軽量の です。 SQLiteのについての詳細情報およびソリューションは、以下のリンクご覧ください

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

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

関連する問題