На моей работе мы используем Oracle для нашей базы данных. Который отлично работает. Я не главный администратор БД, но работаю с ней. Что мне нравится, так это то, что БД имеет встроенный логический уровень, использующий PL/SQL, который может обрабатывать логику, связанную с сохранением данных и их извлечением. Мне это очень нравится, потому что это позволяет нашему приложению MVC (PHP/Zend Framework) быть легче и упрощает привязку данных к другой платформе, например к настольному компьютеру или мобильному устройству.
Хотя у меня есть личный проект, в котором я хочу использовать CouchDB или MongoDB, и я хочу попытаться достичь аналогичной цели. вне mvc/framework я хочу иметь уровень API, с которым общаются основные приложения. на самом деле они не общаются напрямую с базой данных. Они указывают проектный документ (couchdb) или что-то подобное для монго, чтобы получить результаты. И этот уровень API будет проверять входящие данные и следить за тем, чтобы сами данные сохранялись и обновлялись должным образом. Например, при сохранении нового пользователя в рамках мне нужно только отправить объект json с ключами/значениями, которые необходимо сохранить, а слой API сохраняет данные в нужных местах, где это необходимо.
Этот API, вероятно, будет иметь пользовательский интерфейс, но только для административных целей и для облегчения моей жизни. Как правило, он всегда будет отвечать строками json или в некоторых случаях предварительно обработанным/кэшированным html. Поскольку каждый уровень API в любом случае будет специфичным для приложения.
Мне было интересно, если кто-нибудь сделал что-нибудь подобное, или есть какие-либо советы по nethods, я мог бы это сделать. В настоящее время я пытаюсь написать свое приложение на python, и передняя часть, вероятно, будет чем-то вроде Angularjs. Хотя я также смотрю на node.js для серверной части.