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

Производительность C-Store


Беглый взгляд на среднее время выполнения запросов SSBM (около 4 секунд) в C-Store сразу позволяет понять, что эта система работает быстрее не только колоночных хранилищ, моделируемых в строчном хранилище (от 80 до 220 секунд), то также и наилучших для строчного хранилища сценариев, когда запросы известны заранее, и в строчном хранилище созданы материализованные представления, подогнанные под планы выполнения запросов (10.2 секунд). Эту разницу в производительности можно частично объяснить безо всяких экспериментов – в колоночных хранилищах отсутствуют покортежные накладные расходы, и не требуются соединения столбцов (это более подробно объясняется в п. 6.3.1). Однако это наблюдение не объясняет причину того, что колоночное хранилище оказывается быстрее варианта с материализованными представлениями (случая CS Row-MV из подраздела 6.1), в котором имеется аналогичный объем ввода-вывода, и в обеих системах не требуется соединение столбцов одной и той же таблицы. Чтобы понять, откуда взялась эта разница в производительности, авторы выполнили ряд дополнительных экспериментов с использованием колоночного хранилища, из которого последовательно удалялись специфические для этой организации оптимизации до тех пор, пока колоночное хранилище не начало моделировать строчное хранилище. Таким образом, удалось исследовать влияние этих разнообразных оптимизаций на эффективность обработки запросов. Эти результаты представлены в п. 6.3.2.



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