
Nikolay
14.09.2017
16:33:25
мелкий insert дешевле апдейта

Alex
14.09.2017
16:33:26
типо баланс счета и все такое.

Anton
14.09.2017
16:33:29

Alex
14.09.2017
16:33:40

Google

Anton
14.09.2017
16:33:47
У тебя архитектура становится другой и Ее поддержка увеличивается

Alex
14.09.2017
16:33:49
а снимок состояния как сделать не беря предыдущее7

Anton
14.09.2017
16:34:11

Nikolay
14.09.2017
16:34:27

Alex
14.09.2017
16:34:36
для банков там всяких.

Nikolay
14.09.2017
16:34:55
это можно версионированием "сбоку" реализовать

Alex
14.09.2017
16:34:58
нельзя просто взять и update amount set 500 from users

Anton
14.09.2017
16:35:11

Alex
14.09.2017
16:35:22

Anton
14.09.2017
16:35:34

Google

Nikolay
14.09.2017
16:35:43

Alex
14.09.2017
16:35:50
а как промежуточное состояние считать? берешь снимок и накладываешь на него событие?

Anton
14.09.2017
16:35:59

Nikolay
14.09.2017
16:36:23
а эвент сорсинг разве предполагает хранение истории после снепшота?

Anton
14.09.2017
16:36:28

Alex
14.09.2017
16:36:37

Anton
14.09.2017
16:36:48

Nikolay
14.09.2017
16:36:51
я думал удалил и забыл как страшный сон ?

Alex
14.09.2017
16:37:00
эм нет. Там фишка как раз в истории

Anton
14.09.2017
16:37:11
Можешь без снепшотов жить, но это медленно, поэтому появляются снепшоты для "Кеша" таково вот

Alex
14.09.2017
16:37:13
ну и по мелочи - можно что то пересчитать по новым правилам.

Anton
14.09.2017
16:37:35

Alex
14.09.2017
16:37:47
база наверное бешено растет
но в любом случае есть требования по хранению логов

Anton
14.09.2017
16:38:08
Ну, через пол года расскажу

Nikolay
14.09.2017
16:38:58
а щас вопрос
как джойнить то?

Google

Alex
14.09.2017
16:39:14

Nikolay
14.09.2017
16:39:20
таблицу на таблицу)

Alex
14.09.2017
16:39:24
смотря для чего
приведи кейс

Anton
14.09.2017
16:39:34

Nikolay
14.09.2017
16:39:37
юзеры с картинками хочу

Alex
14.09.2017
16:39:48
проблемы не вижу, джойнишь по текущему стейту

Anton
14.09.2017
16:39:50
Ну ещё раз, у тебя тупо есть лог эвентов, состояний которые меняют систему
Это как в гите почти

Nikita
14.09.2017
16:39:55
Anton надо митап организовывать, how to basic

Anton
14.09.2017
16:40:04
Вот коммиты есть, тут такая же логика

Nikolay
14.09.2017
16:40:04

Alex
14.09.2017
16:40:07
хорошая тема для доклада/статьи.

Anton
14.09.2017
16:40:16
Есть коммиты и есть снепшот всех файлов на текущий момент

Alex
14.09.2017
16:40:32
тебе никто не мешает на основе шаблона в гите сгенерить конкретный html

Anton
14.09.2017
16:40:37
Но в следующем году расскажу с реальным примером

Alex
14.09.2017
16:40:38
так и тут, read only джойны это норм
по стейту

Anton
14.09.2017
16:41:04

Google

Anton
14.09.2017
16:41:19

Nikolay
14.09.2017
16:42:08

Anton
14.09.2017
16:42:10
Поэтому "кешируют" :)

Nikolay
14.09.2017
16:42:59
и как тут быть с производительностью?
опередил

Nikita
14.09.2017
16:43:13
есть еще log compaction
когда события перезаписывают друг друга по ключу
для аватарок самое оно

Admin
ERROR: S client not available

Anton
14.09.2017
16:43:34
Ну ты можешь хоть в монге держать, хоть в постгресе или вообще в куче мест разом

Nikolay
14.09.2017
16:43:59
но всё равно сделает запрос по юзерам, а потом по аватаркам, условный select * where id IN (, , , )?
что б "склеить"

Anton
14.09.2017
16:44:34
Ну да, но ты же все это и держишь
В чем проблема то?

Nikolay
14.09.2017
16:45:13
какие проблемы, я интересуюсь просто)
я просто бенефитов не вижу
в обычной жизни
если надо логировать - то да, это круто

Google

Alex
14.09.2017
16:47:17
я в основном для баланса эту штуку вижу
ну или карточка в trello например
ток с удобным откатом.

Anton
14.09.2017
16:48:08
Там есть крутой плюс, 1 эвент может порождать кучу действий
Создать в базу, нотификацию послать, что-то ещё
И тебе не надо ебать мозг с сайдкиками и прочим

Alex
14.09.2017
16:48:53
чойта?
письма могут фоном отправляться

Anton
14.09.2017
16:49:29
Ну так у тебя и пользователь фоном создаётся
Какие-то данные вычисляются

Alex
14.09.2017
16:49:43
эвент сразу создаю, емейл ставлю в очередь
рисую страничку что емейл отправлен
в этот момент емейл как раз отправится.

Anton
14.09.2017
16:50:44
ммм нет.
Что нет? Если эвент сорсинг у тебя, то ты делаешь эвент, но в базу стучишь уже после эвента

Alex
14.09.2017
16:51:04
ну да. Создал эвент, создался юзер, поставился емейл в очередь

Anton
14.09.2017
16:51:11
И Типо ты за раз можешь много вещей делать и не грузить этим пользователч
Эвент ->
Создать юзера
Отправить емеейл
Отправить аналитику менеджерам
В эластик юзера положить
И все это делается "сразу"
Ну типо асинхронно все делается, ты не паришься за последовательность

Alex
14.09.2017
16:52:23
замени отправить емейл на поставить емейл в очередь