0

短い話: java/flash アップローダーをダウンロードしましたが、ファイルの 1 つが .db でした。いくつかの調査の後、それがデータベースであることがわかりました。それが疑問を引き起こしました。データベース (.db) ファイルを作成し、ルート ディレクトリのフォルダーに保存することはできますか? 別のサーバーと SQL クエリに依存する必要はありません。これにより、理論的には、ローカル ファイルのみにアクセスすることで Web サイトを高速化できます。

問題: 私は多くの調査を行いましたが、答えが見つかりませんでした。主に、これまでこれを扱ったことがないので、どこを見ればよいかわかりません。

質問: 誰かそのようなことを聞​​いたことがありますか? もしそうなら、チュートリアルのウェブサイトを紹介してもらえますか、またはこれがどのように機能するか、ファイル間で使用される通信言語の種類の簡単な定義/説明/例を提供してもらえますか? SQL? 他の何か?わからない!

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

4

6 に答える 6

2

【良いところ】 理論上は、できます。1 つの例はsqlite データベースです。このデータベースは、任意の場所に保存できる単一のファイルです。PHP でコーディングしている場合、このデータベースにアクセス/クエリするには、PHP に対応する拡張機能をインストールする必要があります。

[悪い点] これは、扱うデータが少量で、クエリが比較的単純な場合にのみ意味があります。Sqlite データベースは低速であり、限定された一連の SQL 操作しかサポートしていません。また、多くの標準データ型がサポートされておらず、信頼できる多くの組み込み関数が不足しています。Sqlite データベースは、スタンドアロン アプリ (ローカル データを使用するモバイル アプリケーションなど) で単純な db サポートが必要な場合には非常に適していますが、大量のトランザクション データを保存するにはあまり適していません。

[評決] Web アプリケーションを高速化することを検討している場合、適切なデータベースから sqlite に切り替えることは、おそらくアプリケーションを妨げるだけで、助けにはなりません。

于 2013-01-22T19:01:58.743 に答える
1

SQLlite は、サーバーを使用せずに機能するデータベースを提供できます。通常の SQL サーバー (MySQL など) で使用するような標準 SQL インターフェイスを提供します。標準のデータベース サーバーよりも多くのディスク I/O に依存するため、おそらく高速にはなりません。

于 2013-01-22T18:57:36.893 に答える
0

あなたが話しているのは、クライアントと同じコンピューター上でサーバーを実行しているだけのようです。もちろんそれは可能です。

利点は、SQL、さらにはネットワークプロトコルを使用しますが、同じコンピューターに自己完結することです。後で本番環境に切り替えると、最小限の構成変更になります。

実際にはネットワークを使用しませんが、代わりにメモリ内のすべてのネットワーク呼び出しを行います。これは非常に高速に実行され、優れた開発環境です。

于 2013-01-22T19:18:52.210 に答える
0

SQLiteはサーバーレスです。それは十分に文書化されています。PHP には、それと連携するための拡張機能もあります。しかし、本当に速度を上げたい場合は、memcachedredisMongoDBなどを検討する必要があります。

于 2013-01-22T18:58:50.720 に答える
0

あなたが本当に求めているのは、フラット ファイル データベースです。

http://www.databasedev.co.uk/flatfile-vs-rdbms.html

于 2013-01-22T18:59:15.210 に答える
0

名前を付けることができるほとんどすべてのデータベース ソリューションは、ストレージ メカニズムとしてファイルに依存しているため、データをファイルに格納するだけでは、アプリケーションに固有のパフォーマンス ボーナスがもたらされません。SQLite のようなサーバーレス データベースは存在しますが、それらを選択する理由がパフォーマンスに関係することはほとんどなく、むしろ移植性に関係しています。

MySQL またはその他のデータベースのローカル インスタンスを実行して、有線伝送コストを削減できます。MySQL はオンディスク ストレージに加えてインメモリ ストレージに依存しているため、適切に構成されていれば、ほとんどの場合に SQLite のようなものよりも優れたパフォーマンスを発揮します。

あなたはこの種のことにかなり慣れていないように思われるので、この種の時期尚早なパフォーマンスの最適化について心配しようとすることについては注意が必要です. おそらく、Web サーバーと同じサーバー上にある従来のリレーショナル データベース (MySQL など) から始めてください。

データベースを別のサーバーに分離する必要がある場所への十分なトラフィックがあるポイントに到達したら (データベースまたは Web アプリケーションにより多くのリソースを割り当てるため、または複数の負荷分散された Web アプリケーションを許可できるようにするため)サーバーが単一のバックエンド データベースと通信している場合)、この種のパフォーマンスの調整についてさらに心配し始めることができます。

于 2013-01-22T19:04:11.820 に答える