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

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

в монге ?

83 ответов

6 просмотров

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

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

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

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

Вот именно, 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, а потом бенчмарки сравнивать с постгресом

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

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта