
ptchol
25.08.2016
13:14:18
суть в том чтобы накатить максимально быстро изменения на табличку.
или применить их в ней
или еще как.

Alex
25.08.2016
13:14:26
в нашей сеточки по 10 млрд в месяц показов кртуилось

Google

Alex
25.08.2016
13:14:30
как-то всё считали...

yopp
25.08.2016
13:14:35
я ещё раз вопрос повторю: почему возникла ситуация при которой надо табличку на табличку накатывать

Alex
25.08.2016
13:14:37
с преагрегацией и прочими прелстеями
это имхо монго мышление табличку на табличку

yopp
25.08.2016
13:15:41
в монге нет табличек

ptchol
25.08.2016
13:15:52
вторая коллекция это по факту вектор изменений.
мы можем его формировать на основании различных данных входных, и это позволяет нам знать о том, что необходимо пересчитать сегодня, тоесть то у чего сегодня как то поменяются данные.
это удобно, и позволяет нам не сканить 30м объектов и всех их чекать.

yopp
25.08.2016
13:18:36
почему нельзя это хранить сразу в одном документе?
и сразу принимать решение?

ptchol
25.08.2016
13:18:47
какое ?

Google

yopp
25.08.2016
13:18:48
или решение только ретроспективно может быть принято?
«это позволяет нам знать о том, что необходимо пересчитать сегодня»

ptchol
25.08.2016
13:19:36
ну смотри, у тебя фильм скажем, написано "доступен для просмотра с 25авг до 1сент" а первоого числа нам скажут что он теперь доступен с 1сен до 31дек.
мне нет смысла каждый день для него чекать все его права информация о том что нада пересчитать 30дек попадет во вторую коллекцию и мы пересчитаем все это.

Alex
25.08.2016
13:20:40
а вообще это забавная штука такие данные в базе считать

yopp
25.08.2016
13:20:50
эм
а что мешает просто обновлять поле valid_before?
и фильтровать по этому полю?
30м объектов при правильной упаковке это мало индексов
я когда делал рисёрч для нашей штуки, у меня получилось для нашего кейса сделать штуку, которая хранит 10м событий в 360мб (210мб в snappy) + 50мб индексов
ой
простите, я вас наебал
500мб (240мб snappy) + 88 метров индексов
там 4 индекса

ptchol
25.08.2016
13:40:16
я расчитываю где то на 2к апдейтов/сек это будет 250сек.

Alex
25.08.2016
13:42:31
Ну... есть разные методы...

ptchol
25.08.2016
13:42:53
говори, тока без постгри )

Alex
25.08.2016
13:44:02
почему бы не держать горячие данные в каком нить erlang/scala и на акторах это все считать ? или включать выключать ?

Google

Alex
25.08.2016
13:46:40
думаю даже вполне себе реалтайм получиться

ptchol
25.08.2016
13:49:47
и как они помогут я тож не понимаю рили.
проблема в том чтобы диф вмерджить максимально быстро

Alex
25.08.2016
13:50:21
они будут по факту обновлять

yopp
25.08.2016
13:50:27

Alex
25.08.2016
13:50:28
не будет дифа

ptchol
25.08.2016
13:50:33
по факту мы и так можем

yopp
25.08.2016
13:50:35
у тебя все 500к объектов обновляются _постоянно_?

ptchol
25.08.2016
13:50:40
когда заполняем коллекцию вторую.
ох.

yopp
25.08.2016
13:51:04
я не понимаю зачем делать всё раз в сутки

ptchol
25.08.2016
13:51:07
500к это то что накапливается во второй табличке, и подлежит обновлению.

Alex
25.08.2016
13:51:09
+1
это 3 апдейта в секунду
что вообщем то немного

ptchol
25.08.2016
13:51:26
потому что такие условия

yopp
25.08.2016
13:51:34
условия внутренние или внешние?

ptchol
25.08.2016
13:51:37
типа вырубить доступ в 00:00 такого то числа
внешние

Google

yopp
25.08.2016
13:51:51
данные поступают снаружи строго раз в сутки?

ptchol
25.08.2016
13:52:00
нет,
они поступают снаружи в течении суток из различных источников
и раз в сутки их применить нужно.

Alex
25.08.2016
13:52:21
и в чем проблема их процессить ?

yopp
25.08.2016
13:52:22
и что мешает обновлять по мере поступления?

ptchol
25.08.2016
13:52:33
ох.
потому что в первой табличке у меня не даты. а флаг true \ false

Alex
25.08.2016
13:52:59
чтот напутано с проектированием

yopp
25.08.2016
13:53:02
короче, я пойду дальше работать

Alex
25.08.2016
13:53:03
кажется... имхо
да
вот

yopp
25.08.2016
13:53:07
а ты подумай чо не так
потому что у тебя там бардак походу

ptchol
25.08.2016
13:53:22
да все так ) просто вы не можете решить бзадачу )

yopp
25.08.2016
13:53:35
потому что ты проблему ставишь неправильно
вместо того чтоб разобраться почему тебе надо костыли

ptchol
25.08.2016
13:53:44
я ее не ставлю. она такая есть
я не вижу никаких костылей

Google

ptchol
25.08.2016
13:54:14
я вижу источник данных, вижу место назначения этих данных
вижу трансформацию этих данных из даты во флаг

yopp
25.08.2016
13:54:39
я вижу проблему в том что где-то флаги, а не даты :)

ptchol
25.08.2016
13:54:43
типа если время наступило мне нужно переключателем щелкнуть

yopp
25.08.2016
13:55:00
идея «переключателя» очень плохая
вот сломалась штука
и не переключила
и оппа, убытки

ptchol
25.08.2016
13:55:15
потому что ты не можешь в таком кейсе задачу решить ? )
ну сломалась, и не обновила дату
какая в жопу разница )

Alex
25.08.2016
13:56:01
зато веб скейл

yopp
25.08.2016
13:56:04
накодили™

Alex
25.08.2016
13:56:13
:)

ptchol
25.08.2016
13:56:14
и к примеру, у тебя дата "открывается"
а ты такой катишь катишь катишь )

Alex
25.08.2016
13:56:39
ну это вообще не проблема... я честно говорю не понимаю в чем сложности

ptchol
25.08.2016
13:56:45
да не, просто это все интерфейсы внешних систем

Alex
25.08.2016
13:57:09
ну надо определиться или интерфейсы или хранение или процессинг
а то чтот всё в кучу

yopp
25.08.2016
13:57:17
^^

ptchol
25.08.2016
13:57:20
не.