私は "ブック"で構築しているweb-app用のデータベースを設計しました。非正規化:いくらですか?
- 、アプリのエンティティを含むER図を作成し、属性、関係
- 「ノー・スキーマへのスキーマを翻訳スキーマ
- にしてER図を翻訳:それは私てきたが、あります(データベースはCassandra(NoSQL)データベースです)。
すべてがうまくいっています(これまでのところ)。私は大きな成果で前もって非正規化しましたが、まだ非正規化されていないデータを使用するアプリケーションの一部を実装しています。この特定の部分については、パフォーマンスがいくらか向上することが予測されます(7の代わりに1 Column_Family(リレーショナル・ワールドでは「表」)からの読み取り)。
しかし、私はあまりにも多くの非正規化をしている可能性があることを恐れています。問題の部分でそうする必要がある場合、アプリケーションのColumn_Family/tableの数を約20%削減し、データベースの多くを非正規化することで何らかの理由で神経質になってしまいます。
私はデータベースデザイナーや管理者を迎え入れることができれば十分ですが、私が実行している非正規化が私が求めている(ベストケースの)性能、または少なくとも最も有害ではない(最悪の場合)性能。
非正規化の決定を行う際に注意すべき点がありますか?そうすることは悪いことを示しているのでしょうか?
"正常に動作するまでノーマライズし、正常に動作するまでノーマライズします" - anon。 –
@MitchWheat:その見積もりを検索すると、http://stackoverflow.com/questions/47711/how-do-you-determine-how-far-to-normalize-a-databaseとhttp:// www。 codinghorror.com/blog/2008/07/maybe-normalizing-isnt-normal.htmlどちらも参考になりました。ありがとう! – Kevin