«BLU дает важные преимущества при решении задач, связанных с аналитикой и формированием отчетов», — утверждает Тим Винсент, директор по технологиям IBM по программному обеспечению для управления информацией.
В состав BLU входят созданные в IBM Research технологии столбцовой обработки, дедупликации, параллельной векторной обработки и компрессии данных.
По словам Винсента, главное назначение BLU — обеспечить «оптимизацию баз для размещения в оперативной памяти».
«Система выполняет обработку в памяти, но туда не обязательно помещать сразу все данные», — отметил он. BLU также устраняет необходимость вручную оптимизировать SQL-запросы для повышения скорости их выполнения.
За счет BLU новая версия СУБД ускоряет анализ данных в 25 раз и больше, заявляют в IBM. Благодаря усовершенствованиям DB2 при возникновении потребности в оперативном анализе данных и обработке транзакций можно не покупать отдельную СУБД, выполняющую обработку в памяти, например Oracle TimesTen. «И вам не нужно будет специально подгонять размер вашей СУБД так, чтобы она целиком помещалась в памяти», — подчеркивает Винсент.
По его утверждению, 32-ядерная система благодаря технологиям BLU способна выполнить запрос к набору данных на 10 Тбайт меньше чем за секунду.
«Из этих 10 Тбайт в повседневной работе вы можете пользоваться, вероятно, только четвертью, — поясняет Винсент. — Поэтому и в памяти вам нужно держать лишь эти 25%. Сегодня купить сервер с терабайтом оперативной памяти и твердотельными накопителями на 5 Тбайт можно меньше чем за 35 тыс. долл.».
Кроме того, благодаря использованию DB2 вместо хранилища данных можно будет сэкономить: специалистов по последним меньше, чем по администрированию СУБД, и им приходится больше платить. В некоторых случаях DB2 даже можно применять как более простую в сопровождении альтернативу платформе Hadoop, уверен Винсент.
В числе новых технологий DB2 10.5 — алгоритм компрессии, сохраняющий данные таким образом, что перед считыванием не всегда нужно выполнять декомпрессию. Как объясняет Винсент, данные сжимаются в том же порядке, что и сохраняются, а потому операции с предикатами, например SELECT... WHERE, могут выполняться без предварительной декомпрессии набора данных.
Еще один «трюк» для экономии времени: система хранит таблицу метаданных, в которой перечислены высшее и низшее значения ключей для каждой страницы или каждого столбца. При исполнении запроса это позволяет системе быстро проверить, нет ли каких-то из отыскиваемых значений на конкретной странице.
«Если страницы нет в памяти, то ее не обязательно туда считывать, — продолжает Винсент. — А если она в памяти, то не нужно пропускать ее целиком через шину данных на процессор и расходовать такты на анализ всех значений. Таким образом, обеспечивается высокая эффективность использования процессора и пропускной способности».
Поддержка столбцовой обработки позволяет извлекать по запросу из таблицы только выбранные столбцы, а не сразу все строки и за счет этого экономить память. «Мы разработали алгоритм, весьма эффективно определяющий, какие столбцы или их диапазоны не нужно кэшировать в памяти», — отметил Винсент.
В СУБД также поддерживается параллелизм уровня данных — когда одна и та же операция одновременно выполняется множеством процессоров над множеством элементов данных. Векторная параллельная обработка реализуется с использованием расширения команд SIMD, имеющегося у процессоров Intel и PowerPC. За счет этого DB2 может выполнить один запрос сразу к такому количеству столбцов, какое система способна поместить в регистровый файл. «Регистры процессора — это память с самой высокой скоростью доступа», — пояснил Винсент.
IBM не единственная, кто ищет оптимальные способы размещения обширных баз данных в оперативной памяти серверов. Совсем недавно Microsoft объявила, что в SQL Server 2014 появится набор технологий Hekaton, обеспечивающих максимальное использование рабочей памяти, а также механизм столбцовой обработки, позаимствованный из службы Excel PowerPivot.
По мнению Курта Монаша, аналитика Monash Research, теперь, с выходом DB2 10.5, «единственным крупным поставщиком СУБД без настоящего столбцового хранилища осталась только Oracle».
В IBM технологии BLU используют в качестве одного из краеугольных камней инфраструктуры, в виде сервиса DB2 SmartCloud, повышающего скорость выполнения задач, связанных с аналитикой и формированием отчетов. Возможно, средства BLU будут встроены и в другие продукты IBM для хранения и анализа данных, например в СУБД Informix.