Новые тенденции управленияданными в продуктах компании IBM

Содержание

Слайд 2

Agenda

Part I – XML: Почему и Где
Part II – Native XML в

Agenda Part I – XML: Почему и Где Part II – Native
DB2 Viper
Part III – Немного о других новых возможностях DB2 Viper
Part III – Informix Dynamic Server 10
Part IV – Вопросы и ответы

Слайд 3

Гибкость
Запросов

Files

Возрастающая важность XML
Формат обмена документами
Web Services
Обмен метаданными
Модель программирования
Глубокая XML интеграция

Гибкость Запросов Files Возрастающая важность XML Формат обмена документами Web Services Обмен
упрощает и объединяет инфраструктуру
Объединяет данные и Content
Расширяет использование активов
Native XML хранилище
Оптимизация производительности
Предоставление гибкости
Поддержка природы XML
Сервисы БД

XML and Information on Demand

Слайд 4

Типичные сценарии использования XML

Интеграция разрозненных источников данных
Обмен информацией между приложениями и организациями
eForms

Типичные сценарии использования XML Интеграция разрозненных источников данных Обмен информацией между приложениями
и системы workflow
Управление наполнением и документами
Транзакции основанные на сообщениях, web services, SOA
XML документы как бизнес объекты/ транзакционные записи (цифровая подпись, аудит, соответствие регулирующему законодательству)
XML как модель данных лучше подходит для (множественных значений, иерархий и комплексных данных)

Слайд 5

Пример 1: Финансовые данные (FIXML)

Покупка 1000 акций компании IBM.

8=FIX.4.2^9=251^35=D^49=AFUNDMGR^56=ABROKER^34=2
^52=20030615-01:14:49^11=12345^1=111111^63=0^64=2003
0621^21=3^110=1000^111=50000^55=IBM^48=459200101^22=
1^54=1^60=2003061501:14:4938=5000^40=1^44=15.75^15=USD
^59=0^10=127
Новый FIXML
протокол
Расширяемый
Снижает затраты

Пример 1: Финансовые данные (FIXML) Покупка 1000 акций компании IBM. 8=FIX.4.2^9=251^35=D^49=AFUNDMGR^56=ABROKER^34=2 ^52=20030615-01:14:49^11=12345^1=111111^63=0^64=2003
на поддержку и разработку

Старый протокол FIX

Слайд 6

Почему нужно использовать XML с БД ?

Управление большими объемами это проблема для

Почему нужно использовать XML с БД ? Управление большими объемами это проблема
БД!
Эффективный поиск и извлечение XML
ACID
Производительность, Масштабируемость
…те же причины что и для реляционных данных!
Интеграция
Интеграция новых XML данных с существующими реляционными данными
Публикация (реляционных) данных как XML
Поддержка для web приложений, SOA, web служб (SOAP)

Слайд 7

XML-Enabled Databases: две опции

XML
DOC

Извлечение определенных элементов/
атрибутов

Сторонние таблицы

CLOB/Varchar

XML DOC

XML DOC

XML DOC

XML
DOC

varchar
CLOB

Фиксированное

XML-Enabled Databases: две опции XML DOC Извлечение определенных элементов/ атрибутов Сторонние таблицы
отображение

Shredder

(regular tables for faster lookup)

Обычные таблицы

“Decompositon”

Shredding

Слайд 8

Проблемы XML-enabled Databases

Хранение как CLOB:
Выполнение запроса требует разбора XML (Parsing) – медленно

Проблемы XML-enabled Databases Хранение как CLOB: Выполнение запроса требует разбора XML (Parsing)
!
Нарезка:
Отображение из XML в реляционные таблицы часто слишком сложно
Часто требует десятки, а то и сотни таблиц
Требуются сложные Complex разнонаправленные соединения(joins) для восстановления XML документа
При изменение схемы XML ломается mapping
Нет гибкости в схеме !
Например: изменение элемента, теперь он может встречаться в документе один и более раз. Это требует нормализации реляционной схемы и данных

Слайд 9

Нарезка: Простой пример



10
CHRISTINE
SMITH
408-463-4963
52750.00

Нарезка: Простой пример 10 CHRISTINE SMITH 408-463-4963 52750.00 27 MICHAEL THOMPSON 406-463-1234 41250.00

27
MICHAEL
THOMPSON
406-463-1234
41250.00


Слайд 10

Нарезка: Изменение схемы…


10
CHRISTINE
SMITH
408-463-4963
415-010-1234
52750.00

Нарезка: Изменение схемы… 10 CHRISTINE SMITH 408-463-4963 415-010-1234 52750.00 27 MICHAEL THOMPSON


27
MICHAEL
THOMPSON
406-463-1234
41250.00


Требует:
Нормализации текущих данных !
Изменение отображения
Изменения приложения

Costly!

Слайд 11

Зачем native XML хранилище?

Много данных в реляционных БД
И это не будет меняться…

Зачем native XML хранилище? Много данных в реляционных БД И это не
так как SQL DBs быстрые
XML формат обмена
Web Services везде
XML как артефакт транзакции
Все больше и больше данных представляются в формате XML с самого начала…
Держать XML как XML
Каждая трансформация (нарезка) затратка
И потенциально ведет к потерям информации
XML может быть слишком сложным для нарезки
Иерархический XML более адаптирован к человеческому мышлению

Слайд 12

XML в DB2

XML в DB2

Слайд 13

XML в DB2 SQL и XML одинаковы в DB2

Множество интерфейсов для запросов
SQL/XML и

XML в DB2 SQL и XML одинаковы в DB2 Множество интерфейсов для
XQuery
Оба языка имеют полный доступ ко всем хранимым данным
Выбор представления данных которое больше подходит для приложения

XML возможности встроены в DB2
Глубока интеграция XML подразумевает высокую производительность!
Оптимизированное хранение данных
Новое хранилище и индексы для XML

Сервер

Клиент

SQL/XML

XQuery

DB2 Engine

XML
Interface

Relational
Interface

Relational

XML

DB2 Storage:

DB2 Client /
Customer Client
Application

Слайд 14

Обзор Интерфейса

Определение данных
create table dept(deptID int, deptdoc xml);
Вставка
insert into dept(deptID, deptdoc) values

Обзор Интерфейса Определение данных create table dept(deptID int, deptdoc xml); Вставка insert
(?,?)
Индексирование
create index xmlindex1 on dept(deptdoc)
generate key using xmlpattern ‘/dept/name’ as varchar(30);
Извлечение
select deptdoc from dept where deptID = ?
Запросы
select deptID, xmlquery('$d/dept/name' passing deptdoc as “d")
from dept where deptID <> “PR27”;

Слайд 15

Разбор документа

dept

name

phone

employee

office

id

name

phone

employee

office

id

901

John Doe

344

408-555
1212

902

Peter
Pan

216

408-555
9918

SYSIBM.SYSXMLPATHS

XML Documents парсится в соответствии с
XQuery Data Model
Создаются дополнительная

Разбор документа dept name phone employee office id name phone employee office
информация в каталоге
Строки и пути хранятся в каталоге DB2
Компрессия строк сохраняет место

SYSIBM.SYSXMLSTRINGS

Слайд 16

Хранение документа

Иерархия узлов XML Документа хранится на страницах DB2
Если документ не помещается

Хранение документа Иерархия узлов XML Документа хранится на страницах DB2 Если документ
на одну страницу он разбивается на страницы/регионы
Управляемый системой индекс регионов указывает на части документа

page

page

page

Regions index

Слайд 17

Размер страницы для хранения XML

Большие документы разбиваются на регионы
Максимальный размер документа

Размер страницы для хранения XML Большие документы разбиваются на регионы Максимальный размер документа 2GB
2GB

Слайд 18

Индексирование

B-tree индексы расширены для управления XML документами
Дополнительные поля
PATHID: путь к значению
VALUE: индексированное

Индексирование B-tree индексы расширены для управления XML документами Дополнительные поля PATHID: путь
значение
DOCID: Идентификатор документа
NODEID: узел в котором хранится значение
Дополнительные техники при поиске по индексам
Pivot Join (Zig-Zag join)
Конкурентная проверка предикатов “and” и “or”
Множество курсоров на индексе каждый проверяет предикат


A=4, docid=2
A=5, docid=3
A=5, docid=4
A=5, docid=5
A=5, docid=7
A=5, docid=8
A=5, docid=9
A=5, docid=10
A=5, docid=11
A=5, docid=12


B=6, docid=1
B=6, docid=2
B=6, docid=6
B=6, docid=12

Find docids where x/y[A=5 and B=6]

Слайд 19

Индексирование

AS SQL VARCHAR (integer)

CREATE

index-name ON table-name(xml-column-name)

GENERATE KEY USING XMLPATTERN xmlpattern

UNIQUE

INDEX

DOUBLE

DATE

TIMESTAMP

VARCHAR (HASHED)

xmlpattern:

xmlpattern
XPath

Индексирование AS SQL VARCHAR (integer) CREATE index-name ON table-name(xml-column-name) GENERATE KEY USING
без предиката

create index idx1 on dept(deptdoc) generate key
using xmlpattern '/dept/employee/name' as sql varchar(35)

Слайд 20

Document Retrieval using SQL

Retrieve XML documents
Select i, deptdoc from dept
Retrieve some XML

Document Retrieval using SQL Retrieve XML documents Select i, deptdoc from dept
documents based on SQL Predicate
Select deptnum, deptdoc from dept
Where deptnum like ‘PR%’

Слайд 21

Поиск по документу используя XQuery

Полная поддержка XQuery и XPath 2.0
Включаяя FLWOR встроенный

Поиск по документу используя XQuery Полная поддержка XQuery и XPath 2.0 Включаяя
(nested) FLWOR
XQuery по всем документам в столбце
FOR $d in db2-fn:xmlcolumn(‘dept.deptdoc’)…
XQuery по документам используя SQL предикаты
FOR $d in db2-fn:sqlquery(“select deptdoc from dept
where deptID LIKE ‘PR%’ ”)…

Слайд 22

Выражение FLWOR

FOR: проходит по последовательности документов,
LET: привязка переменных к элементам
WHERE: фильтрация

Выражение FLWOR FOR: проходит по последовательности документов, LET: привязка переменных к элементам
элементов итерации
ORDER: перегруппирует элементы итерации
RETURN: конструирует результаты запроса

FOR $movie in db2-fn:xmlcolumn(‘table1.movies’)
LET $actors := $movie//actor
WHERE $movie/duration > 90
ORDER by $movie/@year
RETURN
{$movie/title, $actors}


Chicago
Renee Zellweger
Richard Gere
Catherine Zeta-Jones

Слайд 23

John Doe
Peter Pan


John Doe
Peter Pan

Выражение FLWOR

John Doe
Peter Pan

for $d in

John Doe Peter Pan John Doe Peter Pan Выражение FLWOR John Doe
xmlcolumn(‘deptdoc’)/dept
where $d/@bldg = 101
return
{$d/employee/name}

Результат не обязательно XML !

for $d in xmlcolumn(‘deptdoc’)/dept
where $d/@bldg = 101
return $d/employee/name/text()

for $d in xmlcolumn(‘deptdoc’)/dept
where $d/@bldg = 101
return $d/employee/name



John Doe
408 555 1212
344


Peter Pan
408 555 9918
216


create table dept (deptID char(8), deptdoc xml);

Слайд 24

XQuery с объединением

for $book in db2-fn:xmlcolumn('BOOKS')/book
for $entry in db2-fn:xmlcolumn('REVIEWS')/entry

XQuery с объединением for $book in db2-fn:xmlcolumn('BOOKS')/book for $entry in db2-fn:xmlcolumn('REVIEWS')/entry where
where $book/title = $entry/title
return

{$entry/review/text()}
;

Слайд 25

SQL/XML – Лучшее от общих от обоих миров

Все возможности SQL для обработки

SQL/XML – Лучшее от общих от обоих миров Все возможности SQL для
реляционных столбцов
Все возможности XQuery и XPath 2.0 для адресации и трансформации XML документов
Объединение XML документов и таблиц
Предикаты как SQL так и XML
Создание XML из структурированных полей
Материализация таблиц и представлений из XML документов

select d.deptID , u.headcount, xmlquery(‘$deptdoc/dept/name’ passing d.deptdoc as “deptdoc“)
from dept d, unit u
where d.deptID = u.unitID and u.headcount > 200
and xmlquery(‘$deptdoc/dept/@bldg’ passing d.deptdoc as “deptdoc“) = u.bldg
and xmlexists(‘$deptdoc/dept/employee/name’ passing d.deptdoc as “deptdoc“)

Слайд 26

SQL/XML

select d.deptID, xmlquery(‘$deptdoc/dept/name’ passing d.deptdoc as “deptdoc“), u.empcount
from dept d, unit u
where

SQL/XML select d.deptID, xmlquery(‘$deptdoc/dept/name’ passing d.deptdoc as “deptdoc“), u.empcount from dept d,
d.unitID = u.unitID and u.empcount > 200
and xmlquery(‘$deptdoc/dept/@bldg’ passing d.deptdoc as “deptdoc“) = u.bldg
and xmlexists(‘$deptdoc/dept/name’ passing d.deptdoc as “deptdoc“)

Dept

Unit


Engineering
Anjul
Susan
Mary
CW345

Слайд 27

SQL/XML – публикация XML документов

SELECT
XMLELEMENT (NAME "Department",
XMLATTRIBUTES (e.department

SQL/XML – публикация XML документов SELECT XMLELEMENT (NAME "Department", XMLATTRIBUTES (e.department AS
AS "name" ),
XMLAGG ( XMLELEMENT(NAME "emp", e.firstname))) AS "department_list"
FROM employee e GROUP BY e.department;

Слайд 28

XMLTABLE - XML->relational

SELECT X.* from
XMLTABLE (‘db2-fn:xmlcolumn(“PORDERS.PO”)//customer’ COLUMNS “CID” INTEGER PATH ‘@id’,

XMLTABLE - XML->relational SELECT X.* from XMLTABLE (‘db2-fn:xmlcolumn(“PORDERS.PO”)//customer’ COLUMNS “CID” INTEGER PATH
“Name” VARCHAR(30) PATH ‘name’, “ZipType” CHAR(2) PATH ‘zip/@type’, “Zip” XML PATH ‘zip’
) AS “X”

Слайд 29

Функции публикации SQL/XML

Скалярные функции
XMLELEMENT – generate XML element
XMLATTRIBUTES - used within XMLELEMENT,

Функции публикации SQL/XML Скалярные функции XMLELEMENT – generate XML element XMLATTRIBUTES -
specifies attributes
XMLFOREST - produces a forest of XML elements from SQL values
XMLCONCAT - concatenates a variable number of XML values
XMLNAMESPACES – produces a namespace declarations
Функции агрегации
XMLAGG - to group or aggregate XML data
Табличные
XMLTABLE – materializes a table from XML documents
Функции преобразования типов
XMLCAST - converts between XML data type and standard relational types
XMLSERIALIZE – converts XML data type to serialized XML as a char/varchar/clob/blob

Слайд 30

JDBC API Enhancements for XML

Поддержка нового XML типа
Поддержка нового интерфейса com.ibm.db2.jcc.DB2Xml
Поддержка XQuery
Поддержка

JDBC API Enhancements for XML Поддержка нового XML типа Поддержка нового интерфейса
регистрации XML Schema
Type Code java.sql.Types.OTHER до тех пор пока не появится новый тип JDBC java.sql.Types.XML

Слайд 31

Sample Java Program

PreparedStatement stmt1 = con.prepareStatement("Select doc from dept where id =

Sample Java Program PreparedStatement stmt1 = con.prepareStatement("Select doc from dept where id
‘001’ ”);
ResultSet rs = stmt1.executeQuery();
rs.next();
String xmlString = rs.getString(1);
InputStream is = rs.getBinaryStream(1);
com.ibm.db2.jcc.DB2Xml xml = (com.ibm.db2.jcc.DB2Xml) rs.getObject (1);
String xmlString = xmlOut.getDB2String();
InputStream is = xmlOut. getDB2XmlBinaryStream("ISO-10646-UCS-2”);
… = xmlOut.getDOM() or xmlOut.getSAX(); //future
PreparedStatement stmt2 = con.prepareStatement("update dept set doc = ? where id = ‘001”);
stmt2.setObject(1, xmlOut);
stmt2.setBinaryStream(1, new FileInputStream(file), (int)file.length());
stmt2.setString(1, xmlString);
stmt2.executeUpdate();

create table dept (id char(8), doc xml);

Слайд 32

Sample Java Program – XQuery

PreparedStatement stmt=null;
ResultSet rs;
String sqls = "XQUERY "+
"for

Sample Java Program – XQuery PreparedStatement stmt=null; ResultSet rs; String sqls =
$info in db2-fn:sqlquery('SELECT info FROM CUSTOMER WHERE cid > ?') "+
"where $info/*:customerinfo/*:addr[@country=\"England\"] "+
"return $info/*:customerinfo/*:phone/text()";
stmt = conn.prepareStatement(sqls);
stmt.setInt(1, cidToFilter);
rs = stmt.executeQuery();

create table customer (customerinfo xml);

Слайд 33

DB2.NET XML Support

DB2 .NET Provider
DB2Xml - Инкапсулирует тип XML
Любой доступ

DB2.NET XML Support DB2 .NET Provider DB2Xml - Инкапсулирует тип XML Любой
к XML типу осуществляется через другие объекты основанные на XML (XmlReader, XPathDocument)
Методы доступа к XML столбцам
DB2Xml.GetXmlReader
DB2Xml.GetString
DB2Xml.GetBytes
DB2DataReader
DB2Command
XML Input и Output Parameters
DB2Type.Xml
Поддержка XQuery
DB2XmlCommand
DB2XmlAdapter
Поддержка XmlSchema

.NET

Слайд 34

Sample .NET Program - XQuery

DB2XmlCommand xcmd = new DB2XmlCommand();
//Retrieve the name of

Sample .NET Program - XQuery DB2XmlCommand xcmd = new DB2XmlCommand(); //Retrieve the
all employees in department #100
xcmd.CommandText =
“for $e in db2-fn:xmlcolumn (‘EMPLOYEE.EMPINFO)/employee
where $e/deptno = 100
return {$b/name}”
//Set the root tag
xcmd.RootTag = “deptlist”;
//Retrieve the result of the xquery expression as an XmlReader
//the result will be wrapped with
XmlReader xrdr = xcmd.ExecuteXmlReader();
//Retrieve the result of the xquery expression as a Stream
Stream xmlstream = xcmd.ExecuteStream()

create table employee (empinfo XML))

Слайд 35

Проверка с помощью XML Schemas

Проверка опциональна и осуществляется на уровне документа
Без проверки
insert

Проверка с помощью XML Schemas Проверка опциональна и осуществляется на уровне документа
into dept(deptdoc) values (?)
С проверкой
insert into dept(deptdoc) values (xmlvalidate(?))
Схема может быть перезаписана и указывать на схему в репозитории DB2
insert into dept(deptdoc) values (
xmlvalidate(? according to xmlschema id “ibm.invoice”)
insert into dept(deptdoc) values (
xmlvalidate(? according to xmlschema uri ‘http://my.world.com’)

Слайд 36

Управление XML Schema

Репозиторий XML Schema (XSR)
Хранит зарегистрированные схемы
Управляется как часть каталога

Управление XML Schema Репозиторий XML Schema (XSR) Хранит зарегистрированные схемы Управляется как
DB2
Таблицы и представления создаются автоматически
SYSCAT.XSROBJECTS, SYSCAT.XSROBJECTCOMPONENTS
SYSCAT.XSROBJECTAUTH, SYSCAT.XSROBJECTHIERARCHIES
Интерфейс командной строки, API, Хранимые процедуры

Слайд 37

Аннотация схемы для Нарезки

Отображение из XML в реляционные таблицы
Отображение контролируется аннотациями XML

Аннотация схемы для Нарезки Отображение из XML в реляционные таблицы Отображение контролируется
в DB2 XSR

Слайд 39

DB2 Development Workbench

Server
Explorer

Project
Explorer

Properties
&
Output
Area

Visualization
&
Editors

Eclipse based
Support for XML type in tables,

DB2 Development Workbench Server Explorer Project Explorer Properties & Output Area Visualization
views, SPs and UDFs
Support for XML Index
Support for XML type in SQL Query Builder
Graphical XML Query Builder
XSD (XML Schema) Editor
XML Editor
XML viewer
Support for XML Schema registration
XML & XSL Parsers
XML<->Relational mapping

Слайд 40

XQuery Builder

Java

Graphical XQuery builder
Supports selecting from actual documents to build query
Can view

XQuery Builder Java Graphical XQuery builder Supports selecting from actual documents to
in progress XQuery statement
Save Statements for re-use
Execute and view results

Слайд 41

MS Visual Studio .NET – DB2 XML add-in

.NET

Server Explorer
XML Editor
XML Schema

MS Visual Studio .NET – DB2 XML add-in .NET Server Explorer XML
Editor
XSR Registration
XML Index Builder

Слайд 42

DB2 Viper в Storebrand

Лидирующий игрок, на рынке страхования здоровья и жизни, управления

DB2 Viper в Storebrand Лидирующий игрок, на рынке страхования здоровья и жизни,
активами и ценными бумагами в Норвегии.
Пионеры в адаптации SOA, Web Services и XML в информационных системах
Senior Enterprise Architect Thore Thomassen тесно работал IBM на протяжении Viper Alpha
Преимущество Native XML в сравнительных тестах
Сокращение времени разработки внутренних отчетов с более чем 1 day до 10 минут
Сокращение составляющей I/O для Web services в среднем на an 65% и сокращение времени поддержки на 20%
Реализация изменения схемы до нескольких минут с целого дня прототипирования и тестирования и целой недели внедрения
Реализация поиска и извлечения документов в соответствии с новыми требованиями в 30 минут, ранее требовалось 2 часа with decomposition and 8 hours with CLOB.

Слайд 43

Partner Solutions

Partner Solutions

Слайд 44

Немного о других новых возможностях

STTM – самонастраиваемая и конфигурируемая память DBMS
LBAC –

Немного о других новых возможностях STTM – самонастраиваемая и конфигурируемая память DBMS
Ограничение доступа на уровне строк
Hybrid Partitioning
Компрессия данных
Улучшения в Резервном копировании etc…

Слайд 45

Автоматизация автоматически!

Включение множества автономных возможностей по умолчанию.
Примеры:
Configuration Advisor (2 second

Автоматизация автоматически! Включение множества автономных возможностей по умолчанию. Примеры: Configuration Advisor (2
tuning)
Adaptive Self Tuning Memory
Автоматический сбор статистики.
Автоматическое вычисление параметров I/O
Значения вычисляются во время запуска
Основываются на кол-ве CPU расположении дисков

Слайд 46

STMM в действии – Удаление важного индекса

TPCH Query 21 - After drop

STMM в действии – Удаление важного индекса TPCH Query 21 - After
index - Average times for the 10 streams

0

1000

2000

3000

4000

5000

6000

7000

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

Order of execution

Time in seconds

Avg = 959

Avg = 2285

Avg = 6205

Reduced 63%

Indexes Dropped


Слайд 47

Security - Label Based Access Control

Label Based Access Control (LBAC)
“label” ассоциирован как

Security - Label Based Access Control Label Based Access Control (LBAC) “label”
с пользовательской сессией так и со строками
Правила (Rules) проверяют метки пользователей и строк для выявления прав
Labels могут состоять из множества компонентов
Иерархия, группа и массив
Метка на строку есть дополнительный вне зависимости от количества компонентов метки
Пользовательские метки выдаются security administrator
Похожа на поддержку LBAC в DB2 для z/OS v8

Слайд 48

LBAC Hierarchy Update/Read

LBAC Hierarchy Update/Read

Слайд 49

Hybrid Partitioning

999 Machines

HASH

RANGE

32K Partitions

MDC

Hybrid Partitioning 999 Machines HASH RANGE 32K Partitions MDC

Слайд 50

Region

Year

East

97

North

South

West

98

99

00

0th Block
BID = 0-0

Pg 0

Pg 1

Pg 2

Pg 3

Pg 20

Pg 21

5th Block
BID =

Region Year East 97 North South West 98 99 00 0th Block
20-0

01

Pg 22

Pg 23

Block INDEX ANDing

CREATE TABLE
SALES (Customer VARCHAR(80),
Region CHAR(5),
Year INT)
ORGANIZE BY DIMENSIONS (Region, Year)
SELECT * FROM SALES WHERE
Region = 'West' AND Year = 00
'West' BIDs: 16-0, 20-0
'00 BIDs: 16-0
Result of AND: 16-0
Retrieve block 16-0 in one I/O
Mini-relation scan retrieves all records in block

CREATE INDEX i1 ON SALES (Customer)
SELECT * FROM SALES WHERE
Region='East' AND Customer='Joe'
'East' BIDs: 0-0, 4-0
'Joe' RIDs: 0-3, 0-211, 2-97, 7-1, 11-33
Filter out RIDs not in page range indicated by BIDs 0-3, 0-211, 2-97, 7-1
Directly fetch those records

"AND"ing RID and Block INDEXes

Примеры обработки запросов

MDC изнутри

Слайд 51

Row Compression используется LZV

John, Dept 500, 20000, Plano, TX, 24355

Компрессия множества строк

Row Compression используется LZV John, Dept 500, 20000, Plano, TX, 24355 Компрессия
в одну страницу не эффективно с точки зрения БД.

Fred, Dept 500, 10000, Plano, TX, 24355, …

Fred, Dept 500, 10000, Plano, TX, 24355, …John, Dept 500, 20000, Plano, TX, 24355

Слайд 52

Row Compression Using Side Tables

John, Dept 500, 20000, Plano, TX, 24355, Site

Row Compression Using Side Tables John, Dept 500, 20000, Plano, TX, 24355,
3

Сторонние таблицы содержат повторяющуюся информацию из строк.

Fred, Dept 500, 10000, Plano, TX, 24355…

Fred, (01), 10000, (02), John, (01), 20000, (02)

Слайд 53

DB2 - More Compression Ratios (Customer Data)

Compression Type 32KB Page Count Space Required on

DB2 - More Compression Ratios (Customer Data) Compression Type 32KB Page Count
Disk
No compression 5893888 179.9GB
Row compression 1392446 42.5GB
% Pages Saved: 76.4%

Слайд 54

Informix Dynamic Server 10

Informix Dynamic Server 10

Слайд 55

2008
Запросы рынка, Technology & заказчиков партнеров
Интеграция с IBM Software
Улучшения Автономности
MDC
MQT

Март 2003
Производительность
Backup &

2008 Запросы рынка, Technology & заказчиков партнеров Интеграция с IBM Software Улучшения
Restore
HDR & ER сосуществование
Удаление ограничений на размеры.
Мониторинг, Утилиты

IBM Informix Dynamic Server Roadmap

2004

2005

2006

2007

2008

2003

IDS v10.5

IDS v9.40

IDS v10

IDS vNext

2H 2006
Запросы рынка, Technology & заказчиков партнеров
Интеграция с IBM Software
Автономность (Online Table Reorg, GUI, SQL)

Q1 2005
Безопасность
Устойчивость/Высокая доступность
Разработка Соответствие стандартам
Автономность/ Простота администрирования
Интеграция с IBM SWG
Запросы клиентов и партнеров

Слайд 56

Increase in Nightly Builds and Tests (IDS(4), CSDK, GLS, 4GL)

57000

4000

74

4

Increase in Nightly Builds and Tests (IDS(4), CSDK, GLS, 4GL) 57000 4000 74 4

Слайд 57

IDS Уменьшение кол-ва ошибок

2001 2002 2003 2004

IDS 9.21

IDS 9.30

Defect Backlog

9.30.UC7 – 250

IDS Уменьшение кол-ва ошибок 2001 2002 2003 2004 IDS 9.21 IDS 9.30
fixes

7.31.UD7

7.31.UD6

9.40.UC3

Слайд 58

Общие
возможности

Общие
комопоненты

Инвестиции
В продукты

Начальные
продукты

Re-factor to SWG Product Offerings

Componentization and Formation of Substrates

Product
Specific
Investment

Product
Specific
Investment

Product
Specific
Investment

Product
Specific
Investment

Product
Specific
Investment

Lotus

DB2/Informix

WebSphere

Tivoli

Rational

Lotus

Tivoli

Rational

Tivoli

Rational

WebSphere

DB2/Informix

Lotus

WebSphere

components

DB2/Informix

Lotus

WebSphere

Tivoli

DB2/Informix

IBM

Общие возможности Общие комопоненты Инвестиции В продукты Начальные продукты Re-factor to SWG
Software Portfolio – использование компонентов