データを保存するには mysql とファイルのどちらを使用する方が良いでしょうか?

StackOverflow https://stackoverflow.com/questions/2002406

  •  18-09-2019
  •  | 
  •  

質問

データを保存するために mysql を使用するのが良いのか、それともファイルを使用するのが良いのか疑問に思っています。何が安全で、何が速いのでしょうか?phpとmysqlについて話しています。

役に立ちましたか?

解決

これは完全にあなたの要件や設定に依存します。

複雑なクエリを必要としない少量のデータの場合、ファイルが高速です。サイトのキャッシュは一例であります。

の詳細な構造を持つ大規模なデータセットやセットの場合、データベースは、より高度な方法でデータを照会することができます。

は、安全性の面では、ファイルは(許可を使用して)保護することができ、ウェブルート外に格納します。データベースは、特定のホストにロックすることができ、異なる役割/権限を持つユーザーを持つことができます。

他のヒント

前述したように、それはデータにも依存しますが、現在のボトルネックにも依存します。
IO リソースがすでに不足しているサーバー上でアプリケーションが実行されている場合は、いずれにしてもネットワーク タイプのストレージを選択することをお勧めします。

セキュリティの問題は、使用されているテクノロジーよりも、セットアップと優れた実践方法に関連しています。ファイルを書き込む場合は、そのファイルがダウンロードできないようにする必要があります。データベースを使用する場合は、SQL インジェクションなどに注意する必要があります。

ファイルとリレーショナル データベースに限定されないことを強調したいと思います。

も使用できます memcached データをメモリに保存します (キャッシュなどに最適です)。NOSQL のようなデータベース レディス もオプションです。

  • データベース (つまり MySQL):
    長所:検索可能、複雑で構造化されたデータを処理できる、別のサーバーでホストできる、永続的
    短所:遅い
    一般的な使用法:ビジネスデータストレージ
  • ファイル:
    長所:セットアップが非常に簡単、非常に高速、永続的
    短所:非常に複雑なデータの処理には適さない、検索できない、サーバーホストの IO リソースを消費する、 それ 速い
    一般的な使用法:ログ ファイル、テンプレート キャッシュ ファイル
  • NOSQL (つまり Redis):
    長所:高速、リモートホスト上でセットアップ可能、永続的
    短所:検索が容易ではないため、強力に構造化されたデータには適していません
    一般的な使用法:パフォーマンスハック (検索)
  • メモリ:
    長所:最速のもの!は、リモートホストのConsでセットアップできます。NOSQL と同じ + 永続的ではない
    一般的な使用法:オブジェクトのキャッシュ

は、データに依存します。

それはしかし、本当に些細でない限り、あなたにもMySQLを使用することができます。明白な欠点は本当にありません。

一般に、データを保存するには、ある種のデータベースまたはオブジェクト ストアが必要になります。これは、データにクリーンなインターフェイスを提供するためです。 取得する あなたのデータ。ただし、保存しようとしているデータに大きく依存します。

ユーザーが変更可能なデータを含む Web サイトを作成している場合は、おそらく MySQL またはその他のデータベースを使用することになるでしょう。単に文書を入力することについて話しているだけであれば、データベースのオーバーヘッドはおそらく価値よりも問題のほうが大きいでしょう。

より良い回答を提供するには、保存しているデータの種類とそのデータへのアクセス方法を知る必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top