DB2 Express-C 10: Продукт стал еще полезнее

Но по-прежнему бесплатен

В ИТ-отрасли шесть лет — это очень много. С учетом этого можно сказать, что продукт IBM® DB2® Express-C существует уже почти целую вечность. Редакция DB2 Express-C, представленная в 2008 г. как бесплатная версия продукта СУБД IBM DB2, быстро приобрела популярность среди администраторов баз данных, разработчиков приложений, студентов и независимых поставщиков программных продуктов. 30 апреля 2012 г. — после шести лет присутствия описываемого продукта на рынке и его бесчисленных обновлений — увидел свет выпуск DB2 Express-C 10, который совершенно бесплатно предоставляется любому желающему для загрузки или для использования в облачной среде. Мы не хотели предлагать этот продукт каким-либо иным способом.

Леон Кацнельсон, директор программы, центр компетенции IM Cloud Computing Center of Competence and Evangelism, IBM

Leon Katsnelson photoЛеон Кацнельсон (Leon Katsnelson) руководит проектами подразделения IBM Information Management в сфере Cloud Computing. В настоящее время он концентрируется на новой области под названием “Большие данные”, преимущественно в контексте облачных вычислений. Л. Кацнельсон возглавляет центр компетенции IM Cloud Computing Center of Competence, квалифицированные, опытные и талантливые сотрудники которого помогают клиентам и партнерам успешно применять в облачной среде различные продукты IBM для управления информацией, в т.ч., DB2, InfoSphere Warehouse, InfoSphere BigInsights, InfoSphere Streams и т.д. Л. Кацнельсон 27 лет работает в области информационных технологий, из них 18 лет на различных должностях, связанных с разработкой DB2 и управлением этим продуктом.



24.10.2012

Как редакция DB2 Express-C избегает превращения в crippleware

В 2012 году никого не удивишь бесплатными версиями коммерческих продуктов. Движение сторонников открытого исходного кода породило обстановку ожидания продуктов, "свободных от оплаты". Многие поставщики программного обеспечения отреагировали на эти ожидания выпуском бесплатных версий своих коммерческих продуктов (по ряду причин юристам не нравится слово "свободный"). Это был непростое решение. В конце концов, если продукт можно получить бесплатно, какой смысл потребителям продолжить платить сотни тысяч или даже миллионы долларов, чтобы приобрести точно такие же продукты?

Чтобы сохранить значительные доходы от существующих продуктов, поставщики обременили свои бесплатные продукты различными ограничениями. Во многих случаях эти ограничения настолько серьезны, что большинство из этих продуктов получило титул "crippleware" (ущербное обеспечение). Характерными примерами этого явления являются бесплатные системы управления базами данных (СУБД) от Oracle и Microsoft. Oracle Express Edition и Microsoft SQL Server Express Edition — это весьма "способные" версии своих коммерческих родственников, и иногда весьма дорогих родственников. Для сохранения своих доходов (поскольку им это необходимо), Oracle и Microsoft наложили на свои бесплатные продукты очень похожие наборы ограничений в таких областях, как использование памяти, процессорная мощность и доступность. Эти ограничения, хотя и неприятны для потребителя, представляют собой сравнительно разумный способ ограничения производительности СУБД без ущерба для ее функциональности. Однако оба поставщика прибегли к строгому ограничению объемов данных, которыми способны управлять их бесплатные СУБД. В частности, продукт Oracle XE имеет ограничение 11 ГБ данных, а продукт Microsoft SQL Server имеет ограничение 10 ГБ.

Отличается ли DB2 Express-C от других бесплатных редакций коммерческих систем управления базами данных?

В продукте DB2 Express-C реализована иная стратегия. Мы считаем, что выбранный нами курс лучше для наших клиентов, хоть он и более рискован для IBM (Если люди не платят за ваш продукт, являются ли они по-прежнему вашими клиентами? Мы считаем, что являются). Эта стратегия предоставляет разработчикам приложений доступ ко всем возможностям DB2, без каких-либо ограничений. При построении приложений на основе DB2 Express-C вы сможете убедиться в доступности каждого программного интерфейса, предлагаемого DB2. Вы также сможете убедиться в том, что код приложения, создаваемый с использованием редакции DB2 Express-C, будет исполняться без каких-либо модификаций с любой другой редакцией продукта DB2 for Linux®, UNIX®, and Windows® и продукта IBM InfoSphere® Warehouse (хранилище данных на основе DB2). Кроме того, в большинстве случаев этот код будет исполняться без изменений с продуктом DB2 for z/OS® и с продуктом DB2 on System i®.

Поскольку DB2 Express-C содержит точно такой же программный код, что и коммерческие редакции продукта DB2 for Linux, UNIX, and Windows, вы можете быть уверены в том, что при работе с платными редакциями DB2 ваше приложение будет вести себя точно так же, как оно это делает при использовании бесплатной редакции DB2 Express-C. Кроме того, в отличие от конкурирующих предложений от Oracle и Microsoft, вы никогда не будете ограничены объемом данных, которыми способен управлять продукт DB2 Express-C. Любой, кто получал сообщение об ошибке ORA-12592 при превышении предельного размера базы данных в 11 ГБ, может подтвердить, насколько разрушительной может оказаться эта ситуация, особенно для вашей репутации у клиентов. В продукте DB2 Express-C не предусмотрено никакого эквивалентного сообщения; DB2 никогда не прекращает работу, если вы превысили некий установленный предел по объему данных. Размеры базы данных, которой способен управлять продукт DB2 Express-C, по существу неограничены. Они ограничены лишь ресурсами, которые вы предоставляете своему серверу DB2 Express-C, и эти ограничения накладываются на производительность, а не на функциональность. Продукт DB2 Express-C не поставит вас в положение, когда ваше приложение прекращает работать вследствие лицензионных ограничений.

Поскольку мы рассматриваем базы данных и ресурсы, необходимо заметить, что серверы DB2 Express-C могут быть физическими или виртуальными. Более того, на одном сервере могут исполняться несколько экземпляров СУБД DB2, при этом каждый из них может иметь до 256 отдельных и различных баз данных DB2. В свою очередь, каждая из этих баз данных способна к дальнейшему разделению данных на схемы — до 32 тысяч схем. Это весьма мощная возможность для СУБД любой ценовой категории, а в секторе "бесплатные СУБД" она вообще не имеет себе равных.

Если продукт DB2 Express-C предлагает столь мощные возможности бесплатно, тогда почему кто-то продолжает платить за такие редакции DB2, как Express Edition, Workgroup Edition, Enterprise Edition и Advanced Enterprise Edition? Производительность системы управления базами данных очень сильно зависит от доступных ей ресурсов памяти и процессорных ресурсов. Кроме того, ценность СУБД непосредственно связана с ее операционной эффективностью, которая, в свою очередь, является следствием передовых функциональных возможностей, доступных администратору баз данных для оптимизации функционирования СУБД. Это два критерия дифференциации для разных редакций DB2.


Ресурсы, доступные для редакции DB2 Express-C

Сначала рассмотрим критерий "ресурсы". Продукт DB2 Express-C может быть развернут на сервере любого размера (физическом или виртуальном) с любым объемом памяти. Другими словами, выбор аппаратных средств сервера для исполнения продукта DB2 Express-C ничем не ограничен. Тем не менее, продукт DB2 Express-C будет сам ограничивать себя, чтобы использовать лишь те ресурсы, которые ему позволено использовать согласно лицензионному соглашению. В частности, DB2 Express-C планирует исполнение задач DB2 на двух процессорных ядрах независимо от того, сколько процессорных ядер имеется на сервере, на котором исполняется этот продукт. Это осуществляется в автоматическом режиме, т.е. на пользователя не возлагается обязанностей по мониторингу и обеспечению соответствия нормативным требованиям. При желании вы можете поменять процессорные ядра, которые будет использовать продукт DB2 Express-C. По умолчанию он использует первые два процессорных ядра, т.е., процессорные ядра с номерами 0 и 1. Это ограничение по процессорной мощности в выпуске DB2 Express-C 10 не изменилось по сравнению с предыдущими выпусками продукта DB2 Express-C.

Другой аспект критерия "ресурсы" — основная (оперативная) память. Предыдущие версии DB2 Express-C сами ограничивали себя и использовали не более 2 ГБ памяти. В выпуске 10 продукта DB2 Express-C максимальный объем памяти удвоен и составляет 4 ГБ. Может возникнуть вопрос, почему мы вдвое увеличили объем доступной для использования памяти, но при этом сохранили количество процессорных ядер таким же, как у предыдущих выпусков. Мы считаем, что память оказывает намного большее влияние на производительность, чем процессорные ресурсы. В частности, мы считаем, что многие рабочие нагрузки нового типа, например, связанные с обработкой текстовых и XML-данных, реально способны использовать дополнительную память.

Завершим обзор критерия "ресурсы" рассмотрением нескольких примеров. Предположим, что у нас есть сервер с архитектурой x64, укомплектованный двумя четырехъядерными процессорами и памятью объемом 64 ГБ. На этом сервере мы сможем развернуть DB2 Express-C без каких-либо опасений о возможном нарушении лицензионных ограничений. Продукт DB2 Express-C будет задействовать лишь два процессорных ядра, оставляя остальные шесть ядер доступными для других рабочих нагрузок, таких как Web-сервер, сервер приложений или сервер текстового поиска (новая нагрузка, которая более подробно будет рассмотрена ниже). Аналогично, продукт DB2 Express-C будет задействовать 4 ГБ памяти, а остальные 60 ГБ будут доступными для других рабочих нагрузок.

Вы наверняка продолжаете задавать себе вопрос, зачем осуществлять модернизацию и переходить на платные редакции DB2. Платные редакции DB2 способны задействовать больше процессорных ресурсов и больше ресурсов памяти. В результате они обеспечивают более высокий уровень производительности. Кроме того, платные редакции DB2 предлагают администраторам баз данных дополнительные функции для оптимизации производительности своих баз данных и для сокращения операционных расходов. Например, платные редакции DB2 предлагают передовые функции сжатия данных, способные радикально уменьшить стоимость хранилища, а также повысить производительность. Если заказчику необходимо управлять очень большими базами данных, то экономия на одной только стоимости хранилища легко окупит стоимость лицензии на DB2.

Другим примером возможностей платных редакций DB2 по сокращению расходов является хранилище с поддержкой функции Multi-Temperature Data Management (новинка в выпуске V10.1). Эта функция позволяет администраторам баз данных размещать часто используемые и важные ("горячие") данные в более быстром хранилище, например, на SSD-накопителях, а справочные или редко используемые ("холодные") данные размещать в более дешевом хранилище. Точно так же, как в ситуации со сжатием, повышение производительности и уменьшение затрат на хранилище способно с избытком возместить стоимость лицензии на DB2.

Еще один пример — MQT-таблицы (materialized query tables). Это фактически заранее просчитанные сложные запросы, способные мгновенно предоставить ответы, на получение которых в противном случае могли бы потребоваться часы машинного времени. Функция концентратора соединений позволяет администратору баз данных обращаться с рабочими нагрузками для десятков тысяч пользователей без выделения серверных ресурсов базы данных каждой из них. Благодаря этому каждый экземпляр базы данных способен обслуживать гораздо большее количество одновременно подключенных пользователей. Эта возможность доступна только в платных редакциях DB2 и не предлагается продуктом DB2 Express-C. Повышенный уровень безопасности — это еще один пример. Опции LBAC (Label-based access control) и RCAC (Row and column access control — новая опция в выпуске V10.1) позволяют администраторам баз данных обеспечивать повышенный уровень безопасности и конфиденциальности данных, не обременяя разработчиков приложений необходимостью реализации соответствующих требований.

Обратите внимание, что все эти функции призваны помочь администраторам баз данных в проектировании более производительных, менее дорогих в использовании и более безопасных сред для баз данных. Это не случайное совпадение, а обдуманная позиция. Как отмечалось выше, продукт DB2 Express-C поддерживает все программные интерфейсы СУБД DB2. Это позволяет приложениям, построенным на основе DB2 Express-C, исполняться на всех редакциях DB2, а также предоставляет администраторам баз данных расширенные функциональные возможности по оптимизации стоимости и производительности этих приложений. Следует также упомянуть, что DB2 Express-C поддерживается сообществом единомышленников, в то время как платные редакции DB2 обеспечиваются технической поддержкой, предоставляемой специалистами IBM по всему миру.


Интерфейсы программирования DB2

Как указывалось выше, DB2 Express-C предоставляет все интерфейсы СУБД DB2, хотя отличается по используемым ресурсам и по операционной функциональности. Теперь пришло время поговорить об этих интерфейсах и об усовершенствованиях, реализованных в выпуске V10. Начнем с одной из самых уникальных функций DB2 — с возможности обработки XML-данных с помощью функции под названием pureXML®.

Еще более быстрая обработка XML-данных

Мы сознательно включили поддержку pureXML в бесплатный продукт DB2 Express-C. Усовершенствования в способе обработки XML-данных, реализованные в выпуске 10, идеально описываются одним словом - "скорость". Обработка XML-данных в DB2 всегда осуществлялась быстро. В выпуске 10 она осуществляется еще быстрее … намного быстрее. Во-первых, в самом в механизме обработки реализованы глубокие усовершенствования, призванные ускорить несколько типов XML-запросов. В частности, запросы с использованием функции XMLTABLE, запросы с предикатами join, нелинейные XQuery-запросы и запросы с parent axis. И что лучше всего — все эти усовершенствования повышают производительность без какого-либо изменения API-интерфейса. Для повышения производительности достаточно осуществить переход на выпуск DB2 Express-C 10 — без какого-либо изменения кода ваших приложений.

Еще один способ ускорения обработки XML-запросов — добавление новых индексов. В выпуске V10 вы можете задавать индексы по XML-данным типа DECIMAL и INTEGER. До появления выпуска DB2 10 вы были ограничены индексами типа DOUBLE, который не поддерживал нативный XML-механизм DB2 со всеми возможностями по достижению максимально доступной производительности. Кроме того, выпуск DB2 10 позволяет задавать индексы по XML-функции FN:UPPER_CASE, что обеспечивает быстрый поиск XML-данных, не чувствительных к регистру. Индексы могут также быть определены по функциям FN:EXISTS, что ускоряет обработку запросов на отыскание определенного элемента в XML-столбце. Как и в предыдущем параграфе, необходимо отметить, что в код приложений не требуется вносить никаких изменений. Для ускорения существующих запросов достаточно задать эти новые индексы

И, наконец, Java-программисты теперь могут воспользоваться более компактным бинарным форматом XDBX для ускорения передачи XML-данных между Java-приложением и сервером DB2 Express-C 10.

Более эффективный текстовый поиск

В СУБД DB2 создание и сопровождение индексов текстового поиска — это задача сервиса текстового поиска, которая иногда может потреблять много ресурсов, в том числе ресурсов сервера DB2 Express-C. Выпуск DB2 10 позволяет осуществлять хостинг сервиса текстового поиска на отдельном сервере, благодаря чему этот сервис получает специально выделенные ресурсы и не мешает выполнению остальной работы СУБД DB2. Пользователи DB2 Express-C получают дополнительную выгоду. Если продукт DB2 Express-C исполняется на сервере с ресурсами, превышающими максимально допустимое потребление DB2 Express-C (2 процессорных ядра и 4 ГБ памяти), вы можете использовать эти дополнительные ресурсы для сервиса текстового поиска.

Помимо повышения эффективности текстового поиска продукт DB2 Express-C 10 поддерживает поиск на основе нечеткой логики (fuzzy search), а так же поиск "с зазором" (proximity search). Поиск на основе нечеткой логики позволяет находить подобный текст (представьте себе функцию типа автозаполнения строки Google Suggests), а поиск "с зазором" позволяет накладывать ограничения на расстояние между искомыми строками. В отличие от других, описанных выше функций, данные функции поиска требуют внесения в запросы небольших изменений.

RDF: новая возможность для DB2 Express-C

Под влиянием бурного роста популярности Интернета и быстрого распространения Web-ресурсов многие люди осознали необходимость связной инфраструктуры для управления метаданными в этом обширном массиве ресурсов. Например, простая Web-страница может иметь название, автора, даты создания/модификации и атрибутирующие данные. Вся эта информация может представлять значительную ценность, если бы машины смогли искать и обнаруживать ресурсы в сети. Способность компьютеров использовать такие метаданные для понимания информации о Web-ресурсах лежит в основе концепции Semantic Web.

RDF (Resource Description Framework) — это стандарт организации W3C для описания Web-ресурсов. RDF описывает Web-ресурсы в форме "субъект-предикат-объект", например, "Леон является канадцем" или "Леон знает Пола". Информационные объекты этого типа, представленные в форме "субъект-предикат-объект", называются тройками triple и хранятся в специализированных базах данных (triplestore). Продукт DB2 Express-C 10 способен функционировать в качестве нативного triplestore-хранилища, что позволяет хранить RDF-данные в DB2 Express-C и, соответственно, обращаться к ним с запросами. RDF — это весьма интересный формат данных для представления таких отношений, как социальный граф (подумайте о социальных сетях, например о Facebook и Twitter). Характерным примером использования RDF-данных является проект FOAF (Friend of a friend), направленный на создание машиночитаемой информации, которая описывала бы людей и связи между ними.

Функция Time travel — путешествие во времени по истории изменения данных

Сегодня существует более сильный, чем когда-либо прежде, интерес к управлению временем как одним из измерений данных. Эта потребность обуславливается несколькими бизнес-факторами. Один из таких факторов — необходимость обязательного соблюдения различных государственных и отраслевых нормативов. Многие из таких нормативов обязывают сохранять полную историю изменений данных. Многие нормативы обязывают отвечать на запросы о состоянии бизнеса и различных данных в определенные моменты времени. Многие организации нуждаются в возможностях для того, чтобы запрашивать и обновлять периоды действительности и достоверности данных для своих операций.

В выпуске DB2 Express-C 10 реализована функция для управления данными во времени под названием DB2 Time Travel Query, которая максимально упрощает процесс фиксации изменений данных во времени или процесс установления периодов действительности и валидности данных — для этого достаточно всего нескольких SQL-операторов. Ранее для реализации таких возможностей потребовалось бы создание триггеров базы данных и реализации весьма сложной логики приложений. Новая функция Time Travel Query существенно упрощает этот процесс. Наши измерения показали, что функция DB2 Time Travel Query способна сократить трудозатраты в 45 раз. Весьма неплохо для бесплатного продукта.

Прочитайте статью, которая представляет собой подробное введение в управление данными во времени и в функцию Time Travel Query: A matter of time: Temporal data management in DB2 10 (Фактор времени: управление данными во времени в продукте DB2 10).

Совместимость с продуктами Oracle

Описание новых возможностей программирования было бы неполным без хотя бы минимального упоминания о функциях совместимости DB2 Express-C 10 с продуктами Oracle. Хотя совместимость с продуктами Oracle была реализована уже в выпуске DB2 Express-C V9.7.5, многие получат свой первый опыт работы с этими функциями в выпуске 10 продукта DB2 Express-C. Кроме того, в выпуске 10 мы дополнительно улучшили совместимость с Oracle, чтобы расширить круг приложений для Oracle, способных легко исполняться в среде DB2 с минимальными изменениями. Недавние исследования показали, что примерно 98% прикладного кода, написанного для Oracle, можно оставить без изменения, при этом приложения смогут работать с продуктом DB2 Express-C. Мы не собираемся сейчас подробно описывать все функции DB2, обеспечивающие совместимость с Oracle, поскольку по этой теме имеется множество доступной информации, например следующая статья: DB2 10: Run Oracle applications on DB2 10 for Linux, UNIX, and Windows (DB2 10: Исполнение приложений Oracle в среде СУБД DB2 10 for Linux, UNIX, and Windows).


Пришло время приступить к практической работе с продуктом DB2 Express-C 10

Итак, вы ознакомились со всеми полезными возможностями, которые предоставляет продукт DB2 Express-C 10, и, что удивительно, совершенно бесплатно. Кроме того, мы существенно облегчили начало работы с DB2 Express-C v10. Этот продукт доступен для загрузки по адресу: ibm.com/db2/express. Кроме того, вы можете менее чем за 30 минут получить свой собственный сервер DB2 Express-C, работающий в облачной среде: http://bit.ly/Iv8837. Вы всегда можете рассчитывать на новые бесплатные курсы на ресурсе: DB2University.com, а также на неиссякаемый поток статей и руководств по новым функциям выпуска DB2 10. Пришло время переходить к действиям и опробовать продукт DB2 Express-C 10 на практике.

Ресурсы

Научиться

Получить продукты и технологии

  • Загрузите редакцию DB2 Express-C прямо сегодня и опробуйте ее сами.

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Information Management
ArticleID=842510
ArticleTitle=DB2 Express-C 10: Продукт стал еще полезнее
publish-date=10242012