Концепция универсального сервера баз данных

Х. Залкин, Informix

E-mail: howardz@informix.com
Тел.(095)755-8700

Общие характеристики универсального сервера

  • Способность хранить и управлять
  • любыми данными
  • в одном объединенном источнике
  • и при этом пользоваться централизованными механизмами
  • оптимизации запросов
  • администрирования баз данных
  • архивирования и восстановления данных
  • безопасности и целостности данных
  • Пользоваться открытым, стандартным интерфейсом (т.е. SQL)
  • Масштабируемость (Scalability)
  • Дополняемость (Extensibility)
    т.е. возможность добавлять новые типы данных в ядро СУБД-до бесконечности
  • Производительность
  • Открытая поддержка инструментальных средств
  • Хранение и доступ к Web-страницам
  • Эволюция к универсальным серверам

    Реляционные СУБД справляются с простыми данными...

    ...А как насчет сложных данных?

    Universal Server: два подхода

    Различные API связываются с множеством серверовЕдиный интерфейс с объединенным сервером данных

    Middleware Solutions Clumsy

    Розничная торговля

    Пример дополняемости

    create table customer(
    ЖЖЖcname
    caddress
    start_year
    varchar(30),
    varchar(40),
    int);
    create table order(
    orderID
    cname
    amount
    date
    int,
    varchar(30),
    money,
    date);

    Розничная торговля

    Universal Server: Новые типы данных

    create table customer(
    ЖЖЖ cname
    caddress
    start_year
    location
    varchar(30),
    varchar(40),
    int,
    point);
    create table order(
    orderID
    cname
    amount
    date
    PO_fax
    order_notes
    materials
    ship_location
    int,
    varchar(30),
    money,
    date,
    image,
    doc,
    setof(part_type),
    point);

    Pозничная торговля

    Менеджер хочет узнать...

  • Как найти заказы на сумму более чем $500, место доставки которых находится в пределах 50 км от заказчика
    select C.cname from customer C, order O where Within50 (C.location, O.iocation) = T and O. Amount >500
  • Как найти заказы с пометкой "срочно", РО Date которых находится в пределах 4 дней от Order Date
    select cname, orderID from order where FaxDateDiff(PO_fax,date) <=4 and ContainsWords(order_notes,'rush') = T *Within50() и FaxDateDiff() являются определяемыми пользователем функциями

    Логистика/Транспорт

    Пример расширяемости

    create table facility(
    ЖЖЖ fname
    faddress
    route
    varchar(30),
    varchar(40),
    varchar(20));
    create table route(
    route
    description
    varchar(20),
    varchar(100));

    Логистика/Транспорт

    Universal Server: Новые типы данных

    create table facility(
    ЖЖЖ fname
    faddress
    location
    varchar(30),
    addr_type,
    fac_loc_t);
    create table route(
    route
    description
    route_map
    route_notes
    route_pts
    varchar(20),
    varchar(100),
    GeoMap,
    doc,
    setof(fac_loc_t));

    Логистика/Транспорт

    Менеджер хочет узнать...

    • Как найти маршруты, находящиеся в пределах зоны с почтовым кодом 77056
      select R.route from route R, facility F where GeoZip (F.location) = 77056 and whithin (F.location, R.route_pts)

      Как найти маршруты, общая длина которых превышает 100 км, с пометкой 'priopity'
      select route from route where RouteLength(route_pts) > 100 and ContainsWords(route_notes,'priority') = T
    *GeoZip(), Within(), RouteLength() являются определяемыми пользователем функциями

    Промышленность

    Пример дополняемости

    create table facility(
    ЖЖЖ fname
    faddress
    varchar(30),
    varchar(40));
    create table component(
    component_id
    description
    fname
    varchar(20),
    varchar(100),
    varchar(30));

    Промышленность

    Universal Server: Новые типы данных

    create table facility(
    ЖЖЖ fname
    faddress
    location
    varchar(30),
    addr_type,
    fac_loc_t);
    create table component(
    comp_id
    description
    fname
    maint_sched
    comp_loc
    comp_notes
    schematic
    comp_id_t,
    varchar(100),
    varchar(30),
    TimeSeries,
    point,
    doc,
    largeObject);

    Промышленность

    Менеджер хочет узнать

    • Как найти компоненты от поставщика XYZ в филиалах, расположенных в пределах 77056 почтовой зоны
      select component_id from component C, facility F where GeoZip (F.location) = 77056 and C. Fname = F.fname and comp_id. Name like 'XYZ'; (comp_id is a ROW TYPE)
    • Где найти чертежи компонент, которые нуждаются в техническом обслуживании (временной ряд), помеченные "трудно"
      select schematic from component where MaintlsDue= T and ContainsWords(comp_notes,'difficult') = T;
    • Найти компоненты, находящиеся в пределах пяти метров от места утечки
      select component_id from component where DistWithin(comp_loc,(300,500)) <= 5;
    *GeoZip(),MaintlsDue() иDistWithin() являются определяемыми пользователем функциями

    Сервер DSA 7.x уже имеет набор расширяемых API

    Объектно-реляционная архитектура INFORMIX-Universal Server

    Модуль DataBlade

    • Расширяет функциональность СУБД
    • Определяемые пользователем типы данных и поведение
    • Легко адаптируется самим заказчиком
    • Выбор решений

    INFORMIX Universal Server

    Временные ряды

    Time Series DataBlade

    Содержит типы данных: календарь и временной ряд
    Сложные данные, сохраняемые в каждый промежуток времени
    Больше 20 встроенных функций:
    Clip, project, running average, exponential
    smoothing, on balance volume, etc.
    Бoлее чем в 100 раз быстрее, чем в реляционной СУБД
    Возможности применения:
    управлениe рискaми финансовых портфелей
    регистрация показателей приборов
    покадровый анализ видео

    Модули DataBlade: контекстный поиск и документооборот

    ArborTextArborText SGML Document Objects DataBlade
    Excalibur Technologies Corporation ExcaliburReal-Time Profiling DataBlade Excalibur Text DataBlade
    IsoQuest IsoQuest Name Tag DataBlade
    Open Text CorporationOpen Text LiveLink Document Managment DataBlade
    Personal Library SoftwarePLS Text DataBlade Verity Text DataBlade
    Verity,Inc.Verity Text Extender DataBlade

    Модули DataBlade: мультимедийные данные

    Excalibur Technologies Corporation Excalibur Face Recognition
    Excalibur Image DataBlade
    Excalibur Scene Change DataBlade
    Informix Software, Inc. Informix Video Foundation DataBlade
    MuscleFish LLC MuscleFishAudio Information Retrieval DataBlade
    NEC CorporationNEC TigerMark DataBlade
    Virage,Inc.Visual Information Retrieval DataBlade
    Vxtreme,Inc.Vxtreme VideoDataBlade

    Модули DataBlade: Web/Electronic Commerce

    Informix Software, Inc. Informix Web DataBlade
    Mortice Kern Systems,Inc,MKS Content Management DataBlade
    Open Market, Inc. Open Market Internet Commerce DataBlade
    Prime Factors,Inc. Prime Factors DesCrypt DataBlade
    SLP-StatistiquesSLP Web Report DataBlade

    Financial/Data Warehousing DataBlade Modules

    Informix Software, Inc. Informix TimeSeries DataBlade
    Consistency Point Technologies, Inc.CPT OptiLink DataBlade
    Electronix Digital Documents,Inc.EDD DataCleanser DataBlade
    Expector Software,Inc.Expector Fuzzy Search DataBlade

    Модули DataBlade: географические и пространственные данные

    ECOlogic CorporationECOlogic Visualization DataBlade
    Informix Software, Inc. Informix Spatial DataBlade
    MapInfo CorporationMapInfo Geocoding DataBlade
    TelContar TelContar Global/Interval DataBlade

    INFORMIX-Web DataBlade Module

    Данные WWW: традиционный подход

    Универсальный сервер: динамическое формирование Web-страниц

    Интеграция в архитектуру Internet/Intranet

    Informix Universal Web Architecture

    [Назад] [Содержание] [Вперед]