Какое общее название этого метода использует CouchDB для индексации агрегированных данных - PullRequest
3 голосов
/ 04 марта 2011

CouchDB использует классный шаблон , который можно использовать во множестве других сценариев.Я говорю о сохраняющемся индексе B-дерева карты / уменьшить результаты.Идея состоит в том, чтобы предварительно рассчитать агрегированные данные и сохранить их на разных уровнях индекса B-дерева.Затем индекс можно использовать для эффективного запроса агрегата без необходимости повторной агрегации всех данных.Затем, если изменяется какое-либо значение на уровне листа, необходимо пересчитать только восходящий путь через дерево.

Например, если данные представляют собой цену со временем, в индексе могут храниться СУММА и СЧЕТ элементов.на уровне дня, месяца и года.Затем, если кто-то захочет запросить среднюю цену с начала года, все, что вам нужно было сделать, это сложить все суммы SUM и COUNT за все полные месяцы с начала года плюс все дни, доступные за последний месяц, а затем разделить общую сумму SUM.по общему количествуЕсли цена за прошлый период должна измениться, это изменение должно распространиться по индексу, но должны обновляться только значения соответствующего дня, месяца и года, и даже тогда значения для других дней и других месяцев в году можно использовать повторно длярасчет.

Каково общее название этого подхода?Есть ли что-нибудь подобное в любой популярной РСУБД?Есть ли опыт использования этого на практике?

1 Ответ

5 голосов
/ 05 марта 2011

Материализованный вид

"Материализованное представление - это объект базы данных, который содержит результаты запроса. Они являются локальными копиями данных, расположенными удаленно, или используются для создания сводных таблиц на основе совокупностей данных таблицы. Материализованные представления, в которых хранятся данные на основе на удаленных таблицах также называются снимками. "

Это из статьи в Википедии, в которой в основном обсуждается хранение результатов в контексте СУБД.

Лично я предпочитаю термин " индексированное представление ". Я действительно нашел эту статью в Википедии, выполнив поиск "индексированное представление" в Google .

...