@ezayka

Какие преимущества у NoSQL?

Не могу понять. Ну если хочется, то сериализуй данные и храни в MySQL той же, как в Mongo DB...
  • Вопрос задан
  • 1573 просмотра
Пригласить эксперта
Ответы на вопрос 5
@stratosmi
Преимущества и недостатки реляционной PostgreSQL vs MongoDB
https://youtu.be/SNzOZKvFZ68

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

Ранее у MongoDB было еще преимущество в schemaless, но с появлением JSONB у PostgreSQL этого преимущества у Монги больше нет.

Применять Монгу для неважных данных вторичной значимости, где нужно масштабирование по кластеру.
Применять PostgreSQL на важных данных (например, финансовых).
Ответ написан
Если кратко, то NoSQL - это все то, что не SQL. То, что не подходит под нотацию реляционной модели.

NoSQL решение может быть выгодно, когда нет необходимости следовать определеной схеме(таблицы, связи, типы данных и тд). Мы не думаем о предварительной настройке структуры, нормализации отношений; данные могут быть легче изменены, мигрированы и тд. Но взамен там появляются проблемы с ACID и прочими вещами, которые легче соблюдать в SQL - решениях.
Ответ написан
Комментировать
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
Нет у них преимущества, они банально для других целей
Ответ написан
Комментировать
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Вообще-то noSQL бывает сильно разный, заточенный под совершенно разные задачи, которые очень плохо натягиваются на обычный SQL с его транзакциями, логированием, индексацией, и системой запросов.

Приведу несколько примеров, где noSQL выигрывает в разы. Причем, во всех задачах можно извратиться и на обычном SQL.

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

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

Задача полнотекстового поиска по документам - решать ее на SQL, не очень приятное занятие, возьмем например солр/эластик/сфинкс.

Задача хранения объектов - на SQL ее тоже решать часть не с руки, особенно, когда структура самих объектов сильно расширяется. Возьмем монгу.

Задача хранения логов временных рядов с агрегацией - тут с SQL просто швах! Возьмем influxdb или clickhouse.

При этом, у SQL очень часто есть серьезный недостаток в масштабировании, что легко решается в noSQL.

Ах, да, очень часто ставят рядом и SQL и noSQL, и данные разбрасывают в разные базы по конкретным задачам.
Ответ написан
Decadal
@Decadal
ну если так хочется то сериализуйте и храните)

инструменты одного и того же класса интересны тем, что решают одну и ту же задачу. И если вы использовали всегда один инструмент, то может быть непонятно, зачем все остальные.
Но, знаете, от того, что вы в наборе отверток используете чаще всего одну конкретную - все остальные не перестают быть нужными.
Mongodb используется для высоконагруженных проектов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы