私のアイデアを跳ね返り、それがうまく動作するかどうかを知るために、プロのプログラマー/ DBAが必要です。下記を読んで、この理論を破る可能性のある情報を教えてください。ありがとう。デザインオピニオン:ユーザーのためのテンプレートデータベース/テーブル
ウェブサイトのアイデアの概要:
のウェブサイトは、チャットフォーラムでの質問に答え、自分のカード/ボックスブレークを紹介するスポーツカードコレクターによって使用される、貿易/他のユーザーと/に販売し、カードのコレクションを保管してください。
デザインの問題:
ユーザーには無制限のカードを割り当てることができます。これはいくつかの非常に大きなテーブルのために作ることができます。
デザインの質問:私は、彼らがサイト上で自分のコレクションを持っていることができますどのように多くのカード上のユーザーを制限したくない
。彼らが1枚のカードを5枚持っていて、むしろカードごとに5枚の記録を持っていれば、それはその特権です。これは、各カードが異なる状態にある場合にも必要である。ただし、これを可能にすることで、すべてのレコードをすべてのユーザーに格納するテーブルが1つしかない場合でも、オプションに近いものではないことを意味します。私は1,000,000以上のカードを持つスポーツカードコレクターを知っています。
私は、ユーザーごとにテーブルまたはデータベースを作成すると、より高速なクエリが可能になると考えていました。すべてのデータベースは同じサーバー上にあるはずです(私は自分のホストが誰であるかはわかりませんが、現時点では設計段階にあります)。誰もが必要とするデータを持つメインデータベース(ユーザテーブル/データベースがベースアイテムを参照している間はベースアイテム)が存在します。フィールドが別のデータベースからの外部キーになる可能性があることがわかります。したがって、私の考えは可能ですが、全体的に私はベストアイデアが何であるか分かりません。
ほとんどのホストは「無制限のデータベース」と言いますが、これは各ユーザーのデータベースについて考えさせてくれます。私はスレッド、そのコレクションアイテム、それらのプリファレンス、およびその他の情報に関するそのユーザーの投稿にこれを使用できます。また、各ユーザーに異なる表/データベースを持たせることで、理由の如何にかかわらず誰かの表を再索引付けする必要がある場合、他のユーザーには影響しません。
しかし、私の最大の懸念は、テーブル/データベースの構造に対する追加/削除です。私はスクリプトが必要な変更を加えるために書かれていると確信していますが、それは非常に高いリスクのようです。たとえば、私は、各データベース内の特定のテーブル、または同様のテーブルのすべてにフィールドを追加するスクリプトを作成することはできますが、それが困難であることを証明できることを確認することができます。
あなたが私のためにそこに投げることができるアイデアは、非常に高く評価されます。私はこのサイトで1年以上働いていて、テーブルが大きすぎる、応答時間が遅い、ユーザー数が増えると、 phpmyadmin/MySQL。私はまた、データベースの建物の半分を取得し、それを行うより良い方法があると思うしたくない。私はそれを行うための複数の方法があるかもしれないが、それのための最も一般的な練習は何ですか?どうもありがとうございました。
"これはいくつかの非常に大きなテーブルのために作ることができます"。 "1,000,000以上のカードを持つコレクター"よりも慎重に、より慎重に定義してください。これを持っているコレクターは何人ですか?これらのデータはどのように入力されますか? –
私はまだ「ファイルからのアップロード」が難しいと考えています。私は、ユーザーが自分のカード記述を作成することを控えようとしています。これは、一部のユーザーが取引しようと思っているものを見つけるのが難しくなるためです。しかし、多くの人が1,000,000を超えるカードを持っているわけではありません。平均して、各ユーザーの平均カード数は約25,000です。しかし、私が現在使っているサイトには100,000人以上のユーザーがいるので、2,500,000,000件のレコードがあります。それが1つのテーブルの実現可能なレコード数であるかどうかはわかりません。そしてそれが成長すれば、誰が知っている。 – XstreamINsanity
そして、ユーザーが自分のカード記述を作成しないようにする理由は、そこにカードの説明のための構造がかなりうまく定義されているからです。検索できるデータベースがあるほとんどの収集サイトでは、カードを探してコレクションに追加し、数量を更新する必要があります。私は現在のサイトのいくつかと連携して情報を転送するためのWebサービスを用意しなければならないかもしれませんが、非常に厳しい指示に従わない限り、ユーザーにファイルをアップロードさせたくないと思います。 – XstreamINsanity