
Dmitriy
26.09.2018
14:00:06
ок, я вас понял, например я хочу получить сводный отчет по кредиторской задолженности контрагента за период в полгода

yopp
26.09.2018
14:01:03
и всё?

Dmitriy
26.09.2018
14:01:27
или например аналитику по фрод активности плательщиков за какой-то период в разрезе контрагента и мерчанта

yopp
26.09.2018
14:01:53
у вас есть план запросов?

Google

Dmitriy
26.09.2018
14:02:02
и всё?
вы хотите чтобы я расписал методологию расчета или что-то другое уточняете, или имеете в виду что это плевое дело?)

yopp
26.09.2018
14:02:43
я хочу вас навести на мысль, что выбирать базу данных надо исходя сначала из бизнес-задач, а потом уже из технических требований
вероятно вам нужен какой-то многомерный olap
с вашим объёмом транзакций, вам нужен хороший олап, с хорошей поддержкой
а это не такой большой рынок :)

Dmitriy
26.09.2018
14:03:59

yopp
26.09.2018
14:04:24
а звучит как olap

AstraSerg
26.09.2018
14:04:35
@dd_bb Человек пришёл, что бы мы ему расписали "плюсы" монги, так как он её хочет, а коллеги - нет. А мы его отговариваем :)

yopp
26.09.2018
14:04:55
наоборот же

Dmitriy
26.09.2018
14:05:47
если упрощенно то мне нужно сделать так для примера:
SELECT sum(amount), format(date, 'Y-m') as date, count(id), project_id FROM table WHERE contractor = xxx AND date BETWEEN 'xxxx' and 'yyy'
GROUP BY date, project_id
HAVING BY count(id) > 100000;
наоборот же
да, вы совершенно правы, я монгу как раз не хочу

yopp
26.09.2018
14:06:57
не хотите, не берите :)

Google

AstraSerg
26.09.2018
14:07:08

yopp
26.09.2018
14:08:01

Dmitriy
26.09.2018
14:08:12
не хотите, не берите :)
я уже кажется писал, что мне пытаются ее насадить со стороны, а я как раз пытаюст понять на сколько этот насаждение обосновано

yopp
26.09.2018
14:08:27
у вас процесс выбора решения сломан

AstraSerg
26.09.2018
14:08:58

yopp
26.09.2018
14:09:32
составьте план запросов, сделайте модельный датасет. выделите критерии оценки, соберите подходящие решения, прогоните план на модельном датасете и оцените по криетериям

AstraSerg
26.09.2018
14:11:09
только, варнинг! В процесс тестирования, можете влюбиться :)

yopp
26.09.2018
14:11:21
обычно наоборот
дергается глаз и теряется вера в человечество ;)

Nick
26.09.2018
14:11:49
с такими требованиями не влюбятся))

Dmitriy
26.09.2018
14:11:49
хороший план, жаль что требует массу времени, которого особо нет

AstraSerg
26.09.2018
14:11:52

yopp
26.09.2018
14:12:44

Dmitriy
26.09.2018
14:13:03
такс последний вопрос, реплика в монге может быть умной, т.е. скажем в процессе репликации изменять ряд данных или фильтровать их или это только через внешние решения?

yopp
26.09.2018
14:13:22
вы путаете репликацию с чем-то ещё

Dmitriy
26.09.2018
14:13:30
нет не путаю

AstraSerg
26.09.2018
14:13:32

Dmitriy
26.09.2018
14:14:22

yopp
26.09.2018
14:16:11
по поводу изменения данных при репликации, нет, монга этого к счастью не умеет
вы скорее всего хотите потоковую обработку данных, но это не репликация

Google

yopp
26.09.2018
14:16:43
потоковую обработку можно сделать, с некоторыми оговорками
есть change streams
а вы, я так понимаю, хотите встроенный в субд ETL

AstraSerg
26.09.2018
14:24:07
обиделся Дмитрий, похоже...

Dmitriy
26.09.2018
14:26:51
нет, вдумчиво читаю что такое change streams)

AstraSerg
26.09.2018
14:28:41

Nick
26.09.2018
14:30:41
серьезно не воспринимать
но есть еще такая срань как кафка с ее кафка стримами и ksql и псевдотабличным представлением, может вам подойдет)

Dmitriy
26.09.2018
14:31:09

yopp
26.09.2018
14:31:46
т.е. реплицируется не хранилище, а документы
это позволяет в том числе иметь смешанные кластеры: разные версии, разные движки хранилища, разные настройки хранилища

Dmitriy
26.09.2018
14:33:03
но не позволяет изменить данные в процессе репликации?
или я не правильно понял вашу мысль выше?

yopp
26.09.2018
14:33:23
если данные в процессе меняются, это уже не репликация

Dmitriy
26.09.2018
14:34:11
прошу прощения за ссылку не в тему чата, но: https://www.postgresql.org/docs/10/static/logical-replication.html
если формально то я говорю сейчас за пункт: "Firing triggers for individual changes as they arrive on the subscriber."

yopp
26.09.2018
14:34:35
да, я понял что вы говорите про этот ужас
но это уже не репликация
потому что если вы поменяете данные, у вас уже не копия данных будет, а новые данные
а зачем вам это надо?

Google

Dmitriy
26.09.2018
14:37:24
ок, я понял, но это уже софистика)
а подскажите пожалуйста еще за change streams, правильно я уловил мысль, что это механиз оповещения о изменение данных в документе?
т.е. условно говоря, приложение 1 записало/изменило данные в документе, в приложение 2 ушел лог изменений по вебсокету (пример взял с потолка, досконально не разбирался пока во всей механике)

yopp
26.09.2018
14:38:15
в монге изменился документ, об этом будут уведомлены все клиенты которые подписались
через протокол монги

Dmitriy
26.09.2018
14:39:39
а зачем вам это надо?
по pci dss данные карты плательщика могут хранится только в дмз, в которое может ходить только сертифицированное (читай не изменяемое или редко изменяемое и с соблюденийм всех регламентов приложение) и из которого не могут отображаться данные в вебе например.
соответственно для того чтобы отобразить эти данные кастомерам надо по минимуму: маскировать номер карты и убрать cvv из базы в которую будет ходить веб

AstraSerg
26.09.2018
14:41:02

yopp
26.09.2018
14:41:20

Nick
26.09.2018
14:41:46
наверное хочет при репликации сразу затирать секурные данные

Dmitriy
26.09.2018
14:42:11

AstraSerg
26.09.2018
14:42:55
точно так
так затирайте перед запись, хоть в браузере

Dmitriy
26.09.2018
14:43:01

AstraSerg
26.09.2018
14:43:46
вот жеж у вас задачки...

yopp
26.09.2018
14:43:47
а что, готовых решений на рынке нет?
с токенизацией и вот этими всеми прелестями?
я с pci dss плохо знаком, но помоему токенизация была отличным способом изолировать процессинг от мира

Dmitriy
26.09.2018
14:44:32
собственно из-за чего и сыр бор возник

Google

Bo0m4ik
26.09.2018
14:47:18
доброго времени суток всем! подскажите пожалуйста: сколько серверов в реплика сете допускается для масштабирования кластера? (версия 3,6)
12 или больше?

yopp
26.09.2018
14:47:52
это когда sensitive authentication data хранится в защищенном изолированном хранилище и покидает его только в сторону шлюзов. всё остальное взаимодействие происходит с использованием случайных токенов

AstraSerg
26.09.2018
14:48:10
точно так
такое не получится таки, ведь реплики в любой момент могут стать мастером, а там данные не полные.

yopp
26.09.2018
14:48:47
точнее так

AstraSerg
26.09.2018
14:48:54
12 или больше?
12 не оптимально. Большие потери на заись. РЕкомендуется 3 максимум 5

yopp
26.09.2018
14:49:01

AstraSerg
26.09.2018
14:49:45

Bo0m4ik
26.09.2018
14:50:04

Dmitriy
26.09.2018
14:50:28

AstraSerg
26.09.2018
14:50:49

yopp
26.09.2018
14:50:52
добавление нод в реплику лучше не считать масштабированием, вы добавляете только read capacity в кластер, при этом write capacity у вас будет равно самой слабой ноде в реплоика сете
добавление нод в реплика сет, это отказоустойчивость и распределение данных по регионам
если вам нужно масштабирование, вам нужны шарды

Bo0m4ik
26.09.2018
14:51:26

yopp
26.09.2018
14:51:35
ничего не является :)

Bo0m4ik
26.09.2018
14:51:53

Dmitriy
26.09.2018
14:51:54
ребят всем большое спасибо за инфу. отдельное спасибо @dd_bb и @AstraSerg. ушел думать!

AstraSerg
26.09.2018
14:52:18

Bo0m4ik
26.09.2018
14:52:30
ничего не является :)
полноценным масштабированием и впрямь сложно назвать такой кластер из-за отставания данных и по вышеуказанным причинам

yopp
26.09.2018
14:52:39