Разработчики: | IBM |
Дата последнего релиза: | июнь 2019 г |
Технологии: | СУБД |
Содержание |
DB2 (в русском языке произносится «диби́ два», также распространена калька с английского «диби́ ту») — семейство программных продуктов в области управления информацией компании IBM. Чаще всего, ссылаясь на DB2, имеют в виду реляционную систему управления базами данных DB2 Universal Database (DB2 UDB), разрабатываемую и выпускаемую компанией IBM.
Несмотря на благожелательное отношение к операционной системе Linux, которая распространяется под лицензией с открытым исходным кодом, корпорация IBM пока не планирует открывать коды своей СУБД DB2. Об этом заявил директор центра IBM Linux Technology Джим Васко на прошедшей (апрель 2011 года) в Сан-Франциско ежегодной конференции Linux Foundation Collaboration Summit. Внутри IBM идет постоянная борьба между представителями разных подразделений, пояснил Васко[1]. В одних случаях выбор в пользу Linux или Windows означает снижение доходов от продаж программного обеспечения, но рост доходов от услуг, а в других случаях речь может идти о доходах от продажи оборудования. Приходится искать оптимальное решение, заключил он. Переход под контроль Oracle пакетов с открытым кодом, разрабатывавшихся в Sun Microsystems, создал определенные проблемы для IBM, сообщил Васко. Oracle пытается убедить клиентов обменять оборудование IBM на ее собственные серверы Exadata и СУБД Oracle. В 2011 году директор Linux Foundation Джим Землин ожидает развития на базе Linux специализированных высокопроизводительных систем наподобие IBM Watson и готовых устройств, требующих минимальной настройки.
Реализации
СУБД DB2 представлена версиями на следующих платформах:
- DB2 for Linux, UNIX and Windows v9 для платформ AIX, HP-UX, Linux, Solaris, Windows и бета-версия для платформы Mac OS X
- DB2 for z/OS v9 для платформ z/OS и OS/390
- DB2 Server for VSE & VM v7 для платформ z/VM и z/VSE
- DB2 for i для платформы IBM i (встроена в систему на аппаратно-программном уровне)
В прошлом выпускались версии сервера СУБД DB2 для OS/2, UnixWare, PTX.
Клиенты СУБД DB2, помимо перечисленных платформ, выпускаются или выпускались в различных версиях также для SINIX, IRIX, классической Mac OS и для MS-DOS, а также в мобильной версии DB2 Everyplace для Windows CE, Palm OS, Symbian OS, Neutrino и виртуальной машины Java.TAdviser выпустил Гид по российским операционным системам
В настоящее время, помимо коммерческих продуктов семейства, IBM распространяет также бесплатный дистрибутив DB2 Express-C для платформ Linux (x86, x86-64, POWER), Windows (x86, x86-64), Solaris (x86-64), Mac OS X (x86-64 beta).[1] Бесплатная версия имеет ограничения на использование для работы СУБД не более одного двухъядерного процессора и 2 Гбайт оперативной памяти (общее количество процессоров и памяти в системе может быть любым, но ресурсы сверх указанных ограничений не будут использоваться СУБД).
2019: Добавление искусственного интеллекта
В начале июня 2019 года IBM объявила о добавлении искусственного интеллекта в свою реляционную СУБД DB2, первая версия которой была выпущена 36 годами ранее.
Обновлённая СУБД поддерживает разработку приложений для интеллектуальной обработки данных с помощью новых драйверов, в которых реализована совместимость с различными языками программирования и платформами. В IBM говорят, что разработчики могут легко строить и анализировать модели машинного обучения для приложений, созданных с использованием DB2. Предполагается, что такие программы будут более надёжными, требовать меньшего объёма ресурсов для управления и способствовать увеличению производительности.
Поддерживаемые языки — Go, Ruby, Python, PHP, Java, Node.js и Sequelize. Кроме того, DB2 также поддерживает инструмент для создания аналитических отчетов Jupyter Notebook и Visual Studio Code.
Старший администратор базы данных в Micro Focus Прасун Махапатра (Prasun Mahapatra) говорит, что новые ИИ-функции важны, потому что люди ожидают гораздо большего от СУБД. Сама Micro Focus к началу июня 2019 года продолжает пользоваться DB2.
Базы данных должны быть умнее. Благодаря тому, что из DB2 сделали новую СУБД с использованием искусственного интеллекта, пользователи смогут оптимизировать всё: от использования структур данных, памяти и диска до самых сложных запросов, — подчеркнул Махапатра. |
В DB2 также появился инструмент Augmented Data Explorer, позволяющий делать запросы устно на естественном языке и получать ответы в форме визуализированных данных.
Ещё одно новшество — поддержка блокчейна и обычного движка SQL для доступа к данным других платформ IBM. Наконец, в СУБД добавлена технология Data Virtualization из сервиса IBM Cloud Private for Data, при помощи которой пользователи могут искать данные в самых разнообразных источниках, экономя время, которое ранее тратилось на операции извлечения, преобразования и загрузки.[2]
2017: Анонс дополнений для контроля над данными
Корпорация IBM 25 июля анонсировала ряд ключевых дополнений и функциональных возможностей IBM Db2, призванных помочь заказчикам организовать контроль над корпоративными данными с помощью несложных в использовании инструментов.
Db2 Developer Community Edition
Это решение для разработчиков, которое можно бесплатно скачать на сайте IBM. Последняя версия включает полный набор инструментов Db2 и позволяет специалистам оперативно создавать прототипы приложений, используя при этом все возможности корпоративного издания Enterprise Edition. Пользователи могут скачать ПО и начать загрузку и управление данными в течение 15 минут, вне зависимости от того, работают ли они на компьютерах или ноутбуках, утверждают в IBM.
Db2 on Cloud
Обновленное решение Db2 on Cloud является полностью управляемым сервисом, доступным в IBM Cloud.
Среди характеристик технологии:
- Динамичная шкала («слайдер») для установления параметров производительности и объема памяти — с помощью клика мышкой можно мгновенно менять масштаб, увеличивая или уменьшая производительность обработки данных и необходимый объем оперативной памяти, таким же способом можно увеличить объем памяти системы хранения информации;
- Веб-консоль — помогает заказчикам быстрее освоить сервис и ускорить работу с ним.
В целом решение Db2 on Cloud позволяет избежать трудоемкого процесса согласования и закупки дополнительных вычислительных ресурсов и дополняет IBM Db2 Hosted, версию базы данных, размещенную в IBM Cloud.
Db2 on Cloud Benchmark
IBM опубликовала новый тест оценки производительности, который демонстрирует более высокую эффективность решения в целом.
DB2 Analytics Accelerator
Решение DB2 Analytics Accelerator для z/OS было модернизировано с помощью возможностей HTAP. Подробнее об этом — здесь.
Версии
2017: JSON и HTAP
25 июля IBM объявила о том, что Db2 теперь поддерживает JSON, формат документов с открытым исходным кодом, использующий удобный для восприятия язык для перемещения объектов данных. JSON, обычно применяемый в новых приложениях, теперь может быть интегрирован в реляционную СУБД Db2, предоставляя пользователям простой способ хранения информации из приложений. Разработчики могут использовать свои SQL-навыки для хранения, управления и отбора данных JSON в системе Db2. Это снижает потребность в дополнительном изучении специализированных хранилищ информации и дает возможность интегрировать данные о мобильных и веб-активностях в аналитических системах хранения для последующего получения инсайтов о поведении пользователей. Db2 оптимизирует поиск данных JSON с поддержкой индексации, повышая при этом производительность обработки запросов.
Кроме того, IBM сообщила о расширении Db2 с помощью архитектуры Hybrid Transactional / Analytical Processing (HTAP). Это стало возможным благодаря техническому предварительному релизу поддержки вторичной индексации в оперативной памяти для технологии BLU Acceleration. Как пояснили в корпорации, использование в решении IBM Db2 механизма BLU Acceleration, разработанного для HTAP, позволяет избежать дублирования информации. Он уменьшает количество требований к объему памяти и время задержки, в отличие от других баз данных. Вторичные индексы повышают производительность обработки некоторых запросов для хранилищ операционных данных и аналитических систем хранения, а также рабочих задач OLTP и HTAP. Пользователи уже могут протестировать возможности Db2 в своей среде разработки приложений.
IBM DB2 9 версия
IBM объявила в сентябре 2012 года об успешной сертификации программного комплекса IBM DB2 v.9.7 Fix Pack 3. Продукт получил сертификат Федеральной службы по техническому и экспортному контролю (ФСТЭК) на соответствие требованиям к программному обеспечению средств защиты информации. Сертификат удостоверяет, что DB2 может использоваться при создании автоматизированных систем до класса защищенности «1Г» включительно и для защиты информации в информационных системах персональных данных до первого класса. Полученный сертификат Федеральной службы по техническому и экспортному контролю (ФСТЭК) подтверждает соответствие программного продукта IBM DB2 требованиям руководящего документа «Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей» по 4 уровню контроля и соответствие требованиям технических условий.
Прохождение сертификации такого уровня позволяет обрабатывать персональные данные наивысшей степени конфиденциальности, такие как медицинские данные, а также делать это в больших объемах — оператор персональных данных может обрабатывать информацию о более чем сотне тысяч субъектов. Кроме того, наличие такого сертификата позволяет заказчикам, использующим программный продукт, при соответствующем построении собственных информационных комплексов проходить аттестацию по распространенному требованию к уровню защиты информации в автоматизированных системах — классу защищенности «1Г».
IBM DB2 10 версия
В апреле 2012 года IBM впервые за четыре года выпустила очередной релиз своей реляционной СУБД IBM DB2 – версию 10. Кроме того, обновлению подвергалась система хранения данных IBM InfoSphere. Десятые версии обоих продуктов можно будет приобрести начиная с 30 апреля 2012 года.
Как заявил вендор, новая версия СУБД требует существенно меньших ресурсов памяти, а также обладает более высоким быстродействием в ответ на запросы пользователей по сравнению с предыдущими релизами системы. Так, DB2 10 может на 90% уменьшить объем требуемого свободного пространства, а InfoSphere может выполнять запросы в 10 раз быстрее, чем раньше, говорится в официальном заявлении IBM.
DB2 10 представляет собой первое существенное обновление СУБД за последние несколько лет: 10-я версия системы для z/OS, правда, вышла в 2010 году, но этот релиз предназначен для одновременно Linux, Unix и Windows систем.
Оба продукта содержат новый функционал. DB2 теперь поддерживает формат RDF (Resource Description Framework), а InfoSphere может взаимодействовать с развертываниями Apache Hadoop. В числе других улучшений в DB2, в частности, можно отметить ускорение процессов резервного копирования и ввода-вывода.
DB2 10 также является и более гибкой. В частности, администраторы СУБД получили инструментарий для распределения данных для хранения по разным типам носителей: например, оперативная информация может размещаться на более быстрых твердотельных накопителей, а менее ценные данные – на более дешевых и медленных накопителях на магнитной ленте.
Новая функция под названием time travel позволяет более эффективно управлять временными данными, у пользователей 10-й версии для z/OS она имела большой успех. С ее помощью пользователь или программа могут изучать данные в контексте времени их существования в СУБД по заданным периодам. Использование таких средов актуально для аналитики.
DB2 10 может быть загружена бесплатно для использования в промышленном окружении на не более чем двух процессорных ядрах и 2Гб памяти. Более функциональные версии обойдутся в сумму начиная от $6180, куда входит и стоимость годового обслуживания. Стоимость InfoSphere базируется на количестве процессоров или объеме хранимых данных, базовые версии обойдутся в порядка $40 тыс за Тб.
IBM DB2 10.5 версия
В облачной инфраструктуре IBM в виде сервиса IBM SmartCloud будет развёрнута новая версия СУБД - DB2 10.5, доступная с июня 2013 года, сообщила пресс-служба корпорации 27 мая 2013 года.
Согласно заявлениям корпорации, благодаря набору технологий BLU (Big data, Lightening fast, Ultra easy) Acceleration, ускоряющих обработку данных в 25 раз и более, SmartCloud с DB2 10.5 можно будет применять для аналитики реального времени.
Механизмы BLU оптимизируют по скорости запросы DB2 к БД в памяти. В частности, при столбцовой обработке считываются только нужные столбцы, а лишние данные (например, дублирующиеся вхождения) пропускаются. Применяется также параллельная векторная многопроцессорная обработка и, для экономии места, — технология компрессии, которая, по словам разработчиков, не ухудшает быстродействие. Каждому экземпляру DB2 в "облаке" доступно до 16 процессорных ядер и 1 Терабайт или более памяти.
В IBM утверждают, SmartCloud позволяет заказчику применять привычную для него BI-систему, но переадресовывать SQL- и OLAP-запросы к облачному сервису IBM.
Копии СУБД SAP HANA теперь возможно исполнять в SmartCloud, пока только для нужд тестирования и разработки, отмечают в IBM.
История
DB2 имеет долгую историю и, как некоторые считают, стала первой СУБД, использующей SQL.
С 1975 по 1982 год прототип DB2 разрабатывался в IBM под названием System Relational, или System R. Язык SQL впервые был реализован именно в IBM System R, но эта система имела исследовательский характер, а коммерческий продукт, включающий SQL, первой выпустила компания Oracle в 1979 году.
СУБД DB2 получила своё название в 1982 году, когда был выпущен первый коммерческий релиз для VM под названием SQL/DS, и затем релиз для MVS под названием DB2. Долгое время наряду с «DB2» употреблялся вариант «Database 2», также являющийся торговой маркой IBM. По всей видимости, имелось в виду, что это вторая флагманская СУБД IBM после старой иерархической СУБД IMS.
Развитие DB2 уходит корнями в начало 1970-х, когда доктор Э. Ф. Кодд, работавший на IBM, разработал теорию реляционных баз данных и в июне 1970 года опубликовал модель манипуляции данными. Для воплощения этой модели он разработал язык реляционных баз данных и назвал его Alpha. IBM предпочла передать дальнейшую разработку группе программистов, неподконтрольной доктору Кодду. Нарушив некоторые принципы реляционной модели, они реализовали её как «структурированный английский язык запросов», сокращённо SEQUEL. Поскольку SEQUEL было уже зарегистрированной торговой маркой, название сократили до SQL — «структурированный язык запросов», и таким оно осталось по сей день.
Таким образом, исторически СУБД DB2 возникла из продуктов DB2 для MVS (потомком которого является DB2 for z/OS) и родственного ему SQL/DS для VM (потомок — DB2 Server for VSE & VM). В дальнейшем другим коллективом разработчиков в IBM был реализован сервер OS/2 EE Database Manager, впоследствии эволюционировавший в DB2 v2 для OS/2, AIX и затем Windows, а потом в DB2 UDB (его потомок — DB2 for Linux, UNIX and Windows). Ещё одним коллективом была выполнена интеграция архитектуры DB2 со встроенной базой данных AS/400 (потомок — DB2 for i). IBM постепенно движется по пути интеграции всех этих веток.
Особенности
К отличительным особенностям DB2 относится диалект языка SQL, определяющий, за редкими исключениями, чисто декларативный смысл языковых конструкций, и мощный многофазовый оптимизатор, строящий по этим декларативным конструкциям эффективный план выполнения запроса. В отличие от других диалектов SQL, в диалекте SQL DB2 практически отсутствуют подсказки оптимизатору, мало развит (а долгое время вообще отсутствовал) язык хранимых процедур, и, таким образом, всё направлено на поддержание декларативного стиля написания запросов. Язык SQL DB2 при этом является вычислительно полным, то есть потенциально позволяет в декларативной форме определять любые вычислимые соответствия между исходными данными и результатом. Это достигается в том числе за счёт использования табличных выражений, рекурсии и других развитых механизмов манипулирования данными.
Благодаря приоритету IBM в развитии реляционной теории и позициям фирмы в компьютерной отрасли, диалект DB2 SQL оказывает значительное влияние на стандарты SQL ANSI/ISO.
Хранимые процедуры в DB2 не очень широко применяются, при этом традиционно для написания хранимых процедур используются обычные языки программирования высокого уровня (Си, Java, PL/I, Кобол и т.д.), это позволяет программисту легко оформлять один и тот же код либо как часть приложения, либо как хранимую процедуру, в зависимости от того, на клиенте или на сервере его целесообразнее выполнять. В настоящее время в DB2 также реализовано процедурное расширение SQL для хранимых процедур в соответствии со стандартом ANSI SQL/PSM.
Оптимизатор DB2 широко использует статистику распределения данных в таблицах (если процесс её сбора был выполнен администратором базы данных), поэтому один и тот же запрос на языке SQL может быть оттранслирован в совершенно различные планы выполнения в зависимости от статистических характеристик данных, которые он обрабатывает.
Поскольку исторически DB2 развивалась с многопользовательских систем на мейнфреймах, то большое внимание в архитектуре DB2 уделяется вопросам безопасности и распределения ролей обслуживающих DB2 специалистов. В частности, в отличие от многих других СУБД, в DB2 имеются отдельные роли для администратора СУБД (ответственного за конфигурирование программных компонентов DB2 и их оптимальное выполнение в компьютерной системе) и администратора базы данных (ответственного за управление данными в конкретной базе).
Использование при необходимости в программах статического SQL и концепции пакетов допускает, в отличие от большинства других СУБД, реализацию такой модели безопасности, когда права на выполнение определённых операций могут выдаваться прикладным программам при отсутствии таких прав у работающих с этими программами пользователей. Это позволяет в таком случае гарантировать невозможность работы пользователя с базой данных в обход прикладной программы, если у пользователя имеются только права на запуск программы, но не на самостоятельную манипуляцию данными.
В рамках концепции повышения уровня интеграции средств безопасности в компьютерной системе, DB2 не имеет собственных средств аутентификации пользователей, интегрируясь со средствами операционной системы или специализированными серверами безопасности. В рамках DB2 осуществляется только авторизация пользователей, аутентифицированных системой.
DB2 является единственной реляционной СУБД общего назначения, имеющей реализации на аппаратно-программном уровне (система IBM i; также в оборудовании мэйнфреймов IBM System z реализуются средства поддержки DB2).
Современные версии DB2 обеспечивают расширенную поддержку использования данных в формате XML, в том числе операции с отдельными элементами документов XML.
Примечания
Подрядчики-лидеры по количеству проектов
SAP CIS (САП СНГ) (38)
Softline (Софтлайн) (35)
РДТЕХ (33)
BeringPro (БерингПойнт) ранее BearingPoint Russia (28)
ФОРС - Центр разработки (25)
Другие (733)
Сапиенс солюшнс (Sapiens solutions) (7)
Navicon (Навикон) (3)
BeringPro (БерингПойнт) ранее BearingPoint Russia (3)
GlowByte, ГлоуБайт (ранее Glowbyte Consulting, ГлоуБайт Консалтинг) (2)
IFellow (АйФэлл) (2)
Другие (35)
РДТЕХ (1)
IBS (1)
Ред Софт (Red Soft) (1)
InnoSTage (Инностейдж) (1)
Сбербанк-Технологии (СберТех) (1)
Другие (20)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Oracle (44, 179)
SAP SE (6, 178)
Microsoft (23, 142)
PostgreSQL Global Development Group (14, 126)
Постгрес профессиональный (ППГ, Postgres Professional) (6, 40)
Другие (263, 242)
SAP SE (3, 11)
Microsoft (3, 11)
PostgreSQL Global Development Group (3, 10)
Oracle (2, 4)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 3)
Другие (10, 13)
PostgreSQL Global Development Group (4, 9)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 6)
VK Tech (ранее VK Цифровые технологии, ВК Цифровые технологии и Mail.ru Цифровые технологии) (2, 3)
Arenadata (Аренадата Софтвер) (3, 2)
Oracle (2, 2)
Другие (9, 9)
PostgreSQL Global Development Group (3, 13)
Постгрес профессиональный (ППГ, Postgres Professional) (1, 6)
Arenadata (Аренадата Софтвер) (3, 5)
Apache Software Foundation (ASF) (3, 4)
Тантор Лабс (Tantor Labs) (2, 3)
Другие (8, 10)
PostgreSQL Global Development Group (4, 11)
Arenadata (Аренадата Софтвер) (3, 6)
VMware (2, 6)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 5)
Сбербанк-Технологии (СберТех) (2, 2)
Другие (5, 7)
Распределение систем по количеству проектов, не включая партнерские решения
Oracle Database - 106
Microsoft SQL Server - 104
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 103
PostgreSQL СУБД - 80
SAP HANA (High Performance Analytic Appliance) - 72
Другие 374
Microsoft SQL Server - 9
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 8
PostgreSQL СУБД - 7
Oracle Database - 3
SAP HANA (High Performance Analytic Appliance) - 3
Другие 21
Postgres Pro СУБД - 5
ADB - Arenadata DB - 2
PostgreSQL СУБД - 2
Tarantool Платформа in‑memory вычислений - 2
Oracle Database - 2
Другие 13
Postgres Pro СУБД - 6
PostgreSQL СУБД - 4
ADB - Arenadata DB - 3
Tantor СУБД - 3
Apache Kafka - 2
Другие 10
PostgreSQL СУБД - 5
ADB - Arenadata DB - 5
Postgres Pro СУБД - 3
Diasoft Digital Q.Database - 2
ADH - Arenadata Hadoop - 2
Другие 9