Nick
ага
Nick
а я смогу использовать _id.vvv как шард ключ?
yopp
шард ключ к _значениям_ никакого отношения не имеет
yopp
шард-ключ на самом деле это «шард индекс»
yopp
ты можешь создать индекс из чего угодно, если он удовлетворяет требованиям к шард ключу — ты можешь использовать префикс этого индекса или весь индекс целиком как шард ключ
yopp
но ещё нужно понимать что индексы по вложенным аттрибутам всегда будут требовать fetch
yopp
так как index-only queries работают только по полям в корне документа.
Nick
ну мне либо апдейты дока либо полный док нужны, так что особо значения не будет иметь
Artur
Коллеги, а что с bitwise операторами индекс не работает?
Artur
Вот черт, оно с hint'ом только работает.
Aleksey
у меня 15к коннектов к монге. ААААА я не хочу шарды :(
Alex
Use postgres dude:)
Aleksey
у меня он тоже есть.
Aleksey
pgbouncer руляет
Aleksey
с ней всё ок.
yopp
Там же нет view особо для соединения, так что коннекты жрут немного памяти и всё
Aleksey
я боюсь будующего в котором именно колво коннектов станет причиной по которой придется делать шарды
Aleksey
у монги 20к ограничение сверху
yopp
Да?
Aleksey
ога да
yopp
Ну реплику пошире
Igor
Охх. Есть задачка возвращать документы, отсортированные так, что сначала идут объекты с русским текстом в одном из полей, а потом с английским/циферками/спецсимволами. Монго 2.6 :\ find().collate() вроде нельзя сделать. как это можно реализовать? в робомонго вижу, можно сделать индекс по нужному полю ({'name': 1}) и в text search указать default lang/lang override: russian, но, кажется, это меня не спасло
yopp
Скорее всего обновить многу до 3.4 будет самым простым способом.
Igor
гыгыгы. постараюсь убедить, спасибо
yopp
Там уже collation нормально реализованы
yopp
Но я не пробовал, рекомендую на тестовом столе проверить
Ivan
ребят, есть книжка где объясняется как в mongoose делать сложные запросы как в sql join having и т.д., когда несколько связанных таблиц?
Nick
Тебе $lookup
Nick
Если не хватит, то монга не подходит для твоей задачи
Ivan
не подскажите, есть ли бесплатный серв баз данных sql онлайн типа mlab для монго?
yopp
Это против концепции монги. Это конечно можно реализовать, но боль от использования и поддержки этого решения будет феноменальной.
yopp
Для монги в первую очередь нужно начать думать документами, а не связями.
yopp
Бесплатную монгу в MongoDB Atlas можно взять.
ghett
ребят, я добавился в эту группу 2 года назад и до сих пор БД не касался
ghett
я правильно понял, что монга хранит данные в стиле JSON? т.е. парами ключ-значение?
Igor
коллекция скорее все же на массив/список из объектов (хешей, словарей) похожа обычная строка - типа, "hello" - это тоже валидный JSON, есличо
yopp
Если совсем упрощённо — да. У тебя есть ключ _id и к нему привязан BSON документ произвольного содержания. Всего два ограничения: _id уникальный и весь bson не больше 16мб
yopp
Коллекции это namespace внутри которого должно выполнятся правило об уникальности.
Ivan
а не монго есть бесплатные серверы?
Ivan
Бесплатную монгу в MongoDB Atlas можно взять.
yopp
Это чят про монгу, про другие субд я не знаю. Уверен что есть. Гугл в помощь
ghett
Это неверный json
ну так я о чём, Igor заявил, что просто стринг валиден как json, или я чё то не понял?
yopp
Он говорил в внутреннем представлении коллекции. Любой документ должен сам по себе быть валидным BSON документом.
yopp
С минимум одним ключом: _id
ghett
всё, треш какой то начался. я пойду в ридонли на год ещё схожу))
CC-BY-SA-4.0/Docker-ce30.0
Лучше в доку бы сходил.
yopp
Latest: 3.4.4 (Apr 21, 2017), Stable: 3.2.13 (May 1, 2017) 3.4.4: https://docs.mongodb.com/manual/release-notes/3.4/#apr-21-2017 3.2.13: https://docs.mongodb.com/manual/release-notes/3.2/#may-1-2017 Пришло время обновляться до 3.4.1+: https://aphyr.com/posts/338-jepsen-mongodb-3-4-0-rc3
Max
товарищи, а подскажите, плиз. oplog в монге лежит в базе local. Размер оплога - configured oplog size: 51200MB (это 50 гиг) А если сделать show dbs, то получается вот так: local 24.762GB оплог в 50 гиг занимает на диске неполных 25 гиг?
Max
или show dbs врёт и не надо туда смотреть?
Alex
это особенность Монги
Alex
под оплог отжирать сразу место
Alex
в размере 5% от диска кажется.
Max
в размере 5% от диска кажется.
но не более 50 гиг, которые у меня и указаны и оплог давно и активно крутится однако в show dbs инфа другая.
Alex
ну размер оплога это размер оплога
Max
/me по недоразумению в свое время думал, что 50 гиг это вообще макс размер. а теперь куча интима с этим оплогом, ых
Alex
а размер базы это размер базы
Alex
это плохо коррелирующие между собой вещи :)
Max
так а какой параметр важнее? в моем понимании оплог должен быть всегда набит полностью - чтобы "отмотаться" назад можно было. и он полный. и 50 гиг а на диске - 25 :)
Anonymous
добрый день, друзья, тут можно по выборке и удалению данных вопрос задать?
Alex
Размер базы это то сколько у тебя данных
Alex
Размер оплог (если я не ошибаюсь), это журнал изменения данных, который ротируется в пределах этих 50Гб
Max
Размер базы это то сколько у тебя данных
Да, я понимаю. судя по доке - оплог - это обычная capped collection, и в качестве cap-а — 50 гиг. но как и почему оно на диске занимает меньше места? должно же быть всегда в районе 50 гиг занято
Alex
так что я не очень понимаю сравнительные характеристики между этими двумя величинами
Igor
сжатия нет никакого?
Max
сжатия нет никакого?
неа. обычный xfs + WT
Alex
а как ты понял что на диске меньше занимает ?
Max
так что я не очень понимаю сравнительные характеристики между этими двумя величинами
я с вами согласен, но не в случае, когда это касается именно oplog-а.
Alex
у тебя по идее должно быть занято 75Гб
Alex
а не 25 :)
Alex
а df -H что кажет ?
Max
на раздел? 2+ Tb занято, но кому какое дело :)
Alex
ну может я чет не понимаю конечно
Max
для чистоты эксперимента можно будет сравнить, когда в directory per db перееду, но... это позже.