0

代表的な例としてSOを使用して、質問のaquestionまたはanswertoが削除されたが、削除される前にいくつかの賛成票を獲得したとします。これらのポイントはまだ作者に与えられていると思います(そうでない場合は、そうだとしましょう)。では、SOはどのようにして正確な評判の合計を維持するのでしょうか。

質問/回答は実際にはDB自体から削除されておらず、おそらく処理されて質問または回答が表示されるかどうかを決定するステータスフィールドがありますか?

または、実際には削除されており、各投票がカウントされ、必ずしもその履歴がないため、評判はシステムが継続的に正確であることに依存しています(投票を記録した質問など)

4

1 に答える 1

1

SOは、私の知る限り、ソフト削除とハード削除を組み合わせて使用​​します。ポスターまたはモデレーターのいずれかによって削除された質問で得られた評判を失ったことは確かです。しかし、それはあなたの質問のポイントではないので...

正確な合計を推測できるようにしたい場合、特にその合計を計算できるようにしたい場合(SOがポイント履歴を確認する方法)、現在の合計ではなく、トランザクション情報を保持する必要があります。 。

ポイントのトランザクションログの参照整合性が必要な場合は、ソフト削除メカニズムを使用して、「削除された」質問を非表示にする必要があります。

トランザクションログを保持せず、トランザクションポイントログをバックアップするためのソフト削除可能な質問がない場合、ポイントの合計を再計算または正当化することはできません。また、時間の経過とともに獲得したポイントと時間の経過とともに蓄積された評判のグラフを表示するのは非常に困難になります。これらのグラフは、毎日のポイントスナップショットを保持することで作成できますが、投票数の増減を追跡するよりも、ストレージの面ではるかに面倒でコストがかかります。

于 2012-12-16T04:35:54.340 に答える