【问题标题】:User Profiles in a 3 tiered CouchDB and Laravel app3 层 CouchDB 和 Laravel 应用程序中的用户配置文件
【发布时间】: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


    【解决方案1】:

    拥有像您这样的非同质数据是 CouchDB 或 MongoDB 等面向文档的数据库优于关系数据库的典型情况。

    虽然 CouchDB 可以配置为面向公众并可供客户端直接访问(甚至有完全由 CouchDB 提供服务的整个 Web 应用程序的概念验证),但这在实践中并不常见。通常的场景是将 CouchDB 用作隐藏的后端服务,由运行某种服务器端 Web 技术(如 PHP、JSP、ASP 或您喜欢的任何东西)的 Web 服务器使用。

    【讨论】:

    • 谢谢!你能提供一些关于在 2 层中使用它的信息吗?我找到了 Doctrine 的 ODM,但我不太确定它的好处。
    • @DilipRamirez 这是一个新问题。
    猜你喜欢
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 2020-05-26
    • 2021-05-10
    相关资源
    最近更新 更多