Dmitriy
Если условие звучит таким образом,что мы хотим получать только тех у кого подтверждён только 1 из 2 контактов,т.е. если подтверждены оба - мы их не получаем
Nick
Dmitriy
Dmitriy
Не совсем
Dmitriy
тогда рассказывайте подробнее что вы хотите получить, ясновидцы как известно сейчас в отпуске
yopp
Oleksandr
А версия mongodump какая?
Версия 2.6.10.
В целом поискал в интернете, что есть ограничение в 16МБ в MongoDB, но не понял если оно (ограничение) есть, почему дало создать этот файл. паралельно прочитал что это может быть поврежденная БД. Начал делать дамп каждой базы по 1 шт за раз. Нашел базу во время дампа которой полоучаю ошибку.
Сейчас думаю над двумя идеями, 1 сделать mongodump --repair --dbpath /var/lib/mongodb/XXX --db XXX, или как-то поискать этот файл (возможно как-то через MongoDb Compass найти файл с индексом(?) 13106 - UPD понял что написал глупрость, это просто код ошибки) ?
yopp
Oleksandr
yopp
yopp
Да, похоже так
Dmitry
Всем привет!
Есть такой вопросик: в коллекции schedules в текстовом поле timetable лежит формат запуска задачи, как для crontab (а-ля * * * * *, 1,4,7,58 * * * *, */20 3 * * *, 6-36/12 1,5,19 * * * и т.д.)
Как можно выбрать необходимые задачи на текущий момент имея строку текущего времени (а-ля date('i G j n w', time())) ?
yopp
Всем привет!
Есть такой вопросик: в коллекции schedules в текстовом поле timetable лежит формат запуска задачи, как для crontab (а-ля * * * * *, 1,4,7,58 * * * *, */20 3 * * *, 6-36/12 1,5,19 * * * и т.д.)
Как можно выбрать необходимые задачи на текущий момент имея строку текущего времени (а-ля date('i G j n w', time())) ?
Нет
Nick
Всем привет!
Есть такой вопросик: в коллекции schedules в текстовом поле timetable лежит формат запуска задачи, как для crontab (а-ля * * * * *, 1,4,7,58 * * * *, */20 3 * * *, 6-36/12 1,5,19 * * * и т.д.)
Как можно выбрать необходимые задачи на текущий момент имея строку текущего времени (а-ля date('i G j n w', time())) ?
Выбирайте все и скармливайте нормальному шедулеру
yopp
Вы конечно можете попробовать написать свой парсер расписаний на AF, но толку от этого не будет совсем
Dmitry
Хм.. Нужно придумать тогда какое-то решение
Nick
Dmitry
Чтобы пользователи могли добавлять необходимые задачи из интерфейса (и они выполнялись в нужный им кастомный момент)
Nick
Dmitry
Dmitry
Nick
И на счет основной, это вам она кажется основной, хотя на самом днле вам нужно их выполнять согласно расписанию, а не выбирать из базы, так что и решать нужно реальную проблему, а не выдуманную задачу
Nick
То что вы хотите решить делается с помощью регулярки, либо достаточно упоротого комбинированного условия, которое нужно булет генерить, и оба метода не будут использовать индексы
Oleksandr
Да, похоже так
Прошу прощения что поздно - mongoexport в .json проблемной коллекции (которая не дампилась из-за ошибки) зевершился успешно. Большое спасибо за помощь 😊
Bro
я тут подумал
Bro
что делаю update документов
Bro
https://docs.mongodb.com/manual/reference/method/db.collection.replaceOne/
Bro
а есть же replace
Bro
он по идее быстрее должен работать?
yopp
Bro
плохо =(
yopp
Нет!
yopp
Можно рассказать о своей проблеме
Bro
хочется побыстрее писать в БД
yopp
insert в коллекцию без индексов самое быстрое решение
yopp
Меняете схему данных на append-only и скорее всего вы сможете выбрать всё доступное вам io
Alexander
yopp
Такой задачи не стояло
Bro
судя по графикам в атласе и так выберается все доступное io
yopp
Bro
читать тоже надо =(
Bro
да пока нет проблем. но вот insert-only хоршая идея, надо подумать
Bro
а что за схема append-only это на уровне приложения или на уровне монги?
yopp
На уровне приложения
Bro
ясно
yopp
Всякие событийные вещи простой пример
Bro
кстати говоря
Bro
я тут новые коллекции создаю на после 200 миллионов записей
yopp
Вместо того чтоб писать состояние в базу, выпишите события. А потом вычисляете состояние, если надо
Bro
просто тупить начинает
Bro
чтение, апдейты
yopp
Без какой либо конкретики единственный совет: нажать кнопку resize cluster и переехать на тайер подороже ;)
Bro
у нас bare metal
Bro
монга часть системы просто, куда я пишу, затем оттуда данные дальше идут на обработку.
yopp
Посмотреть в какие ресурсы упирается монга и провпгрпедить железо. Но вы скупы на конкретику, а без конкретики можно только в капитана очевидность играть :) Покупайте подписку, помогу накопать конкретику и понять что у вас происходит: https://db-ai.co
Bro
добавил в букмарки
Bro
я если честно пока сам не знаю че хочу
Bro
вот недавно монгу ребутнул
Bro
и все заработало нормально
Bro
еще кэш вайред тайгра увеличил а то зачем-то свопаться база даннных начала
yopp
Крутить эту ручку стоит только в том случае когда монга не может корректно определить объём доступной ей памяти. Ещё ей можно симптоматически зарывать проблему «монга делит ресурсы с другими приложениями». И во всех этих случаях ручка крутится вниз, в не вверх
Bro
там сервер с 512Гб памяти (но HDD), где крутится только одна монга
Bro
с которой я работаю
Bro
память была занята наполовина и при этом рос своп
Bro
после накрутки ручки своп уменьшился утилизация памяти увеличилась
yopp
память была занята наполовина и при этом рос своп
Потому что монга выделяет под кеш половину доступной памяти. Ещё какое-то количество она будет выделять под свои структуры и всё остально должно быть использовано операционной системой под дисковый кеш
yopp
Так как wt в своём кеше хранит несжатую версию страницы, и сжимает их только сбрасывая на диск, то увеличивая кеш wt вы уменьшаете количество данных которые могут уместиться в памяти.
yopp
Своп вообще стоит отключить. Своп и базы данных плохо живут вместе. Базы данных расчитывать получать и записывать страницы в память, а не на диск. Swap in/swap out в условиях и так повышенного давления на память, может создать огромные проблемы, за одно ещё добавив нагрузки на io
yopp
HDD давно надо выкинуть и заменить на nvme. Интел 660p на 2Тб стоит 200 долларов.
yopp
Там «всего» 400TB write endurance, но сейчас цена на nand падает с такой скорость, что когда у него подойдёт ресурс вы за 200 баксов уже 4тб купите.
Hallo
yopp
https://camelcamelcamel.com/Intel-Internal-Solid-State-SSDPEKNW020T8X1/product/B07GCLLKDC
yopp
на newegg уже $184.99
yopp
в мае было 209
yopp
в октябре 18 было 399