Существует несколько различных подходов, которые вы используете, зависит от нескольких факторов, включая сложность бизнес-процессов, желаемую степень гибкости и нагрузку.
Простое решение
- «Обновления RSVP» записываются непосредственно в некоторый источник данных во время процесса «RSVP»;этот процесс, по сути, жестко запрограммирован.
- Есть что-то, что считывает RSVP напрямую из любого источника данных / таблицы, в которой они живут.
- Это решение будет хорошо, если нагрузка и объемы данныхчрезмерны.Ключевым моментом является то, что виджет пользовательского интерфейса RSVP в конечном итоге извлекает данные из того же источника данных, в который записываются обновления.
Производительность
Несколько различных опций, основанных на вышеуказанном в качестве отправной точки:
- Храните данные дважды: один раз в таблице «master» (Transactional) данных RSVP и один раз в таблице, созданной для обслуживанияпользовательский интерфейс (в основном OLTP против OLAP ).Вторая таблица будет включать все релевантные данные, чтобы не было поисков в других таблицах, и, поскольку она является независимой копией данных, вы можете управлять ей по-разному, если хотите (например: очистить старые записи, чтобы таблицаразмер остается маленьким).
- Или вместо второй таблицы просто храните все данные в памяти.для этого потребуется извлекать данные из основной таблицы транзакций всякий раз, когда теряется копия в памяти.
Гибкость
- То же, что иоригинальный подход, но вместо жесткого кодирования на этапе, который записывает RSVP (в единый источник данных), используется более слабосвязанный подход, так что вы можете добавлять / изменять / удалять столько обработчиков событий, сколько пожелаете.Один будет записывать данные RSVP в основной источник данных RSVP, а второй будет делать то же самое / аналогичное, но агрегированное готовое для виджета пользовательского интерфейса «Недавние RSVP».
- Внедрение зависимостей даст вам гибкость - конечно, есливы имеете дело с единственной реализацией обработчика событий.
- Публикация / подписка или цепочка ответственности шаблонов могут дать вам основу подхода.
Это та информация, которую вы искали?