@MongoDBRussian

Страница 240 из 342
yopp
10.05.2018
16:19:19
Лучше всего посмотреть не умеет ли API возвращать обновления с некоторой точки

yopp
10.05.2018
16:19:50
не умеет.
Ну тогда вам нужно самостоятельно делать дельты

Google
Nick
10.05.2018
16:19:52
в том что первый вариант используется во вских ОРМ, а второй треубет ручками все делать

Ivan
10.05.2018
16:19:56
Либо перезаписывайте, либо вычисляйте дельту и обновляйте на нее

Илья
10.05.2018
16:20:17
ответ апи не содержит временной метки о том, когда менялась инфа о товаре?

Илья
10.05.2018
16:21:15
если нет, то можно дубовым образом вычислить хеш полученного документа, и если он не совпадает с ранее записанным в базе, то обновлять весь документ (и хеш, конечно, тоже)

yopp
10.05.2018
16:21:29
Можно вообще не вычислять дельты

Nick
10.05.2018
16:21:30
еще не забудьте нужно ли вам определят ьчто данные удалились и их нужно так же удалить из вашей базы

Илья
10.05.2018
16:23:27
всё равно весь документ с апи магазина уже выкачан, скорее всего узким местом будет его получение, а не запись в базу.

yopp
10.05.2018
16:23:35
Берем временную метку начала синхронизации. Вытаскиваем все документы. Добавляем временную метку ко всем документам в виде индексируемого поля _v и записываем в монгу. По завершению синхронизации записываем временную метку в отдельный документ в отдельной коллекции. Дальше когда мы делаем запрос в каталог, мы читаем самую последнюю метку из коллекции меток и добавляем ее ко всем запросам.

Это простейшее версионирование. Вы дальше уже сами у себя можете считать дельты и вообще делать все вещи которые позволяет делать версионирование.

Nick
10.05.2018
16:26:36
конечно нужно
габела тада

а приходит всегда полный актуальный список?

Google
Nick
10.05.2018
16:27:46
т.е. условно можно будет очистить коллекцию и заново наполнить (никогда так не делайте)

Alexandr
10.05.2018
16:27:51
приходит да, актуальный на текущий момент

Nick
10.05.2018
16:28:43
тогда как выше указал yopp вам необходимы метки времени, чтобы после обновления списка удалять все со старой меткой времени

ну и апдейт просто по _id с переписыванием всех полей, это наверняка будет дешевле чем на каждый док делайть сначала ваборку и потом уже решать надо ли обновлять

ну и чистые апдейты позволят использовать bulk, может какой профит и поулчите

Alexandr
10.05.2018
17:14:48
хорошо. это всё понятно, советы дельные.

сейчас поясню вопрос

Nick
10.05.2018
17:16:15
хм, интересный ход

Alexandr
10.05.2018
17:17:32
Если у нас эта коллекция под нагрузкой в 100к в секунду запросов, с ней ничего не будет?

если методом удалить всё и вставить по-новой

Nick
10.05.2018
17:17:50
а ведь да и просто потом предыдущую версию потереть, если не нужна. тут наверное вопрос в том какие данные и как они используются

Alexandr
10.05.2018
17:18:14
используются только на чтение

Nick
10.05.2018
17:18:16
100к в секунду

Alexandr
10.05.2018
17:18:24
развалится все нафиг
а если апдейтом делать - то не развалются, правильно?

Nick
10.05.2018
17:19:06
тут смысл такой, что через удаление есть момент когда данных в коллекции нет, и в это время туда полетят запросы, то нормально будет что ничего не вернется?

yopp
10.05.2018
17:19:41
Google
yopp
10.05.2018
17:20:19
У вас кеш быстро перебалансируется. Если места под новые документы хватит без сброса на диск, то возможно клиенты даже ничего не заметят

Плюс вы можете не сразу всем клиентам версию сменить, а плавно менять

Alexandr
10.05.2018
17:20:50
Ничего не будет, если сделаете как я написал
Я не очень пока понял этот метод. Это получается апдейт просто с финтами,верно?

yopp
10.05.2018
17:21:01
Чтоб дать кешу перестроиться

Старый
10.05.2018
17:22:37
https://db-engines.com/en/system/Cassandra%3BHBase%3BMongoDB @dd_bb на сколько эта таблица ещё соответствует действительности

Alexandr
10.05.2018
17:23:51
Без апдейтов
Вчитался. понял. Идея хорошая. Тогда нужен какой-то джоб по подчищению старых меток

удаление старых записей, я имею ввиду.

Старый
10.05.2018
17:24:47
selectable replication factor Master-slave replication особенно интересно

просто оч странно что в 2018 до сих пор мастер слейв

yopp
10.05.2018
17:27:48
просто оч странно что в 2018 до сих пор мастер слейв
Ничего странного. Master master имеет свои минусы

Старый
10.05.2018
17:28:48
Ничего странного. Master master имеет свои минусы
ну вот например, у меня 3 ноды, все 3 мастеры, какие минусы перед тем, чтобы был 1 мастер и 2 слейва?

yopp
10.05.2018
17:30:18
В том, что в монге тоже можно в три мастера. Это шардинг и есть

Старый
10.05.2018
17:31:43
yopp
10.05.2018
17:32:06
Ну, шард с зонами

Старый
10.05.2018
17:35:46
Ну, шард с зонами
разница в том, что когда заходишь в доку и читаешь про репликацию, про это сразу не написано, и честно сказать, если надо в голове держать ещё 5-6 субд, в голове это может не отложится

yopp
10.05.2018
17:36:45
Так репликация это просто один из механизмов. :)

Она скорее не о масштабировании хранилища, а о его устойчивости.

Более того, документация в монге явно говорит о том, что так масштабировать не стоит

Google
Старый
10.05.2018
17:39:02
Она скорее не о масштабировании хранилища, а о его устойчивости.
я завтра пойду общаться на тему того, что людти хотят hbase и mongodb в openshift и в 8 сильно разрозненных географией местах

yopp
10.05.2018
17:39:31
Все три вместе?

Старый
10.05.2018
17:39:35
точнее это будет одна из тем, там и оракл будет и постгре, и ci\cd

Все три вместе?
в зависимости от задачи своя бд

yopp
10.05.2018
17:40:08
Интересно. А что за индустрия?

Старый
10.05.2018
17:40:15
телеком

yopp
10.05.2018
17:40:38
Биллинг?

Старый
10.05.2018
17:40:45
да

yopp
10.05.2018
17:41:17
??

Очень интересно!

А монга как хранилище чего выступает?

Старый
10.05.2018
17:42:22
пока безпонятия

я знаю что там oracle под счета и тп, постгрес под личные кабинеты, hbase под олапы

но у них ещё где то кассандра и монга

а ещё там сейчас идея всё в openshift запихать

yopp
10.05.2018
17:44:38
Держите в курсе, прямо очень интересно

Я про openshift вообще толком ничего не знаю

Это редхат вроде?

Старый
10.05.2018
17:45:37
Это редхат вроде?
да кубернетис с вебмордой

yopp
10.05.2018
17:45:59
Прикольно

Google
Старый
10.05.2018
17:46:24
я бы согласился, если бы они в прод не тащили базы в контейнерах

yopp
10.05.2018
17:46:46
Контейнеры поехали в ынтерпрайз по взрослому

Старый
10.05.2018
17:46:59
если бы менеджент понимал их минусы

yopp
10.05.2018
17:48:06
Да ладно. У меня вполне получилось собрать монгу в ранчере. Да, никаких автоматических фейловеров на уровне контейнеров, никакого гибкого стораджа.

Работает как часы

Очень удобно: кластер обновляется в три кнопки

Откатывается тоже в три

Старый
10.05.2018
17:48:54
Очень удобно: кластер обновляется в три кнопки
а если завтра резко нагрузка вырастет, и 3-4 контейнера уйдут в слип?

Amir
10.05.2018
17:49:39
у меня к ранчеру одна претензия, как-только нагрузка выше средней, он умирает

yopp
10.05.2018
17:49:45
у тебя ранчер от нагрузки не падает?
Я слышал про печальный опыт когда у тебя тыща хостов. У меня в худшем случае несколько десятков, хватает за глаза.

Amir
10.05.2018
17:50:07
Я слышал про печальный опыт когда у тебя тыща хостов. У меня в худшем случае несколько десятков, хватает за глаза.
он умирает на 3х хостах, если просто. дать хорошую нагрузку в сами контейнеры

он начинает умирать тупо от кол-ва метрик летящих в него :)

yopp
10.05.2018
17:50:51
Ну не знаю. Я заливал 5 гигабит данных в секунду в тестовый кластер, и всё было гладко :)

Старый
10.05.2018
17:51:25
?мне вот интересно уже как это дело всё в контейнере мониторить нормально

yopp
10.05.2018
17:51:35
А в стартапчике у нас 9 виртуальных хостов только под CI/CD было

Amir
10.05.2018
17:51:51
ну давай так, если запулить какой-то nginx голый и долбануть в него ab - через некоторое время кол-во метрик идущих в дашборд через вебсокет, начнет тупить, потом исчезнет и ранчер перестанет отвечать

yopp
10.05.2018
17:52:07
Там тимсити в рабочее время кипятила три хоста без перерывов.

Amir
10.05.2018
17:52:13
там cadvisor сумасходит

yopp
10.05.2018
17:52:43
А вы его давно пробовали?

Amir
10.05.2018
17:52:44
ладно фиг с ним, вдруг починили)

yopp
10.05.2018
17:52:51
Это мне кажется в 2.0 уже починили

Страница 240 из 342