@MongoDBRussian

Страница 313 из 342
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
вероятно вам нужен какой-то многомерный olap
не совсем, если бы мне нужен был олап, то я бы не спрашивал за монгу, у которой в помине нет этого. а брал бы пг у которого есть такие решения)

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;

наоборот же
да, вы совершенно правы, я монгу как раз не хочу

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

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

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
хороший план, жаль что требует массу времени, которого особо нет
Думаю, вы не найдёте веских причин ни "за", ни "против". Единственное существенное обоснование может появиться в результате тестирование, как говорит yopp.

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)

а вы, я так понимаю, хотите встроенный в субд ETL
не совсем, я хочу скорее логическую репликацию

AstraSerg
26.09.2018
14:28:41
нет, вдумчиво читаю что такое change streams)
ну если вкратце, это есть у всех БД, подписка на поток изменений, то есть приложение может видеть op(erations)log

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

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
прошу прощения за ссылку не в тему чата, но: https://www.postgresql.org/docs/10/static/logical-replication.html если формально то я говорю сейчас за пункт: "Firing triggers for individual changes as they arrive on the subscriber."
Теоретически такое можно сделать: приложение слушает change stream; вносит изменения при необходимости; записывает данные в другой инстанс монги или другое место

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
Теоретически такое можно сделать: приложение слушает change stream; вносит изменения при необходимости; записывает данные в другой инстанс монги или другое место
да, но это еще одно приложение, которое даст таймаут на обработке + которое надо дополнительно сертифицировать (читай платить деньги)

так затирайте перед запись, хоть в браузере
нельзя, потом не сделать ребил и упрощенный платеж

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
точно так
такое не получится таки, ведь реплики в любой момент могут стать мастером, а там данные не полные.

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

AstraSerg
26.09.2018
14:49:45
Bo0m4ik
26.09.2018
14:50:04
Dmitriy
26.09.2018
14:50:28
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
спасибо, исчерпывающе
то что можно называть масштабированием достигается с помощью шардирования

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