Лития соединения (MongoDB, CouchDB и MySQL) в одном приложении

StackOverflow https://stackoverflow.com/questions/7328555

Вопрос

Я был на пути к разработке приложения электронной коммерции. Можно ли написать литиевое применение, которое работает на разных соединениях в основном MongoDB или CouchDB и MySQL? Как мы можем это сделать и каковы ваши советы по его достижению?

Это было полезно?

Решение

Я не уверен, правильно ли я вас понимаю.

Если вы просто хотите использовать больше соединений одновременно с разными базами данных, это легко возможно. Вы можете просто определить больше соединений одновременно (взгляните на файл Bootstrap Connections.php по умолчанию, а также на документацию для класса Lithium Core Environment).

Если вы хотите запустить все свое приложение во всей упомянутой выше базе данных, прочитайте ...

Нелегко ответить на этот вопрос в целом, но вот некоторые мысли по этому поводу:

Как вы, возможно, знаете, литий предоставляет вам слой абстракции базы данных, который раскрывает общие методы для процесса CRUD. Как приятно это во время разработки (вам не нужно изучать новые интерфейсы для каждой базы данных), вы скоро приходите к точке, где вам нужны функции, конкретные базы данных.

Это может поднять совместные проблемы между реляционными базами данных, но практически невозможно для смешивания реляционных и нереляционных баз данных. Конечно, вы можете использовать их бок о бок, но предоставление абстракций действительно сложно. Например, как бы вы запрашивали вложенные документы (как вы делаете в MongoDB) в MySQL? Вы можете написать обертку, которая пытается подражать этому, но не следует пытаться.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top