Какие типы запросов к данным слишком сложны для CouchDB (в отличие от SQL)? Ищу конкретные примеры - PullRequest
4 голосов
/ 15 января 2011

Я думаю, что CouchDB действительно крутой и хочу использовать его больше.Но я также хотел бы знать заранее, есть ли какие-либо типы запросов данных, которые легко выполняются в MySQL, но которые невозможно или очень неудобно выполнить в CouchDB.

Пожалуйста, отвечайте конкретными ответами или примерами.просто сказать, что «CouchDB для документов, а MySQL для реляционных данных».Я действительно не знаю, что означает это утверждение, поскольку кажется, что вы можете делать вещи, функционально эквивалентные реляционным соединениям MySQL с представлениями CouchDB.

Например, я читал, что разбиение на страницы в наборе данных являетсянемного неловко в CouchDB.Вот такой ответ я ищу.

Ответы [ 3 ]

4 голосов
/ 15 января 2011

Проблема, с которой я столкнулся на данный момент, заключается в отображении сетки AJAX с содержимым из базы данных CouchDB. Эквивалентный запрос SQL будет:

SELECT * FROM the_table 
WHERE {filter_col} = {filter_value} [ AND ... ]
ORDER BY {order_col}
LIMIT {n} OFFSET {m}

Это довольно простой запрос для выполнения в традиционной базе данных SQL, но необходимость одновременно выполнять фильтрацию, упорядочение и разбиение по страницам выходит за пределы возможностей, которыми может управлять индексирование CouchDB - по крайней мере, без создания безумного количества различных представлений ,

2 голосов
/ 15 января 2011

Couchdb испытывает трудности с полнотекстовым поиском (если не используется внешнее программное обеспечение), хотя mysql не особенно хорош в этом, диван еще хуже.

Couchdb не будет работать хорошо, когда ваша модель данных подразумевает множественные и сложные отношения между объектами, в конце концов, это система на основе документов, а не реляционные БД.

Кроме этого, правила кушетки IMO.

РЕДАКТИРОВАТЬ: Особенно, когда вам нужно расслабиться, конечно! :)

1 голос
/ 15 января 2011

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

Посмотрите на некоторые платформы ORM, которые при правильной реализации могут позволить вам поменять местамибазы данных легко.

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