СУБД с хранением данных по столбцами и по строкам

Детальный анализ производительности строчного хранилища


В этом пункте авторы представляют детальный анализ производительности строчного хранилища, используя в качестве ориентира планы выполнения запроса 2.1 из SSBM, сгенерированные System X (выбран именно этот запрос, потому что он один из немногих, для которых разделение по orderdate не обеспечивает выигрыша, и поэтому он предоставляет более равные возможности для сравнения традиционного подхода с подходом вертикального разделения). Хотя планы для других запросов не анализировались настолько же тщательно, их общая структура является такой же. Вот формулировка этого запроса на языке SQL:

SELECT sum(lo.revenue), d.year, p.brand1 FROM lineorder AS lo, dwdate AS d, part AS p, supplier AS s WHERE lo.orderdate = d.datekey AND lo.partkey = p.partkey AND lo.suppkey = s.suppkey AND p.category = ‘MFGR#12’ AND s.region = ‘AMERICA’ GROUP BY d.year, p.brand1 ORDER BY d.year, p.brand1

Селективность этого запроса равняется 8.0?10-3. Здесь подход с вертикальным разделением работает почти так же хорошо, как и традиционный подход (65 секунд по сравнению с 43 секундами), но подход с использованием только индексов показывает существенно худшие результаты (360 секунд). Причины этого обсуждаются ниже.



Содержание раздела