Dmitriy
примерно так кейс звучит
Nick
используйте тогда нормальное решение для полнотекстового поиска, монга очен ьограничена
Dmitriy
да, это я знаю, но опять же пока пожелание заказчика не раздувать проект и использовать regex для "полнотекста"
Dmitriy
уже отписал заказчику, спасибо за помощь!
Nick
если хочется извращений, то отдельно для objectid по префиксу можно искать в таком ключе db.getCollection('t1').find({ _id:{ $gte: ObjectId("5c4700000000000000000000"), $lte: ObjectId("5c47ffffffffffffffffffff") }})
Nick
поиск по 5c47
Dmitriy
это совсем жестоко))) к тому же не даст искомого результата, если нужен поиск по значению из середины последовательности)
Маfеt
подскажите, надо коллекцию в ин-мемори шардированую базу унести. я правильно понимаю, что для инмемори надо отдельный инстанс и свои rs запускать?
Маfеt
и как решать вопрос с хоть каким-нибудь сохранением данных, в случае внезапной потери питания на площадке например?
Маfеt
можно запустить в одной связке ин-мемори ноду и обычную ноду (hidden) ?
Nick
данных много? прирост большой? количество операций сколько?
Маfеt
"count" : 32551000, "size" : 93982069338, "storageSize" : 36072865792, "totalIndexSize" : 18095235072,
Маfеt
кажется, что данных немного
Маfеt
прирост не планируется вообще
Nick
данные меняются?
Nick
или там только выборки7
Маfеt
изменение данных планируется совсем небольшое, раз в месяц будет полностью переналиваться. основная нагрузка чтение
Nick
тогда зачем вам чтото хранить если можно данные переналить в случае проблем
Маfеt
ну.. кажется именно этот вопрос снимается да
Маfеt
и в целом ничего не остается от вопросов)))
Nick
)))
Nick
если стоит задача в случае проблем прост опереключить софт без доработок, то имеет смысл дальше разбираться. Если время наливки этих 100гб данных не критично, то проще не усложнять
Маfеt
хм. я не настоящий монговод, могу говорить не правильные вещи. то есть в моём случае проще взять 10 хостов ( столько как раз и есть), на каждом поднять по новому демону, запихать в свою реплика-сет и запихать все эти репликатсети в шард?
yopp
можно запустить в одной связке ин-мемори ноду и обычную ноду (hidden) ?
А вам inmemory даёт какой-то существенный выигрыш?
Маfеt
да непонятно. онож ведь может кешироваться, но я новичок в администрировании монго, МЕНЯ ПРОГРАММИСТЫ ПОПРОСИЛИ поднять инмемори монго
Маfеt
сейчас уже эта коллекция есть в обычной шардированной монге и им видимо не нравится производительность
yopp
Я бы попробовал разобраться с тем, что им не нравится. In-memory это очень специфичная штука с которой будет очень сложно
yopp
И она имеет смысл когда вы точно знаете что вам надо абсолютно весь датасет с высокой частотой проезжать
yopp
А так вам надо взять ещё десять хостов, с достаточным количеством памяти и включить на них inmemory и добавить их по хорошему в отдельную зону и настроить правила так, чтоб в эту зону ничего случайно не поехало
yopp
Бэкапов не будет :)
yopp
https://docs.mongodb.com/manual/core/inmemory/#sharded-cluster
Andrey
ребят, а как устроен индекс комплексного id-шника? вот например у меня вида { name: string, nested: { type: string, num: number } } будут ли деревья отдельно на nested.num, name, другими словами по отдельным полям так же быстро будет осуществляться поиск?
yopp
нет, не будет
Andrey
понял, спасибо
yopp
и поискать по чату по слову матрешка
Andrey
👍
Max
привет! у меня тут очень тяжёлые агрегатки для сбора статистики и сейва её в другую коллекцию - хочу запустить её и оставить наночь, подскажите конфиг монгуза чтобы запрос не упал по таймауту
Nick
не упадет
Nick
монга в этом плане очень тупа и отстрел коннекта, пославшего запрос не приводит к убитию запроса
Alexander
Вопрос по безопасности. Если из расширения в хроме или с сайта летит http запрос на сервер, то данные с него ведь можно перехватить? Есть ли безопасный метод передавать информацию по http ? И ещё, если сервер на Express с сертификатами, и принимает данные по https - это гарантирует шифрованный канал связи?
Alexander
Впринципе если самоподписные сертификаты на Express гарантируют безопасность передачи данных, то это отлично и меня устроит.
Nick
Впринципе если самоподписные сертификаты на Express гарантируют безопасность передачи данных, то это отлично и меня устроит.
самоподписанный может не завестись у пользователя, хз как там сейчас браузеры на них реагируют
Alexander
самоподписанный может не завестись у пользователя, хз как там сейчас браузеры на них реагируют
Хм. А как тогда просто и безопасно передать данные по http, если не заведутся? Какую технологию смотреть, не подскажете?
Nick
буква s в http отвечает за безопасность, также как и в IoT
Nick
и как видите ее там нет
Nick
вообще решение есть - шифруете сообщение на стороне клиента и передаете его по незащищенным каналам
Alexander
Спасибо, так и сделаю.
Nick
а не скажете какого рода данные и откуда вообще появилась необходимость предотвращать кражу?
yopp
точнее так, вам придётся внутри http завернуть свой протокол
yopp
самоподписанный может не завестись у пользователя, хз как там сейчас браузеры на них реагируют
он гарантированно не заведётся, если УЦ не добавлен в корневые сертификаты
yopp
а самоподписной уц у пользователя сам по себе не появится
Nick
да не норм, рофельно даже
yopp
не знаю, мне не очень смешно когда пытаются изобрести свои криптографические протоколы
Alexander
Я вообще расширение пишу для узкого круга лиц. То есть в их же интересах не предоставлять его кому либо. Так что если шифровать на стороне расширения с ключем и солью - разве не безопасно будет?
yopp
нет
yopp
что вам мешает это делать по https?
yopp
сертификаты бесплатные уже
yopp
настраивается в три клика
yopp
и главное — ничего не надо делать, буковку только поменять и возможно пару заголовков добавить
yopp
если по какой-то причине у вас совсем не складывается с сертификатами от бесплатных УЦ, то вариант со своим УЦ он правильный. пользователям надо будет или добавить ваш сертификат к себе в исключения (может не поддерживаться бразуером) или вы можете попросить их установить ваш корневой сертификат (нормальный пользователь вас далеко и надолго пошлёт)
yopp
но я бы приложил все услилия чтоб сложилось с тем-же letsencrypt
Alexander
Понял, спасибо, буду с letsencrypt шаманить тогда
yopp
без спроса
yopp
👍
Nick
а что поделать, у них выбора нет
yopp
выбор есть у вас :)
yopp
это очень плохая практика, особенно если вы им об этом не говорите
yopp
это ещё и при некоторых условиях может быть и не законным
yopp
очень рекомендую посмотреть вот сюда: http://tools.ietf.org/html/rfc5280#section-4.2.1.10
yopp
но вообще это всё очень плохо работает
Nick
к сожалению это все добровольно принудительное, т.к. серты должны быть в доверительных для осуществления подписи доков спец софтом, насколько я понял всю структуру
yopp
PKI это очень грустно
Oleg
есть инструкция по установке mongodb на mint? https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-ubuntu/ думал, эта подойдёт. второй шаг -
Oleg
ой, эта версия не та даже