Гена
С наступающим
Nick
На стороне приложения переимовывайте, либо просто везде используйте _id
Anonymous
Есть ли ограничения по количеству баз данных в одном кластере?
Сергей
Не актуально)
🖤
Привет. Подскажите, как делаем, если два действия - создания и апдейт документа выстреливают так быстро, что на фазе апдейта документа в базе ещё нет?
Назар
🖤
действия вызываются из разных мест асинхронной системы, отражают события реального времени, то есть обновления без записи случиться не может (обратное возможно), так что ждать не получится. Мб какие-то решения типа очередей/job queue ?
Назар
🖤
Fred
Я делал расширенный метод в модели на стороне nodejs getData где получаю только нужные данные переименовываю айди ну это как один из вариантов
yopp
yopp
Max
привет. такой вопрос - standalone от не standalone ноду отличает наличие в конфиге replication.replSetName как минимум? т.е. я не могу взять standalone и без перезагрузки и обновления конфига просто сделать по ману https://docs.mongodb.com/v3.4/tutorial/deploy-replica-set-with-keyfile-access-control/#deploy-repl-set-with-auth ?
yopp
Нет, без перезагрузки не сделать
Max
понятно, спасибо. и второй момент - просто заявить реплика сет в конфиге не вышло, ошибка "Unhandled rejection MongoError: not master and slaveOk=false" значит что я не могу просто включить реплика сет и получить работающую единственную ноду на время настройки остальных?
Fred
😁👍
Fred
С наступающим всех!
yopp
Max
komron️
Всем привет. Тут кто-нибудь знаком с тем как я могу создать поисковый движок на базе монги? Не просто наивный поиск на слова, а там стемминг, индексация, ранжирование и тд
komron️
Если есть ссылки и ресурсы, пожалуйста присылайте
Max
Max
Привет, да.
komron️
мне предложили http://whoosh.readthedocs.io/en/latest/intro.html но я думаю то что включено в монге сойдёт. я не знал что там тоже есть поддержка на стемминг и индексацию
Max
У меня нет сопоставимого опыта с монгой. Только елк и только теоретический.
Max
Практический с елк - логи и обработка. Про полнотекстовый поиск, токенизацию и индексацию только читал.
yopp
text index tokenizes and stems the terms in the indexed fields for the index entries. text index stores one index entry for each unique stemmed term in each indexed field for each document in the collection. The index uses simple language-specific suffix stemming.
Сергей
Ребят, подскажите, как сделать верхний регистр в названии коллекции?
Aleksandr
Сергей
Ага
Aleksandr
там второй аргумент есть
Aleksandr
и там { collection: 'Любое имя' }
Experimentalist
Всем привет. Вопрос тем, кто разбирается в базах данных. Реализация реляционная модель + memcached в целом по своей сути похожа на NoSQL?
Experimentalist
memcached = активное кеширование.
Aleksandr
вообще не похоже
Experimentalist
Experimentalist
Aleksandr
а что тут сомневаться
Experimentalist
Если реляционная модель это нормализованные данные, которые меньше по весу, но читаются долго из за отсылок к разным таблицам, в то время как денормализованные весят больше, но имеют большую скорость чтения, что на memcached можно и реализовать.
Aleksandr
если запросы только по ключу то и sql не нужен
Aleksandr
одного редиса хватит
Aleksandr
а если нужно запросы с условиями делать всякие пайпланы индексы по ключам то какой тут мемкешед
Josh
Aleksandr
Я много-много лет работал с sql в том числе с довольно большими объемами данных и думал что nosql это для специфических каких-то задач, которые не мои, а потом когда с монго разобрался теперь вообще вокруг себя не вижу задач для которых sql будет удобнее чем монго
Experimentalist
Aleksandr
такой геморрой этот sql в администрировании и вообще
Aleksandr
Josh
поэтому жду акции монги х10
Aleksandr
в банковской системе легаси на легаси легаси управляется
Aleksandr
вот и sql там застрял навечно
Aleksandr
а так-то поди любой банк если перепишет эту древнюю муть то на порядок затраты сократит определенные
Experimentalist
Experimentalist
Aleksandr
legacy код, системы - это когда написали что-то и уже лучше не трогать а то все непредсказуемо перестанет работать
Experimentalist
Aleksandr
или протоколы интеграции какие-то которые со всех концов не заменишь сразу и приходится поддерживать то что есть
Experimentalist
Допустим, есть коллекция items и нужно сменить какое-то значение у n записей, придётся кучу всего перезаписывать, разве не лучше поменять это в одном месте и обновить кешированное значение?
Experimentalist
Aleksandr
yopp
yopp
Деньги в АБС, а обертку вокруг абс можно на чём угодно делать
yopp
yopp
В первую очередь потому, что пытаться обхитрить механизм кеширования базы данных, почти гарантированно провальная идея, которая выстрелит не только в коленку
yopp
Нормализация и денормализация это исключительно выбор о том, когда мы платим за вычисление конечного состояния необходимых нам данных
Нормальная форма — платим за вычисление при чтении
Денормализированная форма — платим при записи
Experimentalist
Experimentalist
Спасибо за ответы.
yopp
И да, хранить в кэше данные прямо из базы данных в 98% случаев приведёт к обратному эффекту, а не к ожидаемому. Плюс на порядок усложнит логику работы.
yopp
Три самые сложные проблемы: выбор структуры данных, названия переменных и кеширование
Alexander
Semyon V
нужен ли sparse индекс для полей, значение в которых присутствует в 99.9% случаях?
Semyon V
Dima
У типа String есть ограничение по длине? Пытаюсь записать JWT токен длинной 1234, получаю ошибку
https://i.imgur.com/AFyXfKZ.png
Oleg
вроде четко написано
Oleg
1024 лимит там