2

初めての Web アプリケーションを作成しています。非常に単純なオンライン テキスト エディタです。私がしなければならないことは、テキスト ベースのファイルを保存する最善の方法を見つけることです。これらのテキスト ファイルのサイズは 10,000 ワードを超える場合があります (テキスト ワードはコンピューター ワードではありません)。本質的に、テキスト ドキュメントのサイズは無制限にしたいと考えています。

テキスト ファイルを MySQL データベースに保存することを考えていましたが、もっと良い方法があると思いました。代わりに、テキスト ファイルを XML ベースの形式でサーバーのディレクトリに保存する予定です。データベース内の行は、xml ベースのテキスト ファイルの名前と、基本的なメタデータと共にテキストを作成したユーザーを定義します。ID は、V4 GUID ジェネレーターを使用して生成されます。これにより、テキストに ID が与えられ、テキストがサーバーの "/store" ディレクトリに保存されます。私のサーバーのテキスト定義にはこの ID が含まれており、私が開発している Android アプリは、テキスト定義を取得し、テキスト定義の GUID を使用してテキストをローカル デバイスにダウンロードすることで、テキスト ファイルの内容を取得します。

これは下手な仕事だと思いますか?どうすればこのシステムを改善できますか?

GUID が衝突するケースがありました。私はこれが起こることを望んでいません。「わずかな」可能性では十分ではありません。GUID の競合がまったく発生しないようにする必要があります。特定の ID を持つテキストを保存する前に、同じ ID を持つテキストをデータベースでチェックすることを計画していましたが、データベースに 20,000 を超えるテキストがあると、これには長い時間がかかり、サーバーに不要なストレスがかかると思います。

GUID を安全にするにはどうすればよいですか?

GUID が衝突するとどうなりますか?

サーバーのバックエンドは PHP で書かれる予定です。

4

3 に答える 3

4

ここにいくつかの質問があるので、それらすべてに答えようとします。

GUID を使用した XML はこれを行うための最良の方法ですか?

「最高」は通常、主観的なものです。これは確かにそれを行う 1 つの方法ですが、おそらく不要なオーバーヘッドを追加しているでしょう。保存しているのが単なるテキストである場合は、それを SQL に入れてみませんvarchar(MAX)か?

GUID の競合は可能ですか?

はい、しかしその可能性は低いです。 ばかげて小さい。 もっと大きな心配事があります。

GUID を安全にするにはどうすればよいですか?

それらについて心配するのをやめてください。

GUID が衝突するとどうなりますか?

これは、それらをどのように使用しているかによって異なります。この場合、GUID で示される場所に格納されている古いデータは、新しいデータによって上書きされる可能性があります。

于 2012-10-22T22:54:57.647 に答える
2

MySQLを使用してドキュメントを保存することに何の問題もありません!

それらをXMLに保存すると、何が提供されますか?フォーマットレイヤーを追加すると、読み取りとフォーマットが行われるときにのみ処理時間が長くなります。

それらをファイルとしてディスクに配置することは、それらをRDBMSに保存することと同じであり、長期的には、今後さらに問題が発生する可能性があります。(ファイルアクセス、ディスクシーク、ロック、競合状態が頭に浮かびます)。

于 2012-10-22T22:57:19.513 に答える
2

id が guid を使用するかどうかはわかりませんが、おそらく db テーブルで auto_increment キーを使用し、そのようなファイルに名前を付けるでしょう。ファイルシステムをクリーンアップせずに db からレコードを削除しない限り、レコードは常に一意になるからです。ただし、GUIDがAndroid側の要件であるかどうかはわかりません。

于 2012-10-22T22:49:48.150 に答える