
Alex
25.08.2017
09:59:56
и что там ? :)

Ruslan
25.08.2017
10:00:06
там узнаешь много нового

Alex
25.08.2017
10:00:10
как то такого желания раньше не возникало =)

Eliajah
25.08.2017
12:49:23

Google

Eliajah
25.08.2017
13:21:52
Как получить записи из базы данных за определённый период?

Pavel
25.08.2017
13:24:33
ты имеешь в виду, что у тебя есть поле с датой и нужно отфильтровать документы по этому полю?

Eliajah
25.08.2017
13:24:42

Pavel
25.08.2017
13:25:37
$gte и $lt

Eliajah
25.08.2017
13:25:48
Покажешь на примере?

Pavel
25.08.2017
13:26:01
items.find({
created_at: {
$gte: ISODate("2010-04-29T00:00:00.000Z"),
$lt: ISODate("2010-05-01T00:00:00.000Z")
}
})
=)
https://stackoverflow.com/questions/2943222/find-objects-between-two-dates-mongodb

Eliajah
25.08.2017
13:26:24
Спасибо
ISODate is not defined

Pavel
25.08.2017
13:36:52
ты на ноде чтоль пишешь?

Eliajah
25.08.2017
13:37:42
Ну да

Pavel
25.08.2017
13:37:50
new Date('2014-01-22T14:56:59.301Z')

Google

Eliajah
25.08.2017
13:37:56
Окей
Спасибо, заработало

Alexey
25.08.2017
14:55:32
привет все. а расскажите про oplog. размера по дефолту 50gb уже мало и время между репликами хотелось бы увеличить. Какие плюсы минусы, подводные камни? oplog Живет в оперативной памяти? будет вытеснять индексы? или можно увеличивать сколько влезет?

yopp
25.08.2017
15:30:23
Это capped коллекция, не помню чтоб у неё принципиально отличалось поведение от других.
Если нужно увеличить — увеличивай. Можно попробовать увеличить только на отдельной скрытой ноде, но я не помню могут ли остальные участники читать оплог со скрытых нод. Но это просто проверятся на тестовом столе.

Алексей
25.08.2017
15:31:30
оплог надо учеличивать на каждом хосте отдельно же

yopp
25.08.2017
15:31:43
Но не обязательно на всех иметь равный размер

Алексей
25.08.2017
15:31:43
и у монги есть мануал про это

yopp
25.08.2017
15:32:17
Чем стрельнуть то?
Даже полностью утерянный оплог не приводит к потере данных. Единственное что будет результатом — полная синхронизация любого нового участника.
В смысле не нового что пустого, а выпавшего из кластера.

Алексей
25.08.2017
15:36:08
хм. я всегда считал что порядок применения оплога сначала скачали себе потом проиграли.
к тому же есть рекомендации в продуктовой среде держать journal и index на отдельных раздела для ускорения оных.
поэтому я выделяю раздел некоторого объема скажем 30 гигов под журнал. и если на одной из нод он будет 200 гигов то возможна ситуация когда раздел будет переполен.
так вот соображаю я

yopp
25.08.2017
15:37:28
Журнал и оплог — разные вещи.
Журнал он про сторадж, а оплог он про репликацию

Алексей
25.08.2017
15:39:00
хм. да ?
я всегда был уверен что это две стороны одной медали

yopp
25.08.2017
15:39:30
Они пересекаются конечно, но по своей сути это разные вещи.
Ну вот в write concern два флага. Один про журнал, второй по сути про оплог
В wt вообще без журнала можно спокойно и репликация никуда не денется.

Google

Alexey
25.08.2017
16:19:18
Собственно вопрос в том, насколько больше от увеличения оплога будет использоваться оперативная память и, как следствие вытесняться индексы и тп

yopp
25.08.2017
16:36:05
из коллекции в нормальном состоянии читается только хвост, так что никаких видимых изменений не будет
если бы оплог как-то существенно мешал, то на 50 гигабайтах его уже было бы видно

Alexey
25.08.2017
16:38:13
Ясно, понятно

yopp
25.08.2017
16:38:21
эти 50 гигабайт — лимит размера capped collection
увеличение размера влияет только на то, когда из начала коллекции данные удаляются

Alexey
25.08.2017
16:39:58

yopp
25.08.2017
16:41:50
короч ответ на твой вопрос: значительно на всё остальное не повлияет, будет занимать больше места на диске, за счёт увеличения размера коллекции и как следствия индекса, может на уровне погрешности измерений увеличится время необходимое для поиска и удаления документов в начале коллекции.
в памяти футпринт не изменится

Alexey
25.08.2017
16:42:47
Ок. Спасибо

Алексей
25.08.2017
16:44:27
и чот мне кажется 50 гигов не дефолт
дефолт там какой то процент от диска

yopp
25.08.2017
16:44:38
это предел по дефолту
5% но не более 50гб
(с 5% могу врать)
https://docs.mongodb.com/manual/core/replica-set-oplog/#oplog-size
Ваще очень печалит что нельзя динамически увеличивать размер оплога. Например перед выводом ноды на обслуживание, ставишь unlimited и спокойно выводишь. После завершения обслуживания, ставишь по дефолту и ненужное отбрасывается.
О
https://jira.mongodb.org/browse/SERVER-22766

Google

yopp
25.08.2017
16:51:11
Ничоси
Прям в 3.6 какие-то неземные количества свэга будут

Алексей
25.08.2017
16:52:00
даешь 3,5,10 в продакшон

yopp
25.08.2017
16:54:07
230 additions and 84 deletions.

Леха
26.08.2017
10:26:45
А для монги есть что-то, чтоб миграции делать? Юзаю mongoose.

Aivars
26.08.2017
10:27:47

Леха
26.08.2017
10:33:52
Сменил тип со стринга на булеан. Как мне без миграции быть?

Aivars
26.08.2017
10:35:39
Я не сразу понял, про что ты.
https://github.com/balmasi/migrate-mongoose
Я знаю вот такую штуку, но сам не пользовался.

Леха
26.08.2017
10:36:23

Aivars
26.08.2017
10:37:06

yopp
26.08.2017
11:20:11

Леха
26.08.2017
11:22:47

yopp
26.08.2017
11:24:17
Суть в том, чтоб НЕ трогать старые атрибуты вообще.
Т.е. ты делаешь новый атрибут sid
Как его наполнить в существующих документах: от одного запроса с $set, до перебора всех документов и последовательным update каждого — в зависимости от условий и сложности.
Менять тип существующих атрибутов — путь к граблям глубокого залегания.
Напомню что к документным субд понятное схемы не применимо на уровне субд. «Схема» делегируете полностью в бизнес логику.


Alexey
26.08.2017
16:30:00
Привет всем.
Внезапно моргнуло железо, получил hard reset. Монга при старте уже несколько часов висит вот с этим в логах:
2017-08-26T17:58:34.404+0300 W - [initandlisten] Detected unclean shutdown - /mnt/data/mongodb/mongod.lock is not empty.
2017-08-26T17:58:34.404+0300 W STORAGE [initandlisten] Recovering data from the last clean checkpoint.
2017-08-26T17:58:34.404+0300 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=150G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
Это она что-то восстанавливает? или уже все и надо ресинхронизировать ноду? или просто удаление локфайла решит проблему?

Google

Aivars
26.08.2017
16:40:44
Привет всем.
Внезапно моргнуло железо, получил hard reset. Монга при старте уже несколько часов висит вот с этим в логах:
2017-08-26T17:58:34.404+0300 W - [initandlisten] Detected unclean shutdown - /mnt/data/mongodb/mongod.lock is not empty.
2017-08-26T17:58:34.404+0300 W STORAGE [initandlisten] Recovering data from the last clean checkpoint.
2017-08-26T17:58:34.404+0300 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=150G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
Это она что-то восстанавливает? или уже все и надо ресинхронизировать ноду? или просто удаление локфайла решит проблему?
Мне кажется, тебе нужен --repair.
У меня такое было на standalone, на реплике наверное другая процедура.


Alexey
26.08.2017
16:42:33
в документации сказано не использовать repair, если это репликасет

Aivars
26.08.2017
16:42:58
Да, я не написал сразу, что я про standalone.

Alexey
26.08.2017
17:09:18
Отвечу сам себе. В это время происходит все-таки восстановление. Нода прочихалась и запустилась...в общей сложности так висела 6ч с одним перезапуском по SIGTERM.

Max
27.08.2017
05:12:36

Viktor
27.08.2017
05:21:27

Vova
27.08.2017
09:52:42
У ноды есть IPv6 и IPv4, есть ли возможность добавить её в репликасет под ОБОИМИ ip одновременно (видимо не как 2 ноды, а как одна с 2 ip) ? Если - нет, получается реплика сет м.б. только чисто под IPv6 или чисто под IPv4 - в чём идея такой одноадресности в условиях плавного перехода к Ipv6?
спасибо

yopp
27.08.2017
09:56:15

Vova
27.08.2017
09:56:29
понял, спасибо, понятно
я в DNS не люблю серваки добавлять... что бы боты не стучались
они как на моём домене видят третий уровень, так начинают всё долбить обдалбывать

Alexey
27.08.2017
09:58:01

Max
27.08.2017
10:00:48
Как-то долго все равно. А дисками только монга пользуется или кто-то еще?

yopp
27.08.2017
10:01:23
Если она висела в STARTUP2, то ничего удивительного