A
Akupaka
Всем привет!
Имеется приложение с большим объемом данных. Данные условно группируются по годам. Необходимо оптимизировать представления, чтобы быстрее работали, занимали меньше места.
На данный момент, за Н-лет, в базе имеется около 3 млн документов. Прирост около 700-900 тыс в год. Сейчас в представлениях отображены все имеющиеся данные.
Наиболее оптимальным вариантом оптимизации представлений принято разделить данные по годам, а именно, в оперативных представлениях отображать данные по текущему году, а какой-то отдельный вид - все года.
Было рассмотрено несколько вариантов, наиболее привлекательным мне кажется использовать @TextToTime("Today").
Формула отбора периода в общем случае примет вид: @Year(docdate) = @Year(@TextToTime("Today")).
По проведенным исследованиям, замечена одна проблема - вид необходимо принудительно перестроить в случае изменения года, иначе год "не меняется".
Зато все остальные операции, похоже, срабатвают интереснее в сравнении с представлением без такого фильтра: индекс значительно меньше, обновление индекса при изменении док-тов быстрее, построение индекса с нуля быстрее.
Но меня волнует не упустил ли я чего? Если кто имеет что-то интересное сказать, прошу не стесняться
К стати, сильно волнует вопрос о перестроении индексов на локальных репликах. Если кому известно готовое решение, буду благодарен.
Имеется приложение с большим объемом данных. Данные условно группируются по годам. Необходимо оптимизировать представления, чтобы быстрее работали, занимали меньше места.
На данный момент, за Н-лет, в базе имеется около 3 млн документов. Прирост около 700-900 тыс в год. Сейчас в представлениях отображены все имеющиеся данные.
Наиболее оптимальным вариантом оптимизации представлений принято разделить данные по годам, а именно, в оперативных представлениях отображать данные по текущему году, а какой-то отдельный вид - все года.
Было рассмотрено несколько вариантов, наиболее привлекательным мне кажется использовать @TextToTime("Today").
Формула отбора периода в общем случае примет вид: @Year(docdate) = @Year(@TextToTime("Today")).
По проведенным исследованиям, замечена одна проблема - вид необходимо принудительно перестроить в случае изменения года, иначе год "не меняется".
Зато все остальные операции, похоже, срабатвают интереснее в сравнении с представлением без такого фильтра: индекс значительно меньше, обновление индекса при изменении док-тов быстрее, построение индекса с нуля быстрее.
Но меня волнует не упустил ли я чего? Если кто имеет что-то интересное сказать, прошу не стесняться

К стати, сильно волнует вопрос о перестроении индексов на локальных репликах. Если кому известно готовое решение, буду благодарен.