我正盯着在Yii Framework中构建一个使用本机语言,标签和此类数据的系统。
我已经选择了MongoDB来存储我的数据,因为我认为它可以获得更好的性能并且会以更低的成本获得更好的性能(数据库将拥有大量数据)。
我的问题涉及用户身份验证,付款等......这是我认为数据是关系的敏感信息和区域。
所以: 你会使用两个不同的数据库系统吗?我应该需要它们还是我让它变得复杂? 2.如果你推荐两种db方法,我将如何在Yii中实现这一目标?
谢谢你的时间!
PS:我不打算将这个问题作为关系型与非关系型人之间另一场无休止的讨论。话虽如此,我认为我的数据满足mongo,但如果你有话要说,那就继续;)答案 0 :(得分:9)
您可能对OpenSky基础架构上的this presentation感兴趣,其中MongoDB与MySQL一起使用。 Mongo主要用于CMS类型数据,其中灵活的模式很有用,并且它们依赖MySQL进行交易(例如客户订单,付款)。如果您最终使用Doctrine库,您会发现ORM(对于SQL数据库)和MongoDB ODM共享一个类似的API,这将使实验过程更容易。
但是,我不会回避使用MongoDB存储用户数据,因为这通常是可以从嵌入式文档存储中受益的记录(例如,在单个用户文档中存储多个计费/送货地址)。如果有的话,Mongo应该足够灵活,使您能够开发应用程序,而不必担心由于不断变化的产品需求而导致的架构更改。随着这些要求变得更加清晰,您将能够根据应用程序的性能需求和最终需要的数据库查询类型做出决策。答案 1 :(得分:0)
使用多个数据库没有任何害处(如果你真的需要),许多大型网站都在使用多个数据库,所以请先着手开始你的项目。