Переезд из Mysql в Nosql позже. Требования к коду? - PullRequest
2 голосов
/ 13 января 2011

При переключении между RDMS (MySQL) и базой данных Graph или Document требуется много изменений кода приложения или полная перезапись кода?Я использую MySQL, но планирую через 5-6 месяцев перейти на реализацию NoSQL для определенных модулей, поэтому я хочу посоветовать моей команде разработчиков по передовым методам разработки, чтобы минимизировать время позже, когда происходит переключение, а также минимизировать изменения кода.Текущая платформа - PHP codeignitor с MySQL. Веб-сайт - это сайт с пользовательским контентом.

Планируется использовать графическую БД для компонента друзей и БД документов для хранения почты, сведений о профиле и потоков активности.В настоящее время мы потратили более 2 месяцев на создание схемы в MYSQL, которая кажется пустой тратой, учитывая, что переключение произойдет через несколько месяцев, поэтому я хочу избежать как можно большего количества изменений кода позже.

Для одной, которая может понадобитьсяудалить все SQL-запросы из кода для этих модулей?

Ответы [ 2 ]

0 голосов
/ 13 января 2011

Создайте модуль доступа к данным в своем коде. Изменения будут локализованы в этом модуле. Вы перекомпилируете ТОЛЬКО модуль доступа к данным.

Конечно, если ваш код не был скомпилирован для разделения DLL, вам придется реструктурировать и перекомпилировать большую часть проекта.

Вы должны понимать, что это изменение интерфейса, а не просто изменение реализации. В мире нет лучших магических практик, которые могли бы защитить вас от смены интерфейса. Все, что вы можете сделать, - это полагаться на правильно структурированную базу кода, скомпилированную для разделения DLL, чтобы локализовать изменения кода и повторную компиляцию.

0 голосов
/ 13 января 2011

Вы можете использовать OQGraph , который представляет собой движок графического модуля для MySQL. Может сэкономить вам немного работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...