 Roman
    Roman 
    
    
        
        
        
        Fuck yeah!
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        больше группочек!
    
 
     Dan
    Dan 
    
    
        
        
        
        )))))))))))
    
 
     CC-BY-SA-4.0/Docker-ce30.0
    CC-BY-SA-4.0/Docker-ce30.0 
    
    
        
        
        
        db.users.insert({"nick": "@purrpurr"})
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        Здравствуйте Сергей, я вас так понимаю!
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        вы не моглибы рассказать о своей истории ?
    
 
     CC-BY-SA-4.0/Docker-ce30.0
    CC-BY-SA-4.0/Docker-ce30.0 
    
    
        
        
        
        Здравствуйте, меня зовут Павел и у нас облако на монге.
    
 
     Danil
    Danil 
    
    
        
        
        
        облако на монге?
    
 
     Roman
    Roman 
    
    
 
     CC-BY-SA-4.0/Docker-ce30.0
    CC-BY-SA-4.0/Docker-ce30.0 
    
    
        
        
        
        Это очень хорошо)
    
 
     CC-BY-SA-4.0/Docker-ce30.0
    CC-BY-SA-4.0/Docker-ce30.0 
    
    
        
        
        
        Никогда не чувствовал такую потрясающую лёгкость
    
 
     CC-BY-SA-4.0/Docker-ce30.0
    CC-BY-SA-4.0/Docker-ce30.0 
    
    
        
        
        
        А где можно получить бейджик?
    
 
     CC-BY-SA-4.0/Docker-ce30.0
    CC-BY-SA-4.0/Docker-ce30.0 
    
    
        
        
        
        😉
    
 
     CC-BY-SA-4.0/Docker-ce30.0
    CC-BY-SA-4.0/Docker-ce30.0 
    
    
        
        
        
        Dmitry Nazarov joined the group
    
 
     Dan
    Dan 
    
    
        
        
        
        готово
    
 
     Roman
    Roman 
    
    
        
        
        
        граждане, а вот скажите, нафига нужен findfandmodify?
    
 
     CC-BY-SA-4.0/Docker-ce30.0
    CC-BY-SA-4.0/Docker-ce30.0 
    
    
        
        
        
        Для атомарных изменений
    
 
     CC-BY-SA-4.0/Docker-ce30.0
    CC-BY-SA-4.0/Docker-ce30.0 
    
    
        
        
        
        Афаик
    
 
     Roman
    Roman 
    
    
        
        
        
        а чем это отличается от update c upsert?
    
 
     Roman
    Roman 
    
    
        
        
        
        а, ну тут понятно.
    
 
     Roman
    Roman 
    
    
        
        
        
        вопрос такой: у меня есть коллекция и мне в неё надо вставить документ, если его там нет. при этом, надо избежать гонки
    
 
     CC-BY-SA-4.0/Docker-ce30.0
    CC-BY-SA-4.0/Docker-ce30.0 
    
    
        
        
        
        +1
    
 
     CC-BY-SA-4.0/Docker-ce30.0
    CC-BY-SA-4.0/Docker-ce30.0 
    
    
        
        
        
        )
    
 
     Roman
    Roman 
    
    
        
        
        
        ок, тогда задам несколько более сложный вопрос по монге(а точнее про хранение данных в ней)
    
 
     Roman
    Roman 
    
    
        
        
        
        вообщем, есть у меня задача, где по timestamp надо находить некий набор данных.
    
 
     Roman
    Roman 
    
    
        
        
        
        проблема в том, что этих таймстемпов у меня дохера.
    
 
     Roman
    Roman 
    
    
        
        
        
        если быть точнее, то 200*86400*20
    
 
     Roman
    Roman 
    
    
        
        
        
        сейчас у меня в одном документе собрано 60 таймстемпов(да, это минута)
    
 
     Roman
    Roman 
    
    
        
        
        
        а документ выглядит как-то так:
        
        https://dpaste.de/TMSf
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        а монге с wiredtiger нельзя сказать что бы где нить в другом месте хранила индексы ?
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        или это совсем глупость ?
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        логично да
    
 
     Alex
    Alex 
    
    
        
        
        
        ну, например, всё равно приятнее читать индекс с SSD, чем с механики
    
 
     Alex
    Alex 
    
    
        
        
        
        и писать
    
 
     Alex
    Alex 
    
    
        
        
        
        кстати тоже
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        ну вот у меня ка краз тайкой кейс.
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        и вот думаю куда еще присобачить ssd
    
 
     Alex
    Alex 
    
    
        
        
        
        Почему поздно? Замедление - да, но вполне работоспособно
    
 
     Alex
    Alex 
    
    
        
        
        
        Кэш перед HDD - это прекрасно, только вот когда индексы вперемешку с данными, то кэшиться будет всё
    
 
     Alex
    Alex 
    
    
        
        
        
        а не только индексы
    
 
     Alex
    Alex 
    
    
        
        
        
        Не горячую часть, монга вообще читает только из замапленного фрагмента
    
 
     Alex
    Alex 
    
    
        
        
        
        Да
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        вы щас точно про wiredtiger
    
 
     Alex
    Alex 
    
    
        
        
        
        Если происходит чтение замапленного участка - он подтягивается в память
    
 
     Alex
    Alex 
    
    
        
        
        
        полюбому
    
 
     Alex
    Alex 
    
    
        
        
        
        всё плохо - это не технический термин =)
    
 
     Alex
    Alex 
    
    
        
        
        
        с SSD оно менее плохо
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        чудес не бывает. но алгоритмика бывает решает ни хуже чуда
    
 
     Roman
    Roman 
    
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        эх.
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        опять это слово. :)
    
 
     Roman
    Roman 
    
    
        
        
        
        С чего бы вдруг? У тебя ssd дает 60-90k iops, а диск - в лучшем случае пару сотен
    
 
     Roman
    Roman 
    
    
        
        
        
        Обычно - соточку
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        https://www.percona.com/blog/2015/12/23/percona-server-for-mongodb-storage-engines-in-iibench-insert-workload/
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        я праивльно опнимаю что они предлагаю заменить монгу своим лджвидком ?
    
 
     Anonymous
    Anonymous 
    
    
        
        
        
        Коллеги - ищу докладчиков по Mongo на DevConf 2016 http://devconf.ru/ru/offers/ - может кого посоветуете?
    
 
     Anonymous
    Anonymous 
    
    
        
        
        
        Спасибо Сергей..
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        ну тоесть это уже не совсем монга да ?
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        спасибо.
    
 
     Roman
    Roman 
    
    
        
        
        
        и если каталог с индексами снести, то монга упадёт.
    
 
     Roman
    Roman 
    
    
        
        
        
        правда, если запустить с —repair - оно индексы восстановит :)
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        да процедура миграции так себе получилась
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        зато время старта очень радует
    
 
     Alex
    Alex 
    
    
        
        
        
        а какие у вас размеры данных и почему так важно время старта (сколько ж было, что оно заметно??) ?
    
 
     Alex
    Alex 
    
    
        
        
        
        если не секрет =)
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        вообще плевые.
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        648 метров индекс
    
 
     Alex
    Alex 
    
    
        
        
        
        А. Ну это копейки, да.
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        ну вообще mongo не хотела стартовать с добавленными 
          wiredTiger:
            engineConfig:
              directoryForIndexes: true
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        пришлось через dump/restore
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        согласен
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        тем неменее это первое что бросилось в глаза
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        2016-04-29T18:57:20.697+0300 I STORAGE  [initandlisten] exception in initAndListen: 72 Requested option conflicts with current storage engine option for directoryForIndexes; you requested true but the current server storage is already set to false and cannot be changed, terminating
        2016-04-29T18:57:20.697+0300 I CONTROL  [initandlisten] dbexit:  rc: 100
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        это при старте
    
 
     Alex
    Alex 
    
    
        
        
        
        У нас давеча монга сама про... потеряла индексы. Причем, она потеряла в том числе и сами описания индексов. А эти описания были даже ценнее, чем сами данные, т.к состояли из несколко десятков полей с различными направлениями сортировки... в общем, сцука. =)
    
 
     Aleksey
    Aleksey 
    
    
        
        
        
        как спасли ?
    
 
     Alex
    Alex 
    
    
        
        
        
        А никак. Восстанавливали по коду, руками. Ну несколько команд создания индексов нашли в history консоли. Теперь настроили бэкап метаданных...  Сама БД не бекапится, т.к все данные горячие. Важна была только "схема", как бы смешно это не звучало для schemeless db :)
    
 
     Alex
    Alex 
    
    
        
        
        
        Да, кстати, это всё было в реплике. Нифига не помогло.