@MongoDBRussian

Страница 120 из 342
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
ты имеешь в виду, что у тебя есть поле с датой и нужно отфильтровать документы по этому полю?

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.

Леха
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
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.

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

спасибо

Vova
27.08.2017
09:56:29
понял, спасибо, понятно

я в DNS не люблю серваки добавлять... что бы боты не стучались

они как на моём домене видят третий уровень, так начинают всё долбить обдалбывать

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

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

Страница 120 из 342