【发布时间】:2013-05-18 14:19:04
【问题描述】:
我正在 Laravel 4 中开发一个有多个用户的 Web 应用程序,每个用户都有一个配置文件。这些配置文件可能(或可能没有)具有不同的变量,例如日期等。我已经查看了一些解决此问题的 RDBMS 解决方案,包括 EAV 设计,但这种方法在性能和代码方面都非常昂贵,所以我丢弃了它。
另一种选择是创建一个包含许多列的大表,但我也放弃了它,因为让用户拥有 30 个空字段是非常没用的。
所以我在考虑使用 NoSQL,最终选择了 CouchDB 来实现可扩展性和主-主复制。我研究了一些 DBaaS,发现 Cloudant 非常有趣。真正的问题是:这真的适合我的情况吗(让用户的个人资料具有每个用户的不同变量)?还是可以使用 RDBMS (MySQL)?另外,如何在 3 层应用程序中使用 CouchDB 和 Laravel?我不希望用户无法访问数据库的任何功能,我真的认为在服务器端使用 CouchDB 是目前最好的选择,如果我错了,请纠正我。
【问题讨论】:
标签: nosql couchdb laravel 3-tier cloudant