Nikita
Так а зачем всё это мероприятие? Всё плохо в MongoDB Inc.?
yopp
Nothing personal, just business. У монги всё шикарно, это лучшее документное хранилище на рынке.
Nikita
Ну, они выбрали путь в никуда, а это плохо.
Nikita
Что стоит конкурентам форкнуть старую версию, которая под AGPL? По мне так смена лицензии, это проявление слабости компании.
yopp
Вы акционер?
Viktor
yopp
yopp
Это не место для споров о лицензии.
yopp
Вам как разработчику совершенно фиолетово
yopp
Бизнес имеет право делать все что он хочет, монга это коммерческая база данных, которая торгуется на бирже и отлично продаётся.
Nikita
Так сообщество о MongoDB в целом.
Nikita
А не разработка only.
Nikita
Viktor
Но бомбить по поводу текущей лицензии я не вижу смысла
yopp
yopp
yopp
Измениение было нацелено на решение конкретной проблемы. Тот факт что у вас есть какие-то отрывочные сведения и вы пытаетесь по ним построить картину заговора рептилоидов это ¯\_(ツ)_/¯
Viktor
товарищ @dd_bb, посоветуй чем экспортить данные профайлинга из монги в прометей? (желательно с уже готовым пресетом для дашборда)
yopp
Гена
Добрый день коллеги
Есть вопрос, может кто сталкивался с этим. У клиента 5 монгосов в шардированном кластере. 3 монгоса на одном ДатаЦентре и 2 на другом. Но как только приложения переключаются на 5 монгосов, то падает перфоманс и выпадают шоюки в лог монгоса что на 2 Датацентре Error sending response to client: HostUnreachable: Connection was closed. Ending connection from <IP>:32940 (connection id: 158)
А в логе приложения
2019-09-09 13:04:03.039 [-,e*******][http-nio-11040-exec-2] ERROR r.l.o.p.web.error.RestErrorHandler - Exception receiving message; nested exception is com.mongodb.MongoSocketReadException: Exception receiving message
.....
Caused by: javax.net.ssl.SSLException: Invalid TLS padding data
.....
Caused by: javax.crypto.BadPaddingException: Invalid TLS padding data
Гена
Версия монги 4.0.4
Serhii
Народ, обьясните тугодуму как работает pipeline в lookup. Мне нужно отфильтровать все вложеные документы еще по двум полям. Как такое сделать?
Евгений
добрый день. подскажите пожалуйста, есть монга, сохранение в нее 100к записей происходит за ~60c (в самой базе в этой таблице уже порядке 100м записей). можно ли как-то затюнить это, или пора шардировать? (и с какого момента вообще пора начинать шардировать ее)?
Anonymous
Вопрос больше по нереляционным БД чем по монге. Я слышал мнение, что те кто хотели мультидокументные транзакции в монгодб просто не понимают как правильно денормализовывать данные и пользоваться ими.
Вопрос как пользуюясь только single document acid достигается консистентность системы? Вы сохраняете типа изменение в документе и какой-то event, который потом обработается в другой транзакции типа eventual consistency? Или как то по другому?
Joseph
Вечер добрый , есть список от 0001 - XXXX можно ли с помощью молги заполнять пропуски , что бы не делать такую обработку
const labels = await getAllLabels();
for (const { title } of labels) {
const num = parseInt(title, 10);
if (num) {
if (newTitle !== num) {
break;
}
newTitle = num + 1;
}
}
Joseph
yopp
yopp
Евгений
yopp
Евгений
Евгений
потом упало
Евгений
Евгений
маленькие
Евгений
делаю через спринг saveall по 100к
yopp
Это облако или железка? Много ли индексов? Что с нагрузкой?
Anonymous
Anonymous
yopp
Aleksandr
Или, наоборот, идет не вставка, а файндАндУпдате по неиндексированному полю
yopp
Самый простой способ: сделать так чтоб гарантии были не нужны
yopp
Тогда будет весело и легко
yopp
Если гарантии нужны, будет медленно, долго и очень дорого
Гена
yopp
yopp
А ещё обновитесь до 4.0.12, чисто на всякий случай
yopp
yopp
Монгосы между собой никак не взаимодействуют. Они чекинятся в CSRS и устанавливают соединения с другими data bearing нодами в кластере
Гена
Разве не странно что коннект проходит а потом отваливается ? Словно на респонсе
yopp
Я сомневаюсь что это проблема в монге, скорее всего проблема где-то между. Особенно если проблема случается когда добавляется другой ДЦ. Но 4.0.4 это очень старая версия, попробуйте обновится до .12 и посмотреть.
Гена
Я вас понял. Спасибо
yopp
Проверьте качество линка до проблемного дц , посмотрите нет ли ошибок в статистике интерфейса. Потом убедитесь что посредине не стоит никаких сетевых фильтров или ещё каких улучшаторов трафика.
Гена
Спасибо.
Andrei
Всем привет. Подскажите пожалуйста, валиден ли такой aggregation pipeline на update?
[
{
"$project":{
"_id_str":{
"$toString":"$_id"
}
}
},
{
"$project":{
"_aoi_name":{
"$concat":[
"localhost:5000",
"/collections/",
"$properties.vdp:AOIName",
"/items/",
"$_id_str"
]
}
}
},
{
"$addFields":{
"links":[
{
"rel":"self",
"href":"$_aoi_name"
}
]
}
}
]
Andrei
Могут ли два $project идти подряд и так, чтобы один юзал результат другого
Евгений
Мб тогда индексы?
слушай, а разве индексы влияют на скорость записи? у меня просто их нет, если добавлять, то по какому полю? по _id?
Евгений
yopp
Евгений
мне может как то помочь добавление новых индексов или только ухудшит ситуацию?
yopp
Какой запрос в монгу при этом генерируется?
yopp
В разница во времени вставки 4 раза, а в количестве документов в 1000 раз. Вставка это примерно O(logN), log(100k) = 3, log(100m) = 8, 8/3 = 2,66. Это без учёта коэффициента по io timing. В принципе в пределах нормы.
Евгений
yopp
😐
Посмотрите на утилизацию ресурсов в монге и попробуйте в несколько потоков писать.
Aleksandr
Привет. Подскажите. Есть коллекция с комментариями. У комментов есть поле parent, которое либо null - коммент первого уровня, либо равен id родитесльского коммента. Можно ли одним запросом получить db.find({ parent: null }) и к каждому комменту посчитать, количество его детей (ответов). Или сделать это как-то иначе, чем пройтись циклом и для каждого сделать запрос db.countDocuments({ parent: comment._id }).
yopp
Aleksandr