Nick
а можно пример вашего _id и пример запроса?
Nick
https://docs.mongodb.com/manual/reference/operator/query/regex/#index-use
Nick
и опять же просто сделайте explain
Sergey
objectid - это не строка
Sergey
http://bit.ly/xy_problem_ru
Nick
чтото сдается мне что после фраз "Есть id и по ним нужен поиск" подразумевается как раз использование строки вместо oid
Sergey
рекомендую к прочтению =)
Nickolay
Есть ObjectId и нужен поиск подстроки в нем, он не строка, а именно bson.ObjectId
Nickolay
Сделал отдельное строчные поле
Sergey
Nickolay
Вопрос же ясно сформулирован :)
Sergey
Вы решаете проблему Y, а надо - проблему X.
Nickolay
Проблемы Х нет. Пользователь ищет записи по их id и вводит, например, первые 8 символов, вместо полного id
Sergey
Довольно странное решение давать пользователю objectid для каких-то операций с ним.
Nick
Nick
я не телепат, поэтому все таки еще раз задам вопрос - как выглядит ваш id, если он уникален, то что мешает использоват ьег ов качестве _id, и третье - покажите пример запроса которым вы сейчас выбираете данные по доп полю с id
Vasyl
делай отдельное поле с человекопонятным айди и не издевайся над людьми
yopp
yopp
шестнадцатиричное представление просто для удобства
yopp
искать можно, но это будет поиск по диапазону, условно если ищем по первым 8 символам шестранцатиричного преставления, то _id: { $gte: ObjectId('4ecc05e50000000000000000'), $lte: ObjectId('4ecc05e5ffffffffffffffff')}.
Sergey
В принципе, это даже автоматизировать можно ибо длина фиксирована, но кажется, что при проектировании где-то свернули не туда.
yopp
ну почему, в хелпдеске искать по айдишникам
Sergey
И так действительно делают, ощутил в прошлом на собственной шкуре, но всё равно считаю, что это проектировалось не для людей, раз приходится так делать.
В идеале (в случае с хелпдеском), по звонку нужного сотрудника должны автоматом подтягиваться все его задачи, чтобы по ним было легко найти нужную.
yopp
ну мало ли что там у человека
Старый
Всем привет, такой вопрос, на сколько сильно отличается mongo от cassandra в плане кластеризации без репликации
yopp
две разные вещи совершенно
yopp
если ты про шардинг
Старый
то есть, если например 10 нод монги по 500 гб, и где то данные полетели, вся конструкция жива, и данне недоступны только с той ноды, или так же как на кассандре, всё умерло?
yopp
недоступны только те ноды, которые полетели
yopp
при условии доступности конфиг-серверов
Старый
получается, что если выходят из строя конфиг сервера, или 1 из них, то всё? то есть они узкое место
yopp
нужно чтоб роутер видел хоть один конфиг сервер
Старый
я сейчас проверяю просто по проекту ттх, а тк работал больше с касаандра, сцилла, то вот думаю, что они там делают интересное
yopp
не понимая проблемы которую надо решить, сложно дать какие-то рекомендации
yopp
вообще без репликации везде всё будет плохо
yopp
потому что нет избыточности и любой отказ, вероятнее всего, приведёт к общему отказу
Старый
то есть у ноды что-то случилось при записи, встаёт весь кластер
Старый
и пишет, что на такой то ноде, такая то ошибка
yopp
вопрос не очень понятен
yopp
что сделать-то надо?
Старый
у меня есть подозрение, что люди из другого суббодрядчика фигачат монгу в аналоге rack1 у кассандры
yopp
вы можете меня нанять, я вам аудит сделаю
Старый
у меня опыт работы с монгой был как замены редиса с чуть большим функционалом
Старый
настродамус
Старый
я хотел узнать, схожи ли проблемы у mongo и cassandra, если они без реплик
yopp
я возьму ваш кластер, изучу со всех сторон и напишу отчёт, в котором понятным языком расскажу что где не так и как это исправить. если нужно ещё аудит на соотвествие каким-то внешним требованям провести, то тоже пожалуйста.
yopp
Старый
я возьму ваш кластер, изучу со всех сторон и напишу отчёт, в котором понятным языком расскажу что где не так и как это исправить. если нужно ещё аудит на соотвествие каким-то внешним требованям провести, то тоже пожалуйста.
да его нет ещё, тут ттх пишут, есть предположения которые я хочу подтвердить/опровергнуть, ранее могу юзал под другие задачи, поэтому в этих тонкостях не разбираюсь, а док надо бы сегодня отправить, потому думал распросить про те проблемы, что мне известны в кассандра/сцилла/ас, и сранить
yopp
отказоустойчивость это очень сложно, тут надо смотреть на специфику
Max
@dd_bb я вот, к слову, хочу лишний раз поблагодарить тебя за давние веские комментарии по делу.
Max
когда-то сильно помог мозг в правльное место поставить.
спасибо!
yopp
yopp
если нужно проанализировать риски по отказам, это совершенно другая
yopp
эээ
yopp
монга это не jvm :)
Старый
вижу уже, спутал
yopp
там ручек, которые можно крутить не так много.
Старый
я вообще пока ток 1 файл нашёл
yopp
файл чего?
Старый
прошлый раз вообще в дефолте юзал
Max
конфигов )
yopp
а. так он один и есть
Старый
😕прям шок и не привычно
yopp
https://docs.mongodb.com/manual/reference/configuration-options/
yopp
вобщем-то это всё что можно покрутить
yopp
так это хорошо наоборот
Старый
так это хорошо наоборот
далеко не всегда, я вот из того что сейчас понял,у людей будет 2 ведущие ноды, чисто под конфиг как я понял, и 10 на которых данные, но теперь я совсем запутался, зачем нужно 2 тб места ноде, на которой нет данных
Старый
Старый
вот у меня 10 баз, и 2 ведущие ноды, предположим закончилась оперативная память, на всех нодах, базы стали больше чем оператива, монго будет тупо как и кассандра работать с диском? и каждая нода даст такое кол-во записей чтения в сек, сколько iops у дисков?
yopp
монга оптимизирует кеш таким образом, чтоб там находились горячие индексы и данные
yopp
если база стала больше оператива, это не проблема
yopp
а вот если индексы стали больше чем оператива, это проблема.
yopp
из твоего описания не очень понятна топология. Шард из 10 нод и ещё 2 ноды под конфиг?
yopp
чётное количество нод для конфига — уже плохая идея, будут проблемы с выборами