どのような(?DBへ、またはファイルとして)テキストの膨大な量を格納するためのベストプラクティスだ、とそれを圧縮はどうですか?

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

質問

私は、内部の電子メールや、ユーザーとクライアント間のテキストの他、頻繁中小チャンクを扱うウェブアプリを構築しています。このデータを格納するための最善の方法は何ですか?データベース(MySQLの)中または個々のファイルの何千ものように?何が(PHPのgzcompress()やMySQLの圧縮機能を)圧縮についてはどうですか?

ユーザー負荷が(一度に20人の未満ユーザー)最小になるよう

これは、公共のアプリケーションではありません。しかし、そこにアプリ内で毎日往復を行く通信の多くなるので、私は時間が(私はそれを圧縮したい理由である)で行くように、データの量が非常に大きくなることを期待します。

私はアクセスと移植を容易にするために、データベース内のデータを保持したいのですが、私はここに画像に関して上で見てきたスレッドの一部は、ファイルストレージを使用して提案しています。あなたはどう思いますか?

は、ありがとう セス

明確化のための編集:私はスペースを節約するためにそれを圧縮するに傾くする理由であるテキストの検索の任意の並べ替えを必要としません。

役に立ちましたか?

解決

、特定のフォーマット(エクセル、ワード文書、PDFファイルなど)に既にある画像や文書のために私は、ファイルストレージを好みます。しかし、単に生のテキストのために私はおそらくかなりのデータベースを使用します。フェイルオーバー用のマシン間で複製することが容易になり、テキストの上に文字列検索を行うことができますし、私はそれを圧縮するために使用する特定のアルゴリズムを知りませんが、私はデータベースが行くには良い方法だろうと思うだろう。しかし、あなたはすでに単なるテキストを持っており、それはテキストのみの場合のみ。私は、ファイルストレージを使用して希望の文書の任意の他の形式ます。

そして、私は何かが欠けていない限り、それはテキストのみであれば、私は、代わりにBLOBのCLOBを使用することになります。

他のヒント

データベース内のファイルを維持するための主な理由の一つは、あなたが保存しているデータの残りの部分と一致し、それを維持することです。さらに、それがトランザクションの整合性を保証する方が簡単です(再)定義済みのデータセットを配備するなど、バックアップを作成することが容易になります。

これはあなたがウェブサーバ上のファイルをキャッシュに見ることができるファイルを使用しての唯一の残りの利点がある場合は、Webサーバを使用してそれらを提供することが容易である可能性がありますファイルとしてテキストを保存する利点の1つ - それが得られますあなたの簡単なバックアップとデータベースの取引の多くが、同時にHTTP要求のためのいくつかの高速化を許可します。

私はDBを使用することを選択しているだろう。あなたがメッセージを大量に保存しようとしているシナリオを記述する。あなたは、システムに関する多くの情報を提供していませんが、私はあなたがおそらく、並べ替えのグループとのメッセージに他のいくつかのプロパティを適用したいと思います。それは、代わりにファイルストレージを使用してのDBでその属性を持つメッセージを維持するためにはるかに簡単で、おそらくより高速になります。

それは圧縮になると、

私が最も効果的である方法のどれか分かりません。おそらく、選択する前に、両方試してみてください。

私は、この「中チャンク」でどのように大きな疑問に思います。テキストは(10キロバイトよりもとても少ない)だけで書かれたメッセージの場合、圧縮は彼らがさらに小さくなり、データベースの成長に大きな影響がないでしょう。また、はるかに簡単SINGLクエリで使用可能なすべてのものを持っており、個別にファイルの内容を取得する必要がないために開発やメンテナンスになります。

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