分散ストアデータベースの「スキーマ」を設計し始めました。NOSQLデザイン、非正規化なし?
私はどの程度非正規化するかについて精神的な議論を続けています。私はそれを行う方法を理解しています。なぜなら、非正規化がクエリとよく一致して複数の場所からデータを収集するのを最小限に抑えるならば、パフォーマンスが向上する理由は...
...しかし、成熟前の最適化は悪いと言われます。エレガントで柔軟性があり、重複したデータの一貫性を維持することについての心配もありません。
だから私は今、それが妥当な戦略であるかどうか疑問に思っています。非常にリレーショナルな方法でスキーマを設計し、必要に応じてアプリケーションレイヤーを使用してデータを収集し、必要に応じて後でこれを変更します。
トラフィックが問題になる場合は、設計変更(分離、非正規化)を行って、水平方向に拡大縮小することができる技術にすでに取り組んでいます。
それが中で最良の選択かもしれないように思える:フル非正規化設計(スケール・レディ)
- 開始リレーショナル設計の分散ストアから始め、必要であれば非正規化+分離する
考えられますか?最後のアプローチは非常に合理的に聞こえるthaty
おかげ
リレーショナルデータストアの容量を超えるとしたら、どの程度の信頼性がありますか?あなたはその能力が何であると認識していますか?そして、リレーショナル・キャパシティのどの次元を超えると予想されますか(データ量、トランザクション・レートなど)?そして、あなたのデータ設計はどのように固定されていますか?あなたは、最も重要な関係上の利点 - スキーマの可用性 - の1つについて言及していません。 – dkretz
@le dorfier製品が成功した場合、書込み回数のために従来の方法で結合された3-4台の太字のmySQLサーバーの容量を超えます。もちろん、アプリケーションレイヤインテリジェンスを使用してmysqlインスタンスを分散ノードとして動作させる方法はありますが、noSQLソリューションは、アプリケーション層コードを少なくしてこれらの機能を提供するようです。スキーマの可用性は本当に問題です:-( –