RDMS(MySQL)をグラフまたはドキュメントデータベースに切り替えるときに、アプリケーションコードの変更が多く必要な場合や、コードを完全に書き直す必要がある場合は、私はMySQLを使用していますが、特定のモジュールのNoSQL実装に約5-6ヶ月間で切り替える予定ですので、開発チームにアドバイスをして、開発のベストプラクティスを教えて、後でスイッチが発生してもコードを変更しないようにします。現在のプラットフォームは、PHPのcodeignitorとMySQL.Websiteは、ユーザーのコンテンツサイトです。後でMysqlからnosqlに移行します。コード要件?
メール、プロフィールの詳細、およびアクティビティストリームを保存するために、グラフDBをフレンドコンポーネントとドキュメントDBに使用することを計画します。現在、私たちは2ヶ月以上MYSQLのスキーマを作成することに費やしています。これは、数ヶ月でスイッチが行われることを考えると無駄に思えるので、できるだけ多くのコード変更を避けたいと思います。
私はこれらのモジュールのコードからすべてのSQLクエリを削除する必要がありますか?
ORMを使用しましたか?もしそうなら、あなたは大丈夫でしょうか?それ以外の場合は、モデルに関連するすべてのものを書き直す必要があります。 –
いいえ、ORMはありません。関数/クラスのようなアプリケーションロジックでさえ? – BrianJ
データに直接触れるものは、ほとんど書き直す必要があります。私が提案しているのは、関数のクエリ($ query){return mysql_query($ query);} 'という単純なものであっても、mysqlのロジックを抽象化し、mysql_query()の代わりにqueryスクリプトを作成してから、基本的なDB機能のすべてを実行してください。こうすることで、後で元に戻ることができます。これらの関数のプラグを抜いて、同じ名前の新しい関数セットをプラグインします。この関数セットは、どのソースからでもデータを取り出し、MySQLと同じ形式で結果を返します。 – Phoenix