Что ж, если вы используете серверный Java-объект в ORA (и они могут выполнять вызовы REST, по крайней мере, если не в сокете io (не знаю)), тогда вы можете вызывать Redis из своих хранимых процедур в Oracle.
[править]
Следует добавить, что если вы можете устанавливать сокет-соединения, просто включите JRedis jar в библиотеку вашего сервера Oracle, чтобы объект на стороне сервера мог создавать клиентов.
Если это невозможно - я бы серьезно задал вопрос о БД, которая позволяет SProcs и триггерам открывать общие TCP-соединения, - тогда вы остаетесь с потреблением веб-сервисов.
JRedis не поддерживает веб-сервисы, ноничто не мешает вам обернуть JRedis и выставить любую нужную вам команду в качестве ресурса RESTFul.Итак, здесь вы должны запустить Redis на сервере R, веб-сервере java (Jetty / Jettison подойдет), запустив JRedis на сервере R или R`.Поскольку Redis является однопоточным, вполне нормально запускать его на той же многоядерной машине, что и JVM;это просто вопрос ресурсов, и если их достаточно, тогда вы используете петлю на соединении между Redis и JRedis, и это гарантированно будет быстрее, чем обход сетевых границ!Но если требуемые нагрузки исключают совместное размещение Redis и JRedis (прокси-сервер), используйте второй сервер.
И, конечно, вы запускаете свою БД на сервере D. Так что D <=> R` <=> R. Конечно, вы будете оплачивать затраты времени второго прыжка.