當在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