В новой версии DB2 появился ряд технологий повышения быстродействия под общим названием BLU (расшифровывается как Big data, Lightening fast, Ultra easy), которые позволили в этой СУБД, одной из старейших, реализовать возможность анализа данных в оперативной памяти.

BLU

ГЛАВНОЕ НАЗНАЧЕНИЕ BLU — обеспечить оптимизацию баз для размещения в оперативной памяти
Источник: IBM

«BLU дает важные преимущества при решении задач, связанных с аналитикой и формированием отчетов», — утверждает Тим Винсент, директор по технологиям IBM по программному обеспечению для управления информацией.

В состав BLU входят созданные в IBM Research технологии столбцовой обработки, дедупликации, параллельной векторной обработки и компрессии данных.

«Система выполняет обработку в памяти, но туда не обязательно помещать сразу все данные», — отметил Винсент. BLU также устраняет необходимость вручную оптимизировать SQL-запросы для повышения скорости их выполнения.

За счет BLU новая версия СУБД ускоряет анализ данных в 25 раз и больше, заявляют в IBM. Благодаря усовершенствованиям DB2 при возникновении потребности в оперативном анализе данных и обработке транзакций можно не покупать отдельную СУБД, выполняющую обработку в памяти, например Oracle TimesTen. «И вам не нужно будет специально подгонять размер вашей СУБД так, чтобы она целиком помещалась в памяти», — подчеркивает Винсент.

По его утверждению, 32-ядерная система благодаря технологиям BLU способна выполнить запрос к набору данных на 10 Тбайт меньше чем за секунду. «Из этих 10 Тбайт в повседневной работе вы можете пользоваться, вероятно, только четвертью, — поясняет Винсент. — Поэтому и в памяти вам нужно держать лишь эти 25%. Сегодня купить сервер с терабайтом оперативной памяти и твердотельными накопителями на 5 Тбайт можно меньше чем за 35 тыс. долл.».

Кроме того, благодаря использованию DB2 вместо хранилища данных можно будет сэкономить: специалистов по последним меньше, чем по администрированию СУБД, и им приходится больше платить. В некоторых случаях DB2 даже можно применять как более простую в сопровождении альтернативу платформе Hadoop, уверен Винсент.

«Если страницы нет в памяти, то ее не обязательно туда считывать, — продолжает Винсент. — А если она в памяти, то не нужно пропускать ее целиком через шину данных на процессор и расходовать такты на анализ всех значений. Таким образом, обеспечивается высокая эффективность использования процессора и пропускной способности».

Поддержка столбцовой обработки позволяет извлекать по запросу из таблицы только выбранные столбцы, а не сразу все строки и за счет этого экономить память.

В СУБД также поддерживается параллелизм уровня данных — когда одна и та же операция одновременно выполняется множеством процессоров над множеством элементов данных. Векторная параллельная обработка реализуется с использованием расширения команд SIMD, имеющегося у процессоров Intel и PowerPC. За счет этого DB2 может выполнить один запрос сразу к такому количеству столбцов, какое система способна поместить в регистровый файл. «Регистры процессора — это память с самой высокой скоростью доступа», — пояснил Винсент.

IBM не единственная, кто ищет оптимальные способы размещения обширных баз данных в оперативной памяти серверов. Совсем недавно Microsoft объявила, что в SQL Server 2014 появится набор технологий Hekaton, обеспечивающих максимальное использование рабочей памяти, а также механизм столбцовой обработки, позаимствованный из службы Excel PowerPivot.

В IBM технологии BLU используют в качестве одного из краеугольных камней инфраструктуры, в виде сервиса DB2 SmartCloud, повышающего скорость выполнения задач, связанных с аналитикой и формированием отчетов. Возможно, средства BLU будут встроены и в другие продукты IBM для хранения и анализа данных, например в СУБД Informix.