我开始在Yii框架中建立一个使用本地语言、标签和这样的数据的系统。
我已经选择了MongoDB来存储我的数据,因为我认为它感觉很好,并且会以更少的成本获得更好的性能(数据库将有大量的数据)。
我的问题是关于用户身份验证、支付等。这是一些敏感的信息,我认为其中的数据是关系型的。
所以: 1.你会使用两种不同的数据库系统吗?我应该需要它们,还是我会让事情变得复杂? 2.如果你推荐两个分贝的方法,我该如何在Yii中实现?
耽误您时间,实在对不起!
PS:我不希望这个问题成为关系型和非关系型人士之间的又一场无休止的讨论。话虽如此,我认为我的数据是mongo,但如果你有什么要说的,那就说吧;)
发布于 2012-05-19 02:43:48
您可能会对OpenSky的基础设施上的this presentation感兴趣,其中MongoDB与MySQL一起使用。Mongo主要用于CMS类型的数据,其中灵活的模式是有用的,他们依赖于MySQL进行交易(例如,客户订单,支付)。如果您最终使用的是Doctrine库,您会发现ORM (用于SQL数据库)和MongoDB ODM共享一个类似的API,这将使实验过程变得更容易。
不过,我不会回避使用MongoDB来存储用户数据,因为这通常是一个可以从嵌入式文档存储中受益的记录(例如,在一个用户文档中存储多个账单/发货地址)。如果有什么不同的话,Mongo应该足够灵活,使您能够开发您的应用程序,而不必担心由于不断变化的产品需求而导致的模式更改。随着这些需求变得更加清晰,您将能够根据应用程序的性能需求和最终需要的数据库查询类型做出决定。
发布于 2012-05-19 02:16:45
使用多个数据库没有什么坏处(如果你真的需要的话),许多大型网站都在使用多个数据库,所以开始你的项目吧。
https://stackoverflow.com/questions/10656875
复制相似问题