Корпоративные базы данных - статьи

       

Реализация СУБД Teradata в архитектуре MPP (5100 и 5150)



Реализация СУБД Teradata в архитектуре MPP (5100 и 5150)
На следующем рисунке показано использование СУБД Teradata в системе MPP, состоящей из четырех кластеров, каждый из которых состоит из четырех узлов SMP, соединенных между собой шиной BYNET. Как и в случае с однокластерной системой, на каждом узле работают несколько виртуальных процессоров AMP и несколько виртуальных процессоров PE. При этом можно либо распределить равномерно процессы по узлам, либо приписать каждому AMP или PE определенный узел. Слой передачи сообщений реализован в виде комбинации программного обеспечения PDE и BYNET. Кластеры не разделяют ни программное, ни аппаратное обеспечение. Архитектура СУБД share nothing естественно гармонирует с архитектурой системы, а возможности масштабируемости практически беспредельны. Teradata MPP

Мощь MPP архитектуры Данная конфигурация может обрабатывать от 2 до 32 ТБ данных. Общая пропускная способность шины BYNET равна 320 МБ/сек. Для сложных запросов по поддержке принятия решений, в случае полного сканирования диска, система в данной конфигурации может выполнять до 40000 операций чтения в секунду. Строки в 163-байта располагаются в блоках по 32К, поэтому 1.6 миллиона строк могут составлять до 64 гигабайтов памяти, ежесекундно анализируемых 256 процессорами Pentium для выполнения сложных пользовательских SQL-запросов. 1.6 миллион строк в секунду - скорость впечатляющая. Вот она, мощь MPP архитектуры и СУБД Teradata! BYNET В настоящее время сеть BYNET позволяет соединять максимум 512 узлов с максимальным объемом базы данных в 128 ТБ и пропускной способностью системы 10 ГБ/сек. СУБД Teradata для ОС UNIX, выпущенная в декабре 1995 года, поддерживает базы данных объемом до 128 ТБ, поэтому как только появится оборудование для создания более крупных систем, будет проведена сертификация СУБД Teradata для работы на таком оборудовании. Теоретический предел возможностей сети BYNET составляет 4096 узлов. Благодаря современной технологии проектирования узлов, данный предел может быть реально достигнут.
На таком количестве узлов можно разместить 16384 гигабайта памяти, 65536 процессоров и базы данных объемом в 1000 терабайт (1000 терабайт называется петабайт). Тем не менее, первый релиз данной технологии вовсе не означает достижения какого-либо технологического предела, поскольку уже в 1997 году объемы баз данных в сферах розничной торговле и телекоммуникаций превысят 70 ТБ. Петабайтные базы данных будут содержать нереляционные объекты, такие как текст, звук, видео и телеметрическую информацию. Защита инвестиций По мере роста пользовательских систем от архитектуры SMP, к кластерным системам и MPP системам, инвестиции, вложенные в аппаратное и программное обеспечение, должны быть защищены на все 100%. Например, обновление системы 5100S до системы 5100C выполняется за счет установки дополнительных узлов, рабочей станции администратора системы (AWS) и соединительной платы для существующих узлов 5100S. Аналогичным способом система 5100C обновляется до 5100M. Инвестиции, вложенные в аппаратуру 5100C, защищены на 100%. Обновление системы выполняется на месте. СУБД Teradata, работающая на 5100S - это та же самая СУБД, работающая на 5100C и на 5100M. Инвестиции в базы данных и все приложения также защищены на 100%. Гибкость СУБД Teradata позволяет добавлять в существующие системы дополнительные узлы и стойки следующего поколения. Баланс в системе поддерживается за счет распределения виртуальных процессоров по всем узлам. По мере добавления в систему более мощных узлов увеличивается и число виртуальных процессоров. Аналогичным образом первоначальные инвестиции в аппаратуру 5100 будут защищены на 100% , даже при появлении технологически новых систем. ТЕХНИЧЕСКИЕ особенности СУБД Teradata СУБД Teradata для UNIX предоставляет широкие возможности. Эти возможности рассматриваются в последующих разделах. Возможности клиента базы данных Пользовательские приложения могут работать с СУБД Teradata через интерфейс уровня вызовов CLI (Call Level Interface), Micro Teradata Director Program (MTDP) и Micro Operating System Interface (MOSI).


Эти программные компоненты направляют операторы SQL системе управления базой данных и возвращают ответы на запросы приложению. Процедуры CLI, MTDP и MOSI хранятся в библиотеках, которые линкуются с приложением. Teradata поддерживает стандартные программные интерфейсы, такие как ODBC, JDBC и ESQL. Компоненты программного обеспечения клиента

Возможности сервера баз данных На серверах World Mark функционирует серверная часть СУБД. Клиентское программное обеспечение поставляется для IBM MVS и VM, UNIX System V (включая 5100), DOS, Windows, OS/2, Macintosh и других платформ. Клиентские приложения направляют операторы SQL на выполнение в СУБД. Клиентские платформы подключаются к серверу либо через локальную сеть (LAN-attached clients), либо через каналы связи (channel-attached clients). Последнее относится к мэйнфреймам. Средства разработки клиентских приложений СУБД Teradata для OC UNIX состоят из препроцессоров ESQL с языков (COBOL, C и PL/I), а также программных интерфейсов CLI и Teradata Director Program. В программное обеспечение для мэйнфреймов IBM входят модули связи с CICS и IMS/DC. Кроме того разработка прикладного ПО возможна через имеющиеся драйверы ODBC и JDBC, с использованием таких средств как MS Visual Basic, MS Visual C++ и др. В программное обеспечение сервера баз данных, также входит шлюз базы данных (DBS Gateway), который преобразует внешние сетевые протоколы во внутренние протоколы сообщений СУБД. SQL Teradata SQL обеспечивает полный уровень совместимости с ANSI-стандартом языка SQL. Кроме того имеются свои собственное расширения стандарта SQL, специфичные исключительно для СУБД Teradata. Пользователь, работающий с СУБД Teradata через программу BTEQ (клиентская программа для интерактивной работы с БД), может установить для себя либо режим ANSI SQL, либо Teradata SQL. К некоторым из важных особенностей относятся:

  • Оператор ALTER TABLE, который добавляет столбцы или индексы к существующим таблицам
  • Обновляемые представления (VIEW), включая поддержку виртуальных столбцов
  • Вложенные подзапросы
  • Макросы SQL: именованные последовательности операторов SQL
  • Функции справки (HELP и SHOW), которая может показывать структуры БД, таблиц, представлений и статистические данные.
  • Функция EXPLAIN - используется следующим образом.




    Перед SQL запросом достаточно поставить слово explain, explain select ... (текст запроса). Результатом будет подробное объяснение пошагового выполнения запроса на английском языке

Препроцессоры В СУБД Teradata входят следующие препроцессоры для языков:

  • VS COBOL, C и PL/1 для сред MVS и VM;
  • ANSI C для среды UNIX;
  • COBOL

Интерфейс уровня вызова (Call-Level Interface - CLI) Интерфейс уровня вызова (Call-Level Interface - CLI) - это набор библиотечных функций, которые предоставляют прикладной программе интерфейс к СУБД Teradata. Вызовы CLI обычно поставляются в препроцессоре языка, но они также могут вызываться непосредственно в языках, для которых нет препроцессоров. В данный момент для большинства платформ доступен CLI версии 2 (CLIv2). Словарь метаданных В СУБД Teradata включен полностью интегрированный словарь метаданных (Data Dictionary), который позволяет пользователям получать информацию об объектах базы данных (например, таблицах и столбцах). Словарь метаданных состоит из системных таблиц и представлений, потому к нему можно обращаться с помощью стандартного языка SQL. Безопасность в Словаре данных обеспечивается с помощью механизмов представлений (VIEW) и привилегий (PRIVILEGES). Для администраторов баз данных существуют специальные представления, в которых содержится информация о доступе, использовании и владельцах. Управление транзакциями Teradata полностью поддерживает концепцию транзакций и предоставляет широкие возможности по журналированию, управлению параллельной работой, восстановлению данных и использованию контрольных точек. Защита целостности данных Целостность данных поддерживается в СУБД Teradata с помощью следующих возможностей: Управление параллельной работой Teradata предоставляет возможность блокировки на уровне базы данных, таблицы и хэш-значений для строк. Блокировки имеют четыре уровня: эксклюзивный (exclusive), на запись, на чтение и на доступ. Защита при восстановлении Данные защищены от сбоев в локальных или распределенных приложениях, от сбоев процессора или диска, а также от некорректного завершения приложения.


Система автоматически выполняет операции по восстановлению и возобновляет работу. Резервное копирование и архивация баз данных В дополнение к возможностям по архивации в режиме "off-line", предоставляемым утилитой Архивации и Восстановления (Archive and Recovery utility) и функцией Архивации и хранения (Archive and Storage Facility), в Teradata также доступны постоянное и временное журналирование. Все операции выполняются параллельно. Журналирование Для обеспечения целостности транзакций в СУБД Teradata используется постоянное и временное журналирование. Временный журнал (Transient Journal) Во временном журнале хранятся образы строк перед тем, как они изменяются в ходе транзакции, выполняющей обновление данных. После фиксации транзакции эти образы удаляются из журнала, позволяя повторно использовать освободившееся пространство. Если транзакция не может быть завершена, то Teradata выполняет автоматический "откат" транзакции и строки таблицы БД возвращаются в первоначальное состояние, используя образы во временном журнале. Постоянный журнал (Permanent Journal) Постоянные журналы - это необязательные таблицы, в которые записываются образы строк до выполнения транзакции и/или после фиксации транзакции. В качестве дополнительной защиты допускается двойное копирование образов, даже если для журналируемых таблиц, не используется механизм защиты fallback. Постоянные журналы позволяют выполнять откат (roll back) или прокрутку таблицы или всей базы данных (roll forward) к той или иной контрольной точке. Механизм защиты данных - Fallback При необходимости СУБД Teradata может хранить две копии таблиц: основную и аварийную копию, распределенные между виртуальными процессами AMP. При нормальной работе чтение производится только из основной копии, а обновление выполняется в обеих копиях. Если при сбое первая копия становится недоступной, то для чтения и обновления используется аварийная копия. С появлением RAID и Кластеров в большинстве случаев использование аварийной копии стало излишним. Кластеры Несколько узлов 5100, 5150 или 4700 могут быть соединены в конфигурацию с разделяемым диском.


Такая конфигурация называется кластером. При сбое любого узла в кластере все остальные узлы разделяют его нагрузку, до тех пор пока он не будет восстановлен. Это позволяет добиться сбалансированного восстановления от сбоев и избежать значительного ухудшения производительности, которое наблюдается на многих MPP-платформах с неработающими компонентами. Восстановление - операционная система не перезапускается В случае перезагрузки СУБД происходит перезапуск всех ее программных компонентов. Однако в СУБД Teradata операционная система не перезапускается, что обеспечивает более быструю перезагрузку всей системы. Во время процесса восстановления каждый виртуальный процесс AMP восстанавливает по журналу транзакций таблицы данных, а также используя т.н. системную таблицу, называемую cylinder indexes и постоянно расположенную на диске, строит таблицу master index, постоянно расположенную в оперативной памяти. Восстановление виртуальных процессов AMP выполняется параллельно и асинхронно. Обеспечение защиты данных от несанкционированного доступа. СУБД Teradata поддерживает предоставление и отмену привилегий для каждого пользователя на любую таблицу, представление, макрос или базу данных. Привилегии даются на: создание или удаление одного из данных объектов, выполнение макроса, вставку, выборку, обновление или удаление строк в таблице, а также на предоставление привилегий другим пользователям. Идентификация пользователя происходит по его логическому имени и паролю, логическое имя также используется для назначения дискового пространства. Все функции безопасности определены посредством языка Teradata SQL. Поддерживается уровень безопасности C2. Поддержка СУБД Teradata В ОС UNIX Для поддержки СУБД Teradata для ОС UNIX используются следующие основные компоненты:

  • Программа Database Window
  • Утилиты поддержки
  • Интерфейсы и утилиты для клиентов, подсоединенных через каналы связи
  • Продукты расширения для клиентов, подсоединенных по каналам связи
  • Интерфейсы и утилиты для клиентов, подсоединенных через сеть (LAN)
  • Программное обеспечение для шлюза базы данных (DBS Gateway)
  • Программное обеспечение для поддержки каналов связи



Назначение этих компонентов объясняется в последующих разделах. Отдельное внимание уделено новым возможностям. Программа Database Window Database Window - это консольная программа для системного администрирования СУБД Teradata. Она может быть запущена в любой среде, поддерживающей Xwindows® . При запуске Database Window появляется главное окно, из которого пользователь может вызвать окно супервизора, окно сообщений базы данных или любое из окон приложений. Утилиты поддержки Далее приводится список утилит, которые используются системными инженерами, администраторами баз данных и системными администраторами. Данные утилиты предоставляют базовые функции по обслуживанию СУБД Teradata. Эти утилиты, за исключением Pdeconfig, запускаются из приложения Database Window на рабочей станции по администрированию системы (AWS). Pdeconfig запускается как приложение UNIX. Возможности, реализованные в Teradata для UNIX, выделены жирным шрифтом.

  • AbortHost - отменяет незавершенные транзакции
  • Checktable - проверяет целостность и непротиворечивость таблицу
  • Config - задает логическую конфигурацию СУБД (Виртуальные процессы AMP и виртуальные процессы PE)
  • DBSControl (Управление СУБД) - позволяет задавать для СУБД глобальные runtime флаги
  • DIP (Программа инициализации базы данных) - инициализирует базу данных
  • Vproc Manager (Диспетчер Vproc) - позволяет специально обученным сотрудникам получать статистическую информацию о Виртуальных процессрах и изменять различные параметры Виртуальных процессоров
  • Gateway Control Utility (утилита управления шлюзом) - управляет сетевыми соединениями
  • Ferret - позволяет специально обученным сотрудникам просматривать и устанавливать различные параметры, контролирующие использование дискового пространства, без разрушения данных файловой системы. После установки параметров Ferret может динамически переконфигурировать данные на диске так, чтобы они соответствовали новым параметрами.
  • Filer - позволяет специально обученным сотрудникам получать сведения, необходимые для поиска и исправления ошибок в файловой системе.


    Эту утилиту следует использовать с большой осторожностью, поскольку она иногда обходит средства безопасности при отображении или изменении параметров. (Эта программа предоставляется для использования только специалистами NCR.)
  • Pdeconfig - инициализирует PDE и конфигурирует аппаратное обеспечение для виртуальных процессов
  • QryConfig (Запрос по конфигурации) - отображает текущую логическую конфигурацию СУБД
  • QrySessn (Запрос по сеансам) - отображает информацию о статусе сеансов
  • RcvManager (Диспетчер восстановления) - отображает статус процесса восстановления данных
  • Rebuild (Построение таблицы) - восстанавливает таблицу или таблицы из аварийной копии, механизма fallback
  • Reconfig - перераспределяет данные на дисках. Выполняется автоматически при добавлении или удалении виртуальных процессов AMP
  • Showlocks - показывает блокировки на базах данных и таблицах
  • SysInit (Инициализатор системы) - позволяет специально обученным сотрудникам инициализировать системные таблицы Teradata и все пользовательские таблицы

Базовое программное обеспечение для клиентов,

подсоединенных через сеть (LAN)
Базовое программное обеспечение является интерфейсом между СУБД Teradata и приложением, работающим на подсоединенной через сеть клиентской платформе. В базовое программное обеспечение входят:

  • Micro Teradata Director Program (MTDP)
  • Micro Operating System Interface (MOSI) - библиотека сервисов для конкретной операционной системы и коммуникационного протокола связи. MTDP вызывает процедуры в библиотеке MOSI (вместо прямых обращений к библиотеке операционной системы) для выполнения таких системных сервисов, как обработка прерываний, обработка ввода/вывода, а также связи по сети.
  • Интерфейс уровня вызова (CLI) Версии 2

Утилиты для клиентов, подсоединенных через сеть (LAN) В состав утилит, запускающихся на подсоединенных через сеть клиентских платформах, входят:

  • Basic Teradata Query (BTEQ) - выполнение базовых запросов к СУБД Teradata
  • FastLoad - загрузка данных в пустые таблицы.
  • Preprocessor для языка С - для платформ NCR, на которых установлен UNIX
  • Preprocessor для языка COBOL - для платформ NCR, на которых установлен UNIX



Программный интерфейс для клиентских утилит, подсоединенных

через сеть и программное обеспечение шлюзов
Программный интерфейс для утилит клиента и программное обеспечение шлюзов, на подсоединенных через сеть клиентских платформах, состоит из:

  • WINCLI - для IBM PC и совместимых машин, на которых установлена операционная система MS-DOS и Microsoft Windows
  • ODBC - для IBM PC и совместимых машин, на которых установлена операционная система Microsoft Windows
  • Модуль доступа OMNI для СУБД Teradata
  • Database Query Manager (Диспетчер запросов к базе данных)

Клиентское программное обеспечение В дополнение к базовому программному обеспечению клиентов и клиентским утилитам, подключающимся через сеть, для платформ 5100/5150/4700 также доступно следующее программное обеспечение:

  • Archive Storage Facility (ASF2) - обеспечивает полную архивацию и восстановление баз данных Teradata на ленточные устройства. Это избавляет от необходимости делать архивацию через мэйнфрейм IBM. Утилита ASF2 также используется, чтобы записывать на ленты дампы памяти, которые могут быть затем проанализированы сотрудниками из службы технической поддержки.
  • FastExport - выгрузка данных из таблиц
  • MultiLoad - загрузка и обновление данных в пустых и непустых таблицах

Программное обеспечение шлюза DBS Gateway DBS Gateway преобразует внешние сетевые протоколы во внутренние протоколы сообщений СУБД. Первая версия СУБД Teradata для UNIX на платформе 5100 поддерживает через шлюз порядка 600 сеансов. Программное обеспечение поддержки каналов связи Программное обеспечение поддержки каналов связи IBM обеспечивает соединение с мэйнфреймом IBM или другими совместимыми мэйнфреймами. Поддержка каналов на 5100 предоставляет до 8 каналов связи на узел и 120 сеансов на канал. Заключение В настоящее время Teradata является одним из лучших в мире продуктов для массивно-параллельной обработки (MPP). Это единственный продукт, имеющий четырнадцатилетнюю историю в технологиях параллельной обработки данных и единственный продукт, по-настоящему поддерживающий хранилища данных, в наиболее крупных компаниях мира.


Это единственный продукт, поддерживающий хранилища данных с терабайтными объемами. В настоящее время, на UNIX платформе, на серверах WorldMark 4700/5100/5150 СУБД Teradata достигла выдающейся производительности в SMP-системах, наивысшей степени надежности в кластерных системах и непревзойденной мощности в MPP-системах. Масштабируемое аппаратное и программное обеспечение, а также привлекательная ценовая политика создают одно из лучших решений для предприятий, использующих DSS системы. Мы широко открыли дверь в будущее! Для тех, кто планирует внедрять средние или крупные системы хранения данных, Teradata - это единственный реальный выбор. Совсем недавно компания NCR представила новое поколение MPP серверов это модели NCR WorldMark 4700 и 5150. Обе модели представляю собой принципиально новое решение сочетая в себя традиционные для серверов компании NCR черты такие как непревзайденная производительность, масштабируемость, высокая готовность, рекордное соотношение цена/производительность и как итог беспрецедентная защита инвестиций. Обе машины используют стандартные Intel компоненты и архитектуру PCI и позволяют клиентам начать с нескольких десятков гигабайт и расти до десятков терабайт.
NCR

Константин Лисянский, Дмитрий Слободяников

Тел.: (095) 961-3030 Факс (095) 961-3031

E-mail:

| |

Содержание раздела