MarkLogic - альтернативы использованию триггеров - PullRequest
0 голосов
/ 27 декабря 2018

MarkLogic версия: 9.0-6.2

У нас есть коллекция клиентов и API PUT / POST в реальном времени, который обновляет каждый документ клиента.

Исходя из требования, когда телефонный номер клиента обновляется, нам иногда приходится обновлять документы других связанных клиентов.Для лучшего времени отклика API PUT / POST мы хотим обновить документ, в который было внесено изменение, и вернуть ответ об успешном обращении к вызывающей стороне, а затем обновить все другие затронутые документы клиента.Наша первая мысль - использовать триггеры, но исходя из реляционных / РСУБД, мы ищем какие-нибудь лучшие альтернативы для достижения того же.Есть ли альтернативы использованию триггеров?

Заранее спасибо!

1 Ответ

0 голосов
/ 27 декабря 2018

Если у вас есть собственный код, который обрабатывает PUT / POST, или если вы можете его декорировать (например, используя преобразования REST, если вы используете встроенный REST-api), вы, вероятно, можете расширить / декорировать обработкучтобы включить все, что нужно сделать.

Триггеры, однако, хороший способ решить эту проблему.По сути, они бывают двух видов:

  • pre-commit
  • post-commit

Предварительная фиксация заставляет запрос ждать запускаемый кодчтобы полностью завершить.

Пост-фиксация приводит к появлению кода триггера в очереди сервера задач, поэтому для его завершения может потребоваться больше времени, что не вызовет задержку для вызывающего.

две платформы, которые строятся поверх триггеров:

В зависимости отколичество или вид работ, которые необходимо выполнить, они могут быть потенциально интересны для вас.CPF очень хорош в выполнении многих этапов обработки очень надежным, но медленным способом.

Оповещение объединяет функцию обратного запроса MarkLogic, чтобы решить, следует ли и какие правила оповещения (к какому коду действия можно присоединить) следуетприменятьсяОчень полезно, если вы хотите отслеживать входящие сообщения, например, по определенным ключевым словам.

HTH!

...