Как хранить / извлекать большие объемы данных в XPages?

В настоящее время мы работаем над решением, в котором мы хотим отслеживать (для анализа) статьи, на которые пользователь нажимает / открывает, и "лайки" из заданного списка статей. Впоследствии пользователь должен иметь возможность просмотреть и повторно щелкнуть / открыть статью (поиск не требуется) в разделе в его / ее личном профиле пользователя. Где-то около 100 новых статей публикуются каждый день. Увеличение (!) Количества ежедневных посетителей (пользователей) составляет около 2000 в день. Статьи в настоящее время хранятся и хранятся в базе данных MySQL.

Мы могли бы создать новую запись в MySQL Db для каждой прочитанной / "понравившейся" статьи. "В худшем случае" это создаст (2500 * 100 =) 250000 записей в день. Конечно, это не продлится долго… Так как бы вы хранили (обрабатывали) это в XPages, учитывая сценарий?

Мои мысли после прочтения "статьи":) о MIME/Bean's: как насчет того, чтобы хранить "read articleObjects" в области видимости и (периодически) сохранять / сохранять их как MIME в документе профиля пользователя? Это создает только 100 articleObjects в день (или 36500 в год). Кроме того, можно создать механизм, с помощью которого articleObjects с течением времени перемещается из одного поля в другое, поэтому активная область будет содержать только "read articleObjects" с прошлого месяца или около того.

1 ответ

Я бы сказал, что это именно то, для чего нужна реляционная база данных. Мой первый подход заключается в том, чтобы иметь управляемый компонент (область сеанса) для чтения / доступа к данным пользователя в MySQL (JDBC). Если вы хотите, вы можете создать внутренний кеш внутри компонента.

Для представленного варианта использования я не стал бы беспокоиться об источниках данных JDBC в ExtLib. Возможно, даже функции @Jdbc будет достаточно.

Кроме того, вы не сказали, как вы делаете анализ? Если вы храните информацию в Domino, вам, вероятно, придется написать инструмент экспорта.

Другие вопросы по тегам