0

我正在 yii 中构建一个应用程序。我在 AR 和 DAO 方面都有经验,但由于我的应用程序数据量很大,因此我将仅将 DAO 用于所有 CRUD 任务。

但是我被困在哪种数据库模式上,我对 RDBMS 非常熟悉,但考虑到数据验证/在视图中显示数据,我必须创建它们各自模型的对象。我的应用程序中的用户有各种字段,他们可以选择填写/不填写。字段如下:
1)地址相关字段(分解为单独的实体)
2)电话号码(多种类型)
3)认证(字符串数据)
4)利基专业化(字符串数据)
5)时间(从下拉列表中选择) )
6) 设施(字符串数据)

等等,请注意,这些只是所有字段的 30% 左右。

在设计 RDBMS 时,我自然会将我的电话号码放在一张表中,将地址放在另一张表中,依此类推。为了显示单个视图,我正在考虑创建大约 10-20 个模型对象。然而,我正在谈论的这个单一视图页面是应用程序的核心,功能在这里不能妥协。

考虑到所有这些考虑,如果我将来必须考虑可伸缩性和性能,RDBMS 真的是要走的路吗?

我应该选择哪些其他数据库选项?

4

1 回答 1

0

将 AR 与 Yii 结合使用的真正威力在于利用模型“关系”(包括原始 1.1 版本后添加的众多功能)。定义“范围”也可以非常强大,就像使用“with”一样。所有这些功能都允许您编写一次关系定义。这可能需要一点时间,但你知道每次使用它都是正确的,它们可以组合在一起,这就是 AR 大放异彩的时候。

创建模型对象有一些开销。通过使用 Yii 广泛的缓存功能,您仍然可以获得更高的性能。我还没有测量过,但我很容易相信带有缓存的 AR 可以大大优于没有缓存的 DAO。

于 2012-09-13T07:19:02.267 回答