0

私は yii でアプリケーションを構築しています。AR と DAO の両方の経験がありますが、私のアプリケーションはデータ量が多いため、すべての CRUD タスクに DAO のみを使用します。

ただし、どの種類の DB スキーマを使用するかについては行き詰まっています。RDBMS には精通していますが、データの検証/ビューでのデータの表示には、それぞれのモデルのオブジェクトを作成する必要があると考えられます。私のアプリケーションのユーザーは、入力する/入力しないを選択できるさまざまなフィールドを持っています。フィールドは次のようなものです:
1) 住所関連フィールド (個別のエンティティに分割)
2) 電話番号 (複数のタイプ)
3) 認定 (文字列データ)
4) ニッチ専門分野 (文字列データ)
5) タイミング (ドロップダウンから選択) )
6) 施設(文字列データ)

など、これらはすべてのフィールドの約 30% にすぎないことに注意してください。

RDBMS を設計している間、私は電話番号を 1 つのテーブルに入れ、住所を別のテーブルに入れるといったことを自然にしていました。単一のビューを表示するために、約 10 ~ 20 個のモデル オブジェクトを作成することを検討しています。ただし、私が話しているこのシングル ビュー ページはアプリケーションの心臓部であり、ここで機能を損なうことはできません。

これらすべての考慮事項を考慮すると、将来のスケーラビリティとパフォーマンスを考慮しなければならない場合、RDBMS が本当に適しているのでしょうか。

他にどのデータベース オプションを使用すればよいですか?

4

1 に答える 1

0

Yii で AR を使用する真の力は、モデルの「関係」 (最初の 1.1 リリース後に追加された多数の機能を含む) を利用するときです。また、「スコープ」の定義は、「with」の使用と同様に非常に強力です。これらすべての機能により、リレーション定義を 1 回記述するだけで済みます。少し時間がかかるかもしれませんが、使用するたびにそれが正しいことがわかり、それらを組み合わせることができるのは、AR が輝くときです。

モデル オブジェクトの作成には多少のオーバーヘッドがあります。Yii の広範なキャッシング機能を使用することで、さらに高いパフォーマンスを得ることができます。測定はしていませんが、キャッシングを使用した AR は、キャッシングを使用しない DAO よりもはるかに優れていると簡単に信じられます。

于 2012-09-13T07:19:02.267 に答える