Инструменты, поддерживающие транзакции в реальном времени (не потоковые) - PullRequest
0 голосов
/ 11 марта 2019

Я работаю над системой управления рисками, которая предоставляет API в реальном времени.Входными данными являются действия пользователей, а выходными данными является показатель риска, рассчитываемый по ряду правил.

Пример простого правила: «Если более 10 пользователей входили через один IP-адрес в течение 10 минут, добавляли 10 точек риска». В таком случае мне сначала нужно вставить данные в БД, а затемпосчитать количество пользователей с этого IP.

Благодаря реализации логики с MySQL производительность сильно ограничена.Я обнаружил множество потоковых фреймворков, предоставляющих такую ​​функцию (Streaming SQL), как Flink, Storm, Esper ... Однако все эти фреймворки работают в потоке, что означает, что он не может вернуть ответ на запрос API.

На данный момент у меня есть два вопроса:

  1. На мой взгляд, большинство StreamSQL, скорее всего, с помощью «вставить, а затем выбрать», почему все эти рамки выбирают процесс потоковой передачи?Почему бы не ответить в режиме реального времени?
  2. Существуют ли структуры реального времени, которые предоставляют такую ​​функцию?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...