【问题标题】:Yii Using mongo DB and MySQL at the same timeYii 同时使用 mongo DB 和 MySQL
【发布时间】:2012-05-18 17:06:15
【问题描述】:

我正致力于在 Yii 框架中构建一个处理本地语言、标签和此类数据的系统。

我已经选择了 MongoDB 来存储我的数据,因为我认为它非常好,并且会以更低的成本获得更好的性能(数据库将拥有大量数据)。

我的问题是关于用户身份验证、支付等...这是我认为数据相关的敏感信息和区域。

所以: 1. 你会使用两个不同的数据库系统吗?我应该需要它们还是我让这件事复杂化了? 2. 如果您推荐两个数据库的方法,我将如何在 Yii 中实现?

感谢您的宝贵时间!

PS:我不打算让这个问题成为关系型与非关系型人员之间的又一次无休止的讨论。话虽如此,我认为我的数据适合 mongo,但是如果您对此有话要说,请继续;)

【问题讨论】:

    标签: php mysql security mongodb yii


    【解决方案1】:

    您可能对 OpenSky 基础架构上的 this presentation 感兴趣,其中 MongoDB 与 MySQL 一起使用。 Mongo 主要用于 CMS 类型的数据,其中灵活的模式很有用,他们依赖 MySQL 进行交易(例如客户订单、付款)。如果您最终使用 Doctrine 库,您会发现 ORM(用于 SQL 数据库)和 MongoDB ODM 共享相似的 API,这应该会使实验过程更容易。

    不过,我不会回避使用 MongoDB 来存储用户数据,因为这通常是可以从嵌入式文档存储中受益的记录(例如,在单个用户文档中存储多个帐单/送货地址)。如果有的话,Mongo 应该足够灵活,使您能够开发应用程序,而不必担心由于不断变化的产品需求而导致的模式更改。随着这些要求变得更加清晰,您将能够根据应用的性能需求和最终需要的数据库查询类型做出决定。

    【讨论】:

      【解决方案2】:

      使用多个数据库并没有什么坏处(如果你真的需要的话),许多大型网站都在使用多个数据库,所以开始你的项目吧。

      【讨论】:

      • 混合 NoSQL 和关系数据库从来都不是一件好事。除非有真正的需要。你通常会全力以赴地使用 NoSQL,或者你不会。在我的公司,我们有一个大型网站,我们使用 MySQL 来存储数据,但我们使用 mongodb GridFS 来存储文件。仅将文件存储为 MongoDB GridFs 是完美的。
      猜你喜欢
      • 2012-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 2014-08-09
      相关资源
      最近更新 更多