Найти - Пользователи
Полная версия: MongoDB и/или SQL
Начало » Базы данных » MongoDB и/или SQL
1
Newone
Приветствую, прошу совета, какую архитектуру выбрать.

Планирую в своем приложении использовать MongoDB через RESTFUL API, сервер Tornado, websockets. Клиентом пока будет браузер, но в дальнейшем планируются еще и мобильные устройства.

Проблема следующая:
MongoDB, насколько я пока понимаю, прекрасна в случае GET, но вот при POST могут возникнуть проблемы из за отсутствия “справочника”.

Предполагаемое решение:
Справочники держать и апдейтить в PostgreSQL. На основе данных SQL запрошенных через GET создавать документы в NoSQL через POST.

Сомнения:
  • “Чета нимнога сложна”
  • Придется хранить во многом Продублированные данные в разных системах.

Вопросы:
  • Есть ли возможность в NoSQL организовать справочник в виде документа (фактически, как таблица в SQL), например, countries, и обращаться к элементам, например, countries.item.index?
  • Если предыдущий пункт возможен, насколько это правильное решение, не будет ли проблем с производительностью, если позиций может быть очень много (десяток или несколько тысяч)?

Пардон, если спрашиваю элементарные вещи, пока еще начинающий.

doza_and
Newone
“Чета нимнога сложна”
Да сложно.
И еще непонятно.
Какое отношение к монге имеют get и post?
Архитектура Nosql и sql баз не так сильно отличается, ну уж справочники (те таблицы вообще говоря) делать можно и там и там. Попробуйте конкретнее сформулировать вопрос. Типа не получается вот такой запрос posgres переложить на MongoDB.

Ответы -
Коллекции документов в mongo это и есть таблицы.
Проблемы при большом количестве данных? Будут точно такие как и в Postgres. Там механизмы вообще идентичные. Но большие это не десятки тысяч, а сотни миллионов.

У вас много технологий для начла задействовано. Может по началу взять классику а потом По мере необходимости переезжать на Mongo, websocket и т п?
Newone
Спасибо.
Вчера прочитал ваш ответ, пошёл думать и читать чтобы ясно ответить на уточнения, пришёл к выводу, что все гораздо проще.

Все дело было в адресах. Предполагалось, что будет умная подсказка при заполнении адреса (уточнение по вашему вопросу - сначала мы запрашиваем, допустим, список стран через api get, после выбора страны опять через get получаем из справочника соответствующие города и т.д по рекурсии, а уж потом через post api размещаем полный документ с адресом и прочим в базы данных пользователей). И я не мог понять, как без внешних ключей это организовать. Но, как оказалось, все гораздо проще, можно запрашивать не ключ при подсказке, а сразу данные

MongoDB выбрана по двум причинам, во-первых именно она в большинстве туториалов по Restful api, во-вторых, не хотелось делать линковочные таблицы в sql, а по задумке их там было бы не мало.

Вебсокеты, кстати, заработали вообще сразу, там у торнадо прям совсем все задокументировано и описано.

Upd.
Нашёл базу данных адресов рф, http://fias.nalog.ru, пока идея создать в Монго один толстый документ на пару тройку гигабайт, со связями и прочим, если интересно, могу отписаться что вышло )))
ZerG
Отписываться - есть правилом хорошего тона.
Newone
Согласен с вами, красота русского языка в изменении смысла слова в зависимости от контекста.
Rodegast
> пока идея создать в Монго один толстый документ на пару тройку гигабайт

Не получится у монги ограничение 16мб на документ.
doza_and
Newone
пока идея создать в Монго один толстый документ на пару тройку гигабайт
Один документ это как таблица с одной строкой. В этом случае применение базы данных вообще теряет смысл. Т.С. описался, думаю имелась ввиду одна коллекция.
Newone
Так точно. Коллекция.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB