Yura
Второй момент: если активность запросов которые используют новые данные высокая, то эта выделенная память может заполниться очень быстро, почти мгновенно, и далее будете наблюдать активное освобождение/заполнение этой памяти.
Третий момент: если вы запустили фулскан коллекции, допустим на несколько сотен тысяч или млн документов (если без индекса то совсем плохо), то монга может потребить всю память (т.к. результат запроса не вместился в объем ram) - и тогда есть риск падения сервиса и перезагрузки сервера из-за ООМ.
Ну и после перезагрузки сервиса монго вся память освобождается полностью.
Yura
Vadzim
Vadzim
подскажите ещё пожалуйста по поводу закрытия соединения
там выше писали, что нужно закрывать соединение, так ли?
или в новых версиях не нужно это делать?
Vadzim
izy
Nick
izy
Nick
Yura
Подскажите плз, составной индекс {a: 1, b:1, c:1} будет корректно работать с запросом, с обратным порядком полей: {c, b, a}?
TheDiVa
Не подскажите, есть ли возможность работать с mongo db как с реляционной базой?
Yura
yopp
yopp
Возможно кроме CVE-2024-10921 нашлось что-то ещё и они ждут когда достаточное количество инсталляций обновится. Но это тоже так себе подход
Alexey
Alexey
И полуответ на https://news.ycombinator.com/item?id=43583349
Yura
Добрый день, подскажите пожалуйста, почему может происходить дублирование сканирования ключей индекса? Ситуация следующая:
В документах коллекции есть поле "compositeId": "49138781-922-9-1003641012-9"
Эти значения уникальны и на это поле есть соответствующий уникальный индекс:
{
"v" : 2,
"key" : {
"compositeId" : 1
},
"name" : "compositeId_1",
"unique" : true
}
При выполнении запроса:
"compositeId": {
"$in": [
"49138781-922-9-1003641012-9",
"49137125-922-9-1003641012-9",
"49136159-922-9-1003641012-9"
]
}
В плане выполнения вижу следующее:
"indexName": "compositeId_1",
"isUnique": true,
"indexBounds": {
"compositeId": [
"[\"49136159-922-9-1003641012-9\", \"49136159-922-9-1003641012-9\"]",
"[\"49137125-922-9-1003641012-9\", \"49137125-922-9-1003641012-9\"]",
"[\"49138781-922-9-1003641012-9\", \"49138781-922-9-1003641012-9\"]"
]
}
"totalKeysExamined": 6,
"totalDocsExamined": 3,
"nReturned": 3
Yura
Такое же поведение и с $in, и с $or. И значит ли это что монга тратит в 2 раза больше времени на этот скан?
Ильдар
Кто нибудь использует pmm для мониторинга запросов в psmdb?
Включаю профилирование, через хелм. Но на дашборде qan не отображаются запросы...
хотя по дашбордам вижу запросы.
Александр
Привет народ, подскажите как через mongosh создать пользователя с паролем для определённой бд и как запихнуть это в докерфайл???
Нуриддин
Остальное лучше самому разбираться там много вариантов как и что сделать
Нуриддин
И все они ситуативные
Ильдар
Ребята подскажите как зацепить монго_экспортер к кластеру?
Делаю как тут указано, + в самой документации также написано, но не хочет работать...
https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus-mongodb-exporter/values.yaml#L32
Hunter
Подскажите, как можно сделать поиск посимвольно в монге что б в результате были только самые подходящие результаты, а не просто то что совпало в regex. Возможно есть индексы или библиотеки?
Nick
Hunter
Понял, спасибо за ответы)
Kvhqm
El
Приветствую
Для кода с Монго хватит Intel i3-12100?
Constantine
да
El
В целом для кода тоже? Node.js, React.js, Mongo или Postgre.
El
El
Nick
El
Спасибо.
🅰️nimeCoder
Есть ли какие то человеческие веб юай для монги кроме dbgate? Сколько лет наблюдаю - клиентов по пальцам пересчитать, а веб то и вообще особо нету
Таргет на поддержку мобилок ещё хорошо бы
dbgate блочит с мобилки типа нет саппорта
Видел можно ещё компас пакет пропатчить и поднять, почему этого нет официально - тож удивляет
Roman
Alexander
а чем стэнделон ЮАй не устраивают?
Andrey
🅰️nimeCoder
Напрямую в сеть не факт что это будет шейрится, опять же или по ssh тунелю или vpn вероятнее всего
El
Была немецкая фирма с десктоп клиентом, на иконке платипус был, studio 3t, потом они его обновили, проверьте.
Krapka
Ivan
Nick
🅰️nimeCoder
Alexander
а какой смысл с базой вообще с мобилки работать? этож не удобно
🅰️nimeCoder
🅰️nimeCoder
Ну это скорее не "работать", а чета там срочно перехерачить
🅰️nimeCoder
Хотя я в целом бы и работать мог бы еслиб достаточно нормально было, уровня компаса хватало бы в целом, если что-то уже больше то опять же шелл или в нем или по ssh
🅰️nimeCoder
🅰️nimeCoder
Чаще в разы проще залезть в базу, чем написать то что будет в неё лазать
🅰️nimeCoder
Когда нужно что-то отмигрировать то да, проще скрипт написать
🅰️nimeCoder
А если по мелочи (даже не оченб точечно) проще в базу залезть, особенно ради какого то пайплайн билдера
🅰️nimeCoder
Ладно :(
🅰️nimeCoder
🤔
Нуриддин
Ребята, последние чем занимается айтишник в карьере это с телефона чето там делает в базе. Век технологий, все таки)
Сергей
Добрый день! Ребят, подскажите пожалуйста, 3 сервера в кластере должны иметь одинаковые параметры по памяти и cpu? Или допустимо, к примеру, что на одном сервере один размер озу, на другом другой?
Сергей
🅰️nimeCoder
Andrey
Приветствую, есть дев. кластер (1 mongos, 3 cfg nodes, 2 data node - каждая отдельная реплика(шард)).
Решили двигаться дальше, и уже использовать как prod. Соответственно, необходимо каждому шарду добавить хотя бы по 1 ноде, 3-у будут как арбитры. И вот вопрос такой. Что лучше:
а). "чистые" сервера добавить в каждую реплику в шард
б) можем остановать кластер, скопировать каждый шард его базу данных на новые сервера(каждый на свой), поднять новые сервера stanalone, удалить информацию о кластере, потом рестартануть уже и включить в реплики к старым шардам. И посмотреть.
Причина пунка б) - не хочется ждать времени на репликацию, на каждом шарде сейчас с индексами и прочим по 4TB.
Yura
Приветствую, есть дев. кластер (1 mongos, 3 cfg nodes, 2 data node - каждая отдельная реплика(шард)).
Решили двигаться дальше, и уже использовать как prod. Соответственно, необходимо каждому шарду добавить хотя бы по 1 ноде, 3-у будут как арбитры. И вот вопрос такой. Что лучше:
а). "чистые" сервера добавить в каждую реплику в шард
б) можем остановать кластер, скопировать каждый шард его базу данных на новые сервера(каждый на свой), поднять новые сервера stanalone, удалить информацию о кластере, потом рестартануть уже и включить в реплики к старым шардам. И посмотреть.
Причина пунка б) - не хочется ждать времени на репликацию, на каждом шарде сейчас с индексами и прочим по 4TB.
Не понятно, сколько нод в реплике одного шарда, одна?
yopp
Приветствую, есть дев. кластер (1 mongos, 3 cfg nodes, 2 data node - каждая отдельная реплика(шард)).
Решили двигаться дальше, и уже использовать как prod. Соответственно, необходимо каждому шарду добавить хотя бы по 1 ноде, 3-у будут как арбитры. И вот вопрос такой. Что лучше:
а). "чистые" сервера добавить в каждую реплику в шард
б) можем остановать кластер, скопировать каждый шард его базу данных на новые сервера(каждый на свой), поднять новые сервера stanalone, удалить информацию о кластере, потом рестартануть уже и включить в реплики к старым шардам. И посмотреть.
Причина пунка б) - не хочется ждать времени на репликацию, на каждом шарде сейчас с индексами и прочим по 4TB.
Здравствуйте! Если можете остановить и скопировать, это самый быстрый вариант
Останавливаете ноду, делаете копию, включая конфиг. Запускаете обе ноды и на доноре через rs.add() добавляете новую: https://www.mongodb.com/docs/manual/tutorial/add-member-to-shard/
Yura
А, т.е. еще одну под данные добавить и одну под арбитр… если прод то монгос вам нужен точно не один, а еще если нод в шарде с арбитром будет 3, то посмотрите в доке как работает writeConcern majority в связке с арбитром, можете наткнуться на неприятную ситуацию. Если есть возможность, лучше чтобы все ноды были с данными