Сжатие данных
Мы обнаружили, что существенный выигрыш в производительности обеспечивает включение в СУБД опции сжатия данных. Результаты тестовых испытаний показывают, что при использовании сжатия данных производительность Vertica и СУБД-X увеличивается в 2-4 раза. С другой стороны, при использовании сжатия входных данных Hadoop часто работает даже медленнее, чем без сжатия. В лучшем случае, за счет сжатия данных производительность Hadoop повышалась на 15%. Следует заметить, что в тестовых испытаниях Дина и Гемавата сжатие данных не использовалось.
Нам непонятно, почему эффект сжатия данных в Hadoop оказался таким незначительным. Практически во всех коммерческих хранилищах данных, основанных на SQL, сжатие данных применяется для повышения производительности. По-видимому, это связано с тем, что алгоритмы сжатия, применяемые в коммерческих СУБД, тщательно настраиваются, чтобы расходы на распаковку кортежей не перевешивали выигрыш от уменьшения объема обменов с дисками при чтении сжатых данных. Например, мы установили, что на современных процессорах стандатные Unix-реализации алгоритмов gzip и bzip оказываются слишком медленными, чтобы принести какую-то выгоду.