Python 对象的完全抽象数据源?
如果这个问题太笼统,或者我还没有通过搜索找到解决方案,我会提前道歉 我使用web.py在一个简单的REST服务器上工作,我的后端是mysql,所以我使用了sqlalchemy声明性对象。一切都运行得非常好,但我发现自己非常依赖于使用sqlalchemy当时支持的数据库。如果我想切换到mongodb或其他东西,我的特定于sqlalchemy的声明性类必须重写或废弃 我想知道是否有任何项目(或者更一般地说,设计模式的一个示例)允许您插入任何后端。我相信从sql后端切换到mongo后端(例如)需要相当多的编码,但是如果有任何众所周知的策略来最小化痛苦,我会非常好奇地听到它们Python 对象的完全抽象数据源?,python,sqlalchemy,Python,Sqlalchemy,如果这个问题太笼统,或者我还没有通过搜索找到解决方案,我会提前道歉 我使用web.py在一个简单的REST服务器上工作,我的后端是mysql,所以我使用了sqlalchemy声明性对象。一切都运行得非常好,但我发现自己非常依赖于使用sqlalchemy当时支持的数据库。如果我想切换到mongodb或其他东西,我的特定于sqlalchemy的声明性类必须重写或废弃 我想知道是否有任何项目(或者更一般地说,设计模式的一个示例)允许您插入任何后端。我相信从sql后端切换到mongo后端(例如)需要相当
非常感谢您的回答 这可能有助于您为MongoDB选择ORM: 我发现很难相信,在ORM的保护下,从关系数据库到NoSQL数据库的任何转换都能无缝地用于任何非平凡的项目。然而,如果您真的需要在某个时候进行迁移,那么有一些orm具有与SQLAlchemy相似的语义(Ming看起来很有希望,但我还从未使用过它) 你可能想看看这张照片。简而言之,SQL数据库可以让您走得更远 此外,在需要扩展时,还可以考虑一下是否要使用ORM
您也可以同时使用这两个字段:SQL数据库(无论您需要什么事务)、用于日志记录的NoSQL数据库、事件以及NoSQL数据库擅长的其他字段。这可能有助于您为MongoDB选择ORM: 我发现很难相信,在ORM的保护下,从关系数据库到NoSQL数据库的任何转换都能无缝地用于任何非平凡的项目。然而,如果您真的需要在某个时候进行迁移,那么有一些orm具有与SQLAlchemy相似的语义(Ming看起来很有希望,但我还从未使用过它) 你可能想看看这张照片。简而言之,SQL数据库可以让您走得更远 此外,在需要扩展时,还可以考虑一下是否要使用ORM
您也可以同时使用这两种数据库:SQL数据库(无论您在哪里需要事务)、用于日志记录的NoSQL数据库、事件以及NoSQL DBs擅长的其他字段。嘿,谢谢您的回答。我想我的问题更多:“有没有一种已知的方法可以让模型完全不知道数据来自何处?某种模型数据接口模式?”不过,我想我可能想得太多了,SQL足以解决我在不久的将来遇到的任何问题,特别是考虑到你的上一句话。再次感谢!嘿,谢谢你的回答。我想我的问题更多:“有没有一种已知的方法可以让模型完全不知道数据来自何处?某种模型数据接口模式?”不过,我想我可能想得太多了,SQL足以解决我在不久的将来遇到的任何问题,特别是考虑到你的上一句话。再次感谢!