170 похожих чатов

Холивар начался) Совет мне переписать код и применять индексы

в монге ?

83 ответов

22 просмотра

проверь на каком именно месте у тебя тормоза

не использовать монгу там где её не место. Любая реляционку лучше монги когда вы не работаете с бигдата или нетепизированными данными. Хотя в последнем даже монга не лучший выбор.

А что лучший?)

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

Вот именно, json-поля есть уже везде, смысла в монге нет никакого, только сложности из-за отсутствия SQL

я, конечно, банальность скажу, но работает? не трогай

готовится к переезду?) рано или поздно понадобится, но как говорят работает не трожь, но подстелить не помешает заранее.

вы знаете в чём разница между подходами NoSQL и SQL? Видимо нет

смотря с чем и для чего

NoSQL - это когда данные в json хранишь SQL - когда в табличках (c) Личинка Кайтера (наверное)

В том использовании и не использовании Структурного Языка Запросов

знаете про касандру? так вот, там CQL, посмотрите, получите флешбеки

И чего?

Нет. Советую всё же почитать что-то об NoSQL, а не сшулать доклады хипсторов

Ну выходит так, ага

Что нет?

вы глупый? там где использую касандру, монгу, хадуп - ваш SQL ничоень то и нужен, там другие запросы и хотелки. Им не нужно миллиард табличек агрегировать. У них другие цели, новы как истинный сектант, орете про SQL и поля JSON.

У вас каша в голове

скорее она у вас

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

Использование структурного языка запросов не является признаком NoSQL баз данных. В первую очередь это подход к хранению и моделированию БП. При этом в NoSQL БД может быть вполне себе SQL-подобное (ArangoDB)

NoSQL БД может использовать SQL-подобное? Ясно, продолжайте вести наблюдение...

уберите слово как, получите то, как есть

Для начала надо посмотреть задачу. Более конкретно. Так - сказать очень сложно. Но могу сказать, что банки любят MongoDB и это одна из её ниш

Лучше - вложенные документы. Это более правильный подход

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

В postgres есть jsonb, встроенная монга почти

Так это документооборотистый подход. Нормальный. Связан с тем, что если вы продали карабок спичек, то его цена и должна оставаться 5 копеек, а не 10 как сегодня поставили. Утрированный пример, но это так. Если у вас документооборотистая система - то реляция скорее вредна. Вам нужно копировать данные и не держать их консистетными. Это потребность бизнеса

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

Александр-Лактионов Автор вопроса
Александр-Лактионов Автор вопроса

Это может как -нибудь помочь ?

Александр-Лактионов Автор вопроса

😀😀😀

Вы не знаете как работать с MongoDB. PGSQL кстати не слишком хорошо работает с JSON в кейсах NoSQL

Александр-Лактионов Автор вопроса

в моем варианте лучше монга

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

Так а как вы по другому хотите в документооборотистой системе? Не получится. Это нормальный путь для данного подхода и он ничем не хуже аналогов из реляции. Он просто другой. Ну и советую углубиться в составление агрегированных отчётов.

ок, спасибо, а что насчет гарантирования целостности данных? для всяких учетных данных по типу финансов, списаний, ну и может каких то складов

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

Александр-Лактионов Автор вопроса

Вот запрос к бд, дальше я его группирую для своего объекта

Александр-Лактионов Автор вопроса

Что тут мб не так

а сколько документов у тебя?

А почему сразу в БД не сгруппировать?

https://docs.mongodb.com/manual/reference/operator/aggregation/group/

данные не самые критичные, нужно главное просто записать

Позволяет. но для этого надо сделать агрегации.

Александр-Лактионов Автор вопроса
Александр-Лактионов Автор вопроса

Как ?

Тогда монго. Она хоть что-то запишет

почему бы не вынести «сессии» в отдельную коллекцию?

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

Александр-Лактионов Автор вопроса

это бы сильно ускорило ?

В память? 😂 Там же mmap

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

Александр-Лактионов Автор вопроса

есть ссылка, что такое нормальный запрос в монге ? Это кривой запрос ? await InformationUsers.find();

это вообще не запрос

Александр-Лактионов Автор вопроса

Монгус или драйвер лучше использовать ?

монгус

В базу. Ещё раз убеждаюсь на сколько вы не знаете MongoDB

И тебя вылечат...

Как всегда. Аргументов нет - будет нападение. Слив засчитал, успокойтесь

Ну ты даже не понимаешь о чём речь. Ты знаешь что такое mmap()?

Я дальше не буду продолжать спор. С евангелистами - не имеет смысла

Ясно, я так и думал

А тем временем в монгоуниверситете говорят — мы не используем УСТАРЕВШИЙ подход sql 😉

А ты монгу с редисом не путаешь?

Нет, не путаю ;)

У них у обоих есть механизмы для ожидания записи на диск, но в таком монга берет за щеку по производительности

А у постгреса такого механизма нет?

SET LOCAL synchronous_commit = ...

Ну то есть аргумент про mmap несостоятелен просто потому что mmap есть везде

Нет, почитай что такое WAL

Но я же могу отключить в постгресе fsync

Нафига?

А нафига так делать в монге? Ну то есть аргумент сводится к тому, что вот в монге mmap, а в постгресе мы не отключаем fsync, и потому... Ну отлично, давайте постгрес поставим на денди, а монгу на нормальный комп, и сравним производительность - явно же у монги всё будет лучше

Давай лучше mongodb юзать с правильным write concern, а потом бенчмарки сравнивать с постгресом

А я не хочу сравнивать бенчмарки Это лишено смысла, потому что инструменты для разных задач Мы же не сравниваем 🏍️ с 🚜

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта