私はcommentに遭遇しました。あなたがdbスケーラビリティに対するシャーディングアプローチを使用すると、データベースが非正規化されているということになりますか?正規化され、断片化されたデータベースがありますか?シャーディングと正規化は互いに排他的ですか?
0
A
答えて
4
これらは互いに排他的ではありません。大量のデータセットをスケーリングするときには両方ともよく使用されますが、実際にはあまり関係がありません。シャードされた、正規化されたデータベース...または非正規化された非シャードのデータベースを絶対に持つことができます。
シャーディングでは、(正規化されているかどうかにかかわらず)与えられたスキーマを取って、いくつかの物理/論理データストアに分散しているだけです。これにより、たとえば、特定の特性(たとえば、「A-D」の姓)を持つすべてのユーザーに、特定のデータベースインスタンスを使用させることができます。データベースを断片化する方法は決定的な決定であり、実装に依存していることに注意してください。
逆正規化は、断片化されたデータベースの有無にかかわらず行うことができ、特定の質問に答えるために必要な結合/サブクエリを減らすことによって単純にクエリすることを意図しています。もちろん、通常はプログラムでデータの整合性を維持します。
いくつかの良い読書:
関連する問題
- 1. WPFバインディングプロパティのパスとXPathは互いに排他的ですか?
- 2. onCreateとonRestoreInstanceStateは互いに排他的ですか?
- 3. Material Components WebとPolymer 2.0は相互に排他的ですか?
- 4. 相互に排他的ではない変数を相互排他的な変数に再コード
- 5. 相互排他的なチェックボックスロジック
- 6. 正規表現排他的ではないがゼロ
- 7. フェールオーバーと負荷分散 - 相互に排他的ですか?
- 8. itemscontrolの相互に排他的なボタン
- 9. 相互に排他的な注釈
- 10. 相互に排他的な選択ボックス
- 11. 角度UIと角度材料は互いに排他的ですか?
- 12. 相互排他的なドラッグ/ドロップグラフイベント
- 13. pythonの相互排他的なオプショングループ
- 14. 角2相互排他的なチェックボックス
- 15. ASP.net + C#.netの相互排他的アクセス
- 16. 相互排他的な引数グループ?
- 17. Unclearanceは相互排他例
- 18. 相互排他は、Ruby
- 19. Python - 正規表現と排他的または演算子との競合
- 20. は排他的
- 21. それは相互排他か
- 22. Typescriptは相互に排他的な型をサポートしていますか?
- 23. DevPayとMFAは、相互に排他的な認可方式です
- 24. 相互に排他的な、またはプロローグの作成
- 25. は相互に排他的で、抗スクラバティブ性がありますか?
- 26. 相互に排他的で、フィールドの存在を強制レール
- 27. 2つのチェックボックスリストを相互に排他的にする
- 28. SQLサーバー:列を相互排他的に定義する
- 29. argparse:相互排他的な引数をオプションにする方法
- 30. 相互に排他的なテーブル列を作成する方法