Я ищу лучшие решения, чем у меня, для конкретной архитектуры.
Сейчас у нас есть одна огромная пользовательская таблица в Oracle (около 30 миллионов строк и растет), которая обновляется существующейсервис, который добавляет / удаляет строки каждый день, всего около 10 тыс. строк в день.
Мы должны создать новый сервис, который должен будет выбирать ВСЕХ пользователей, делать некоторую статистику по нему и распечатывать отчет. Я не могу сделать этот отчет в базе данных, так как некоторая дополнительная информация поступит от других микросервисов.
Конечно, запрос занимает много времени, и мы также должны сделать его в пакетном режиме, так как наш новый сервис не будетвозможность обрабатывать все это в памяти.
Так что я думал о создании кэша в памяти (Redis или что-то еще) для этой таблицы, используя стратегию Read-Through, время чтения будет уменьшено, но затемЯ боюсь, что со временем эта база данных вырастет, и через пару месяцев у нас закончится память.
Еще одна идея: мы могли бы попытаться масштабировать наш Oracle, чтобы увеличить количество экземпляров чтения, а затем многопоточное множествозапросы с определенными диапазонами.
Какие еще варианты у меня есть в этом сценарии?
Заранее спасибо!