Для каких приложений CouchDB будет наиболее полезен / эффективен? - PullRequest
7 голосов
/ 27 июля 2010

Я баловался с Обзором артиллерии Code-Point Open Набор данных британских почтовых индексов / координат. Поскольку Couch.io предлагали бесплатный размещенный экземпляр CouchDB, я подумал, что я бы поместил свои геоданные в один из них, узнав немного о CouchDB в процессе.

Идея заключалась в том, что, поскольку предполагается, что CouchDB хорошо справляется с большими наборами данных (данные почтового индекса составляют около 1,7 миллиона записей) и изначально работает с REST / JSON, он будет хорошо связан с клиентским jQuery для использования с Google Карты приложений.

Моей первоначальной целью было просто сделать AJAX-вызов с почтовым индексом в качестве параметра, вернуть один JSON-объект со свойствами lat / lon, которые я мог использовать в своем скрипте (показывая маркер для этого почтового индекса) ,

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

Правильно ли я считаю, что динамические запросы являются слабым местом для CouchDB? Направлено ли оно на возвращение больших представлений, которые не так часто меняются, из больших наборов данных? Какие могут быть примеры «хорошего» и «плохого» использования CouchDB с точки зрения использования его сильных сторон?

1 Ответ

5 голосов
/ 28 июля 2010

Я главный парень, принимающий Couchio. Рад, что вы наслаждаетесь CouchDB.

Мне кажется, что в основном реляционные базы данных лучше справляются с постоянно меняющимися одноразовыми запросами из больших наборов данных. Все эти данные требуют вечности. Там нет ни SQL, ни NoSQL. Однако, в целом, базы данных NoSQL лучше, если вы уже знаете, какие вопросы вы будете задавать. Другими словами, вопрос не в том, насколько сильно изменяются данные , а в какой степени изменяются запросы 1006 *. 1007 * Это теория. Подходит ли CouchDB для вашего конкретного проекта? Мне кажется, нет ничего плохого в создании множества индексов для базового набора данных. Преимущество запросов только по индексу заключается в том, что запросы выполняются очень быстро. CouchDB, в частности, нуждается только в повторной индексации новых данных, даже для запросов, таких как средние значения или контрольные суммы XOR.

Итак, даже если у вас есть сотни различных типов запросов, которые вы можете выполнить, если вы уже знаете, что это за запросы, просто запишите их. Однако, если вы никогда не прекратите делать совершенно новые запросы, CouchDB будет трудно поспевать.

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