Как писать данные из триггера Oracle в memcache?

Задача: после обновления записи в таблице Oracle, эту запись надо скопировать в memcache. Как можно (и можно ли вообще) подключиться к серверу memcache из Oracle?
  • Вопрос задан
  • 2899 просмотров
Пригласить эксперта
Ответы на вопрос 4
@gelas
С одной стороны, как мне помнится, там есть пакет по работе с TCP, а у memcached есть текстовый протокол.

С другой стороны есть Java Stored Procedures

Но с третьей стороны memcached, видимо используется для кеширования, там почему бы не кешировать специфические данные, которые нужны именно приложениям, а не результаты запросов из базы еще и использовать их из разных приложений, вероятно поддерживать стало бы проще.
Ответ написан
@rPman
начните работу с этой кнопки ;)
www.datadisk.co.uk/html_docs/oracle/external_procedures.htm

p.s. настоятельно рекомендую еще раз продумать архитектуру вашего приложения… что то грустное у вас получается, а как станет грустно тем кто будет ваше приложение поддерживать в будущем.
Ответ написан
Комментировать
@egorinsk
Разве не логичнее делать это в коде приложения?

Хотя, я чувствую, у вас там и так нескучный код.
Ответ написан
@bugman
+1 к «попробовать имеющиеся у оракла средства оптимизации»:

— в приложении не создавать / дестроить коннект каждый раз а держать его постоянным, препейрить запросы, переменные биндить
— запустить AWR в модной веб-консольке Oracle Enterprise Manager, посмотреть что найдет
— поднять SGA, увеличить буффер кеш
— убедиться что соблюдены элементарные правила разделения датафайлов, редулогов, архивлогов по дискам и нет даунгрейда со стороны дисковой подсистемы, системных и оракловых джобов
— собрать статистику, посмотреть на фрагментацию (chained rows), помониторить сами запросы, посмотреть планы -> возможно что-то еще можно разогнать
— материализовать тяжелые запросики, из наиболее частоджоинящихся табличек сделать кластеры

Мне представляется, если у вас есть некий дополнительный свободный ресурс (ram, cpu) которое вы собираетесь отдать стороннему кеширующему решению, может сначала попытаться добавить тот же ресурс серверу бд + немного тюнинга?
Я просто боюсь, что любая самопальная схема инвалидации кеша, живущая на триггерах on every row будет создавать больше задержек -> несогласованность данных при чтении из кеша
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы