yopp
если нет других аттрибутов, по которым можно сделать композитный ключ, сделай свой аттрибут для шардинга
yopp
ну и да, расскажи какую проблему ты пытаешься решить
yopp
шардинг тебе зачем нужен?
Nick
зачем нужен - хранить данных больше чем влезает на один сервак вот как раз и разговор, что мой ключ через некоторое время (возможно несоклько лет) приводит к случаю выше, т.е. я ограничен размером чанка в гб и на самом деле я выдвинул предположения, чтобы оценить на сколкьо правильно понимаю работу шардинга
yopp
просто хранить?
yopp
у данных локализация частоты использования есть какая-то?
yopp
что храним?
Nick
ну еще как обычно читать, определнный нефиксированный объем свежих данных подвержен апдейтам (теоретически подвержены апдейтам и старые данные), впринципе возможны мапредьюсы. храним по факту плоский док без вложений полей на 20-30
yopp
физический смысл в чём?
yopp
падает ли актуальность со временем?
Nick
падает сильно где-то через месяц, но есть требования в хранении в 5 лет. Была идея просто разбить на горячую и холодную базы и уже в холодной настраивать какойто шардинг
Nick
только вот по данным котоыре мне сообщили ориентировочно вполне реально заиметь прирост в 3Тб в месяц через палгода-год
yopp
Зачем разбивать, если это в шарде можно сделать?
Nick
каким образом?
yopp
Композитный ключ и префикс из даты
yopp
Будет небольшой гемор если надо будет скейлить запись в ширину
yopp
Дальше накладываешь zone range и тегируешь шарды
yopp
Можно ещё меня нанять
Nick
ценник я помню)
Nick
на счет включения даты в шардинг ключ над подумать
yopp
Там много подводных камней. Это будет требовать некоторой ручной работы с чанками. Это усложнит всякие штуки типа «хочу ледигагу (user_id: 42666) повесить на отдельный шард»
Nick
вот поэтому и надо подумать
yopp
С такими вводными вариантов не очень много
yopp
и я бы ещё подумал какие требования к надёжности хранения таких объёмов
yopp
потому что бекпы на таких масштабах — крайне занимательная история
yopp
мне вот что интересно: как нода определяет размер чанка, чтоб решить что его надо бить?
yopp
понятно что есть dataSize, но он банально суммирует размер документов, читая их
yopp
но я на 99% уверен, не читая исходники, что нода так не делает на каждую запись
Nick
ты имеешь ввиду полноценный бекап для хранения, например, на ленточке на счучай большого пиздеца? просто не достаточно ли обычных реплик?
yopp
от drop() это не поможет особо :)
yopp
и от прочих неприятностей
yopp
по этому я и спросил про «требования к надёжности».
Alexey
Всем привет. отчего может отваливаться репликация в репликасете. Вдруг внезапно на одной из реплик начинает расти лаг. до полной остановки синхронизации. Если перезапустить, то потихоньку догоняет
Alexey
в логах все ок. Просто останваливаются записи и все
Alexey
версия 3.2
Oleg
OOM ?
Alexey
что это?
Alexey
памяти вроде еще есть
Alexey
и сам процесс запущен
Oleg
out of memory
Oleg
погрепай dmesg syslog
Oleg
ошибок нет?
Alexey
нет. все нормально
Alexey
ни в дмесге ни в сислоге
Aydar
всем привет. никто не подскажет, что может приводить к росту размера журнала? вроде, раньше его размер не менялся, но в один день он начал линейно расти, пока не занял почти 200 гб. после рестарта проблема пропала, и размер журнала держится в районе 2 гб. монга v3.4.3 судя по доке размер не должен был превосходить 2 гб: https://docs.mongodb.com/v3.2/faq/storage/#how-frequently-does-wiredtiger-write-to-disk
Alexey
io
а почему репликация совсем останавливается? ладно бы не успевала...так она совсем замирает
yopp
https://github.com/y8/mongo_collection_exporter
Alexey
io 20-25% многовато конечно, но бывало и больше.
yopp
воткни прометея и этот экспортер
yopp
и посмотри что происходит на реплике когда репликация отваливается
Aleksey
https://github.com/y8/mongo_collection_exporter
уже можно пробовать ?
yopp
уже можно пробовать ?
его давно можно пробовать. он иногда отваливается, но для этого можно alertmanager настроить
Oleg
@dd_bb подскажи пожалуйста, не удается стартануть джарник https://gist.github.com/anonymous/f1bff657ccd76ff2c21d1e76dcd0000b
Oleg
root@app1:/opt/mongoexp# bundle -v Bundler version 1.3.5 root@app1:/opt/mongoexp# ruby -v ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
Oleg
в итоге руками bundle install делаю, пишет Gem::InstallError: activesupport requires Ruby version >= 2.2.2
Oleg
Oleg
preview5 запустилась но тоже с трейсом ошибок
Oleg
D, [2017-05-04T07:19:18.673000 #19746] DEBUG — : MONGODB | Topology type 'single' initializing. D, [2017-05-04T07:19:18.681000 #19746] DEBUG — : MONGODB | Server localhost:27170 initializing. D, [2017-05-04T07:19:18.812000 #19746] DEBUG — : MONGODB | Address already in use - connect(2) - Connection refused
Oleg
такие ошибки в preview5
Oleg
хотя в сеттингсах указал локалхост 27017
Mannaro
Товарищи, кто с монго работает? Нужна помощь по составлению индекса на такие запросы: {"isFinished":true,"link":"kjmj5fMCGjcR7tM3E","history":{"$elemMatch":{"qid":"Pd47QpXmA5Fvc3Fxy","data":{"$elemMatch":{"value":{"$in":["2r6xX63EQx7Y4oy5Q"]}}}}}}
Mannaro
Очень нужна помощь)
Mannaro
сильно просела база, нужно срочно что-то придумать(
Mannaro
индекс придуман, вопрос закрыт :)
yopp
там обычно валится no such file to load -- racc/cparse-jruby но его можно игнорировать
yopp
попробуй явно указать путь к конфигу, в джарке: MONGO_EXPORT_CONF=/path/to/settings.yaml java -jar mongo_collection_exporter.jar
Oleg
там обычно валится no such file to load -- racc/cparse-jruby но его можно игнорировать
это валится когда запускаю preview5 но оно стартует
yopp
хотя в сеттингсах указал локалхост 27017
если оно к 27170 ломится, значит конфиг взялся по-умолчанию
Oleg
а последняя preview вот такую херь с бандлом
Oleg
выдает
yopp
хм
yopp
а и на этом валится или потом запускается таки?
Oleg
валится
Oleg
все то в гисте выдает и валится
yopp
попробуй докер-имадж
yopp
https://hub.docker.com/r/yopp/mongo_collection_exporter/
Oleg
опоп ща гляну, спасибо
yopp
скорее всего в travis что-то с билд энвом случилось, вероятно версия бандлера с torquebox не совместимая