Іван 🤙
Спасибо всем)
Anonymous
Ребята, есть коллекция более 10 миллиардов записей, 1 тб. Притормаживает, съедает проц (запись 5-7 мб / с, чтение 10-100кб) Дайте пожалуйста рекомендации по оптимизации
Іван 🤙
еще вопросик в догоночку) В монго можно прописывать только время жизни для доккумента? если нужно удалить определенную запись из документа, это нужно делать в самом приложении через сoll.find+(редактируем словарь) + coll.update ?
Іван 🤙
Можно сразу coll.update, если знаете что менять
а как убрать запись апдейтом?? я думал что для апдейта нужно указать либо полностью всю дату, либо указать новое поле с '$set' или ты говоришь не про полное удаление, а про присваивание ключу - значения none ?
Constantin
Я не знаю вашей структуры, и не могу особо подсказать, но у update очень много модификаторов почти под любые потребности в изменении документа
Constantin
там есть и $set, и $unset, и $push, и $pull...
Іван 🤙
Constantin
https://docs.mongodb.com/v3.6/reference/operator/update/unset/
Іван 🤙
там есть и $set, и $unset, и $push, и $pull...
аа тоесть это можно сделать $unset
Іван 🤙
спасибочки, читаю)
Constantin
Незаштошечки, всегда пожалуйста =)
Іван 🤙
Anonymous
что значит "съедает проц"? и вцелом что кажется медленным?
Пока по скорости всё ок, по мере роста коллекции растет нашрузка на процессор, сейчас подошла к 90-95%. В логике приложения все ок, там оптимизировали все что можно оптимизировать. Можно ли сделать что-то с самой бд?
Nick
по запросам у вас агрегаций много?
SvPupok
кстати, а БД развернута на виртуальной машине, или на физическом хосте?
SvPupok
Пока по скорости всё ок, по мере роста коллекции растет нашрузка на процессор, сейчас подошла к 90-95%. В логике приложения все ок, там оптимизировали все что можно оптимизировать. Можно ли сделать что-то с самой бд?
масштабироваться горизонтально в шардированный кластер. продумать стратегию шардирования, исходя из логики вашегго приложения, что бы исключить возможные узкие места.
Max
Спасибо, попробуем
Может для начала вертикально попробовать масштабировать?
Max
Сколько щас ядер?
Max
Физических
Max
И как быстро растут данные?
Max
В овх есть сервачки с 28 ядрами, 56 потоков
Max
Нам пока хватает
yopp
Пока по скорости всё ок, по мере роста коллекции растет нашрузка на процессор, сейчас подошла к 90-95%. В логике приложения все ок, там оптимизировали все что можно оптимизировать. Можно ли сделать что-то с самой бд?
Можно нанять меня, например. :) 120€/hr. С контрактом и всеми делами. Потому что это может быть всё что угодно. Но скорее всего надо масштабироваться, да. Впрочем рост утилизации CPU должен не от размера коллекции зависеть, а от изменения объемов чтения/записи. Какая версия монги?
yopp
это очень дешево
Анатолий
倫太郎
5 евро в минуту
倫太郎
дешево
倫太郎
ок
倫太郎
хочу так же
Анатолий
хочу так же
раскручивай навык само-pr, делай покер фейс и вперед =)
Анатолий
как достигнешь левел 80, сможешь также круто заявлять "это очень дешево"
Ivan
хочу так же
И ты говори также :)
yopp
одно формление договора это месяц переговоров, примерно часов 20-30 времени. никто за это не платит :)
Анатолий
ауч =)
yopp
это только кажется так, что какие-то баснасловные деньги
Анатолий
дешевле спец для тебя отдельного бухгалтера нанять который всё оформит )))
yopp
бухгалтер доровор не оформит, он его оприходует в лучшем случае
yopp
Нанимают лично или через компанию проще бывает?
я лично не работаю, только как ип или как компания
yopp
физик-подрядчик — гемор
Анатолий
ну ладно, я в общем-то в восхищении. думал люди за 3-4к деревянных в час это монстры, но тут намного круче )))
yopp
если хочется дешевле, я могу предложить ежемесячную подписку на консультации — 999€, 10 часов ежемесячно, слот 1 час, не больше 4 часов в неделю, только в рабочее время, best-effort, без SLA. контракт минимум на 3 месяца.
Bro
как правило такое себя окупает
Bro
лучше 10 часов со знающими людьми все обсудить, чем тыкаться командой неделю и в итоге сделать криво
yopp
фримиум :) тут чяте бесплатная поддержка
Roman
фримиум :) тут чяте бесплатная поддержка
Так ты, наверное, чатик в целях пиара то и создал)
yopp
это не я создал, это @lig11 создал. я сюда только свой опыт принёс
Maxim
как запустить монгу в докере на маке? не получается что-то
yopp
как запустить монгу в докере на маке? не получается что-то
что не получается-то? docker run -it -p 27017 mongo:4.0.3 или docker run -d -p 27017 mongo:4.0.3 чтоб как демона
Maxim
Maxim
в доке вот такое есть, но я зз решить
Maxim
запускаю так docker run -p 27017:27017 -v ${PWD}/data:/data/db -e MONGO_INITDB_ROOT_USERNAME=mongoadmin -e MONGO_INITDB_ROOT_PASSWORD=secret -it mongo bash
yopp
это где выполяется? в соседнем контейнере? на хосте?
Vova
А не mongod тебе нужно запустить случаем?
yopp
потому что запускается mongo, а не mongod
Vova
sudo mongod [parameters] на линуксе
Maxim
я на маке
Maxim
а бля
Vova
Ну найди пример запуска на маке)
yopp
docker run -p 27017:27017 -n mongosrv v ${PWD}/data:/data/db -e MONGO_INITDB_ROOT_USERNAME=mongoadmin -e MONGO_INITDB_ROOT_PASSWORD=secret -d mongo:4.0.3 docker exec -it mongosrv mongo
Maxim
Maxim
запустил mongod
yopp
ох
Maxim
все так плохо?
yopp
да
Maxim
там проблема с хостами какая-то
Maxim
из-за того, что докер демон через виртуал бокс работает
yopp
нет никакого виртуалбокса уже давно