当在RDMS(MySQL)与图形或文档数据库之间切换时,是否需要更改应用程序代码或彻底重写代码?我正在使用MySQL,但计划在大约5-6个月内切换到某些模块的NoSQL实现,因此我希望向开发团队提供有关开发的最佳实践方面的建议,以便在切换发生后尽量减少时间,并尽量减少代码更改。目前的平台是使用MySQL的PHP codeignitor。网站是一个用户内容网站。稍后从Mysql迁移到nosql。代码要求?
计划是将朋友组件和文档数据库的图形数据库用于存储邮件,配置文件详细信息和活动流。目前我们已经花了2个多月的时间在MYSQL中创建模式,因为交换机将在几个月内发生,这似乎是一种浪费,因此我希望稍后避免尽可能多的代码更改。
对于我可能需要从这些模块的代码中删除所有的SQL查询?
你使用ORM吗?如果是这样,你可能会好起来的。否则,你将不得不重写大部分与模型相关的一切。 – 2011-01-12 21:48:54
没有,没有ORM。甚至像函数/类的应用程序逻辑? – BrianJ 2011-01-12 21:55:44
几乎所有直接接触数据的东西都必须重写。我的建议是将逻辑从mysql中抽象出来,即使它像'function query($ query){return mysql_query($ query);}`一样简单,然后使用query()而不是mysql_query()脚本,然后为所有基本的数据库功能做到这一点。这样,你可以稍后回来,基本上拔掉这些函数,并插入一个新的函数集,它具有相同的名称,可以从任何源中获取数据,并返回与MySQL相同格式的结果。 – Phoenix 2011-01-12 22:13:16