目前是否有任何技术可以将存储与业务逻辑分离,并允许我轻松地从MySQL do MongoDB切换?(我假设我自己迁移数据,或者在开关之后从一个空数据库开始)。
我希望更改与更改配置、驱动程序和db连接数据一样简单。
我知道是可能的,在不同的关系数据库管理系统之间切换,但我感兴趣的是从任何关系数据库切换到NoSQL系统。
我现在关注PHP --但如果您知道其他编程语言的解决方案--我将很乐意了解它们。
我假设的不是一个复杂的数据库,没有交易,没有复杂的关系。
更多背景/细节
我正在编写一个简单的爬虫,将访问网站,并读取一些数据,并保存到数据库。它非常简单,我可能只使用pdo_mysql for PHP。如果有一天我想从MySQL切换到MongoDB,我会考虑增加一个图层来覆盖这种情况--我会问这是否可能。
更新
我认为Laravel以其雄辩的口才支持MySQL的开箱即用,并通过一个额外的插件:https://github.com/jenssegers/laravel-mongodb支持MongoDB -我将检查这是否真正透明从程序员的角度。除非有人有经验而且马上就知道?
发布于 2017-02-04 07:31:31
这里的一种典型方法是DAO或Repository设计模式。在这种模式中,您提供了一个库,它负责持久性并返回业务对象。对象没有持久化逻辑,而是存储在存储库中,或者从存储库中检索。
话虽如此,但这只适用于业务对象。当你想重做报道之类的时候,问题就会出现.在这里,关系数据库管理系统和NoSQL解决方案之间的差异会让您非常痛苦。
可以肯定的是,我不知道用例给出的是什么,“您想要对数据做什么”是在这两者之间进行选择时需要考虑的一个重大问题。
https://stackoverflow.com/questions/42033332
复制相似问题