КОРПОРАТИВНЫЕ СИСТЕМЫ

Четвертый год подряд аналитики из Gartner называют подразделение Teradata (www.teradata.com) корпорации NCR доминирующим поставщиком хранилищ данных. Недавно назначенный руководителем отделения исследований и разработок Teradata Скотт Гно главное преимущество своей компании перед конкурентами в этой сфере видит в том, что у нее есть технологии, обеспечивающие практически неограниченное масштабирование решений на основе параллельной обработки информации (базы данных Teradata могут масштабироваться до объема свыше 1 Пб, хотя на практике пока достигнута величина около 500 Тб). Между тем в нашей стране Teradata известна еще мало, хотя специалисты по СУБД знают ее как пионера технологии создания хранилищ данных. Проходившая с 17 по 22 сентября в Орландо (США) ежегодная конференция пользователей Teradata представила нам хорошую возможность лучше познакомиться с этим поставщиком решений и технологий корпоративных хранилищ данных.

Вице-президент Teradata Майк Келер открывает партнерскую конференцию

Продукты компании

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

Топология BYNET

Первые версии параллельной базы данных Teradata работали на компьютере с массивно-параллельной архитектурой (MPP), который назывался DBC1012. После того как компанию купила NCR, эта последняя разработала машины 3600-й серии, предназначенные для обслуживания базы данных Teradata, и специализированную ОС для них. Однако ориентация NCR на открытые системы привела к разработке машин серии 3700, которые должны были обеспечить перенос архитектуры Teradata на открытую платформу. Но затем NCR была поглощена корпорацией AT&T, из-за чего этот проект так и не был доведен до конца, и только в 1995 г. появилась серия 5100, которая стала первой открытой платформой для Teradata. Выпускаемые сегодня серверы NCR5400 являются наследниками этих машин и работают под управлением ОС MP-RAS (фирменного варианта Unix SVR4; аббревиатура RAS в его названии означает reliability, availability and scalability - надежность, доступность и масштабируемость).

Teradata еще со второй половины 1990-х, когда Intel стала широко рекламировать достоинства будущего Itanium, попыталась портировать свои продукты с MP-RAS на один из самых распространенных вариантов Unix для этого процессора. Сначала руководители Teradata планировали перенести свою базу данных на Solaris для платформы IA-64, а затем, когда из-за конфликта между Sun и Intel разработка этой ОС была прекращена, - на HP-UX для IA-64. Однако проблема совместимости с 32-разрядными приложениями и невыгодное соотношение цена/производительность двух- и четырехпроцессорных конфигураций Itanium вместе с появлением 64-разрядных Xeon положили конец этим попыткам. Как объяснил нам директор Teradata по технологиям Стивен Бробст, сейчас разработчики базы данных принципиально ориентируются на микропроцессоры со стандартной архитектурой, такие, как Xeon или Opteron. В настоящее время база данных Teradata поддерживает и Windows, но основная часть клиентов, у которых построены большие конфигурации, предпочитают MP-RAS.

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

В дополнение к хранилищу Teradata предлагает еще ряд специальных моделей Logical Data Model (LDM) для вертикальных отраслей (финансового сектора и страхования, розничной торговли, промышленного производства, операторов связи, туристических и транспортных компаний), которые помогают построить и использовать хранилище. LDM позволяют постепенно заполнять хранилище данными в соответствии с потребностями конкретного предприятия и выбирать те элементы модуля, которые нужны в текущий момент.

С LDM тесно связаны и консалтинговые услуги Roadmap Modeling, заключающиеся в том, что специалисты Teradata совместно с заказчиком анализируют проблемы его бизнеса и рассматривают варианты решения этих проблем. По результатам анализа строится "дорожная карта" (Roadmap) поэтапного внедрения базы данных и ее последующего расширения, а также инсталляции и использования модулей LDM.

Еще одно приложение, которое предлагает Teradata, - это Warehouse Miner, выполняющее углубленный анализ данных (data mining) и прогнозирование. Кроме того, компания предлагает собственный продукт CRM и несколько аналитических приложений, в том числе для анализа цепочек формирования спроса, и использует решения своих партнеров для извлечения, загрузки и преобразования данных.

Архитектура массового параллелизма

Серверы Teradata строятся из стандартных компонентов. Они состоят из двухпроцессорных узлов на базе Xeon (в последней версии NCR5400 используются кристаллы с технологией Intel EMT64) и теоретически могут масштабироваться до 1024 узлов (на практике самая большая инсталляция Terаdata в сети розничных магазинов Wal-Mart насчитывает около 400 узлов). Каждый узел имеет собственный дисковый массив и может быть подключен еще к восьми дисковым массивам (в качестве которых используются системы хранения Engenio и EMC) других узлов. До восьми узлов с их дисками образуют группу - так называемую клику (clique). В клике узел может обращаться к дискам другого узла только в случае сбоя последнего. Такая массивно-параллельная архитектура построения многоузловых комплексов похожа на кластеризацию по принципу shared-nothing (означающему, что у узлов нет общих ресурсов). Как мы увидим дальше, Teradata использует эту архитектуру на уровне ПО. По словам г-на Гно, сочетание клики и массового параллелизма позволило с помощью стандартных компонентов добиться неограниченной масштабируемости и высокой надежности.

Архитектура базы данных Teradata

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

Особенностью серверов Teradata является возможность объединения в одну систему узлов с процессорами разных поколений, что позволяет наращивать процессорную мощь, не заменяя старые узлы.

Узлы соединяются между собой с помощью фирменного интерконнекта под названием BYNET с топологией "точка - точка" (см. рис. 1). Архитектура BYNET была разработана еще для первых машин Teradata, а в те времена (в начале 1980-х годов) низкая пропускная способность интерконнектов сильно усложняла построение параллельных систем. Для решения этой проблемы инженеры компании применили технологию многоадресной рассылки сообщений (multicasting), которая хорошо подходит для определенных типов параллельной обработки запросов, соединения таблиц и сортировки данных. В современных серверах Teradata используется уже третье поколение BYNET с пропускной способностью 752 Мб/с на узел, обеспечивающее практически линейное масштабирование производительности при увеличении количества узлов в системе.

Для управления и диагностики серверы снабжены специальной сервисной платой, доступ к которой осуществляется с рабочей станции администратора.

Анатомия параллельных баз данных

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

Архитектура параллельной базы данных показана на рис. 2 на примере минимальной системы MPP из двух узлов, каждый из которых имеет два процессора и отдельные диски. Пользователи подключаются к системе обработки запросов Parsing Engine с помощью механизма балансировки нагрузки, и как только установится соединение через один из узлов, все запросы конкретного пользователя будут обслуживаться несколькими узлами. Анализаторы запросов Query Parser распределяют запросы между модулями Access Module Process (AMP). Первоначально AMP представляли собой специальные аппаратные модули, но теперь они реализованы в виде виртуальных процессов, выполняемых на уровне ОС. Каждый AMP обрабатывает несколько запросов от нескольких Query Parser и отвечает за контроль доступа к одному или нескольким логическим дискам, которые создаются на базе нескольких физических, входящих в состав RAID-массива уровня 1 или 5. Каждому AMP выделяется отдельный раздел базы данных и буферы ввода-вывода в оперативной памяти.

История Teradata

Основанная в 1979 г., Teradata (сейчас ее штаб-квартира расположена в Дейтоне, шт. Огайо, США) выпустила первую версию своего одноименного флагманского продукта четыре года спустя. Он представлял собой тесно интегрированный программно-аппаратный комплекс, предназначенный для построения реляционной базы данных и обслуживающий сложные запросы к терабайтным хранилищам. Стоит напомнить, что в начале 1980-х гг. емкость жестких дисков не превышала нескольких десятков мегабайт, и многие специалисты тогда считали, что в реальной жизни терабайтные базы данных невозможно построить в принципе. Тем не менее Teradata удалось опровергнуть эти предубеждения и доказать, что ее технология параллельной обработки больших объемов данных применима на практике и обеспечивает серьезные преимущества по сравнению с последовательными алгоритмами.

В 1991 г. компанию купила корпорация NCR, которую в следующем году приобрела AT&T. Вторая сделка, как и многие другие крупные поглощения в ИТ-секторе, оказалась неудачной из-за разницы в корпоративной культуре, и в результате Teradata, как и вся NCR, существенно ослабила свои позиции на рынке. Некоторые ведущие руководители тогда покинули компанию.

В 1996 г. NCR снова выделилась из AT&T, и с тех пор бизнес Teradata постоянно растет: из 5,9 млрд. долл. доходов NCR, полученных в 2004-м, 1,3 млрд. долл. приходится на долю Teradata, причем уже семь кварталов подряд это подразделение бьет рекорды по росту доходов.

По данным компании, к настоящему времени в мире на основе технологий Teradata построено свыше 1200 хранилищ данных. Среди ее клиентов - такие крупнейшие корпорации и организации, как AT&T, Bank of America, British Airways, Dell, Delta Airlines, eBay, LexisNexis, Lufthansa, Wal-Mart, а также немецкое почтовое ведомство, ВВС США и британское министерство обороны.

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

Оcобую роль в работе баз данных Teradata играют следующие три элемента:

- распределение (distribution) данных между AMP на основе алгоритма хэширования, который обеспечивает равномерное заполнение дисков;

- разбиение таблицы внутри AMP (Partitioned Primary Index, PPI) , предназначенное для повышения производительности при обработке определенного класса запросов за счет выполнения операций не над всей таблицей сразу, а над ее частями. Например, PPI можно применять для хранения в отдельном разделе данных по каждому месяцу или географическому региону, что позволяет значительно ускорить выполнение соответствующих этим условиям запросов;

- построение оптимального плана выполнения запросов с помощью стоимостного (cost-based) оптимизатора Optimiser.

Активное хранилище данных

Предложенная несколько лет назад идеология Active Data Warehousing означает существенное изменение самого подхода к построению хранилища данных. Раньше хранилище данных Teradata было ориентировано на быструю обработку сложных запросов стратегического характера, в том числе и к архивной информации. Такие запросы используются в основном для углубленного анализа данных и аналитических прогнозов. Teradata определяет активное хранилище как расширение возможностей хранилища классического за счет обновления данных "почти в реальном времени", благодаря чему хранилище предоставляет пользователю самую последнюю информацию.

В Teradata 8.0 в соответствии с принципами Active Data Warehousing добавилась поддержка обработки тактических запросов к оперативным данным, которые обычно просты и поэтому не создают дополнительной нагрузки (например, запрос от сотрудника call-центра, которому нужны архивные записи о клиенте).

Другой ключевой элемент Active Data Warehousing - это ориентированная на тактические запросы идеология приложений, "работающих на основе событий" (event-driven applications), которая реализована в нескольких функциях последней версии базы данных Teradata, в том числе в использовании таблиц очередей. Поясним принципы event-driven applications на примере приложения, связанного с обработкой транзакций.

1. На основе сбора измененных данных в хранилище данных вносятся сведения о новой транзакции (события).

2. С помощью алгоритма (if ... then ... else) данные о событиях заносятся в соответствующую таблицу очередей.

3. Каждая таблица очередей обрабатывается по отдельности по принципу FIFO (первым пришел - первым обслужен).

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

Управление запросами

Одной из основных задач при обслуживании хранилища данных является распределение нагрузки, которую создают запросы пользователей. Для ее решения Teradata использует следующие продукты:

- Dynamic Workload Manager для балансировки запросов и нагрузки, связанной с формированием отчетов. Этот продукт может составлять расписание обработки запросов так, чтобы они не запускались в часы пиковой нагрузки, контролировать их выполнение и даже повторно запускать те запросы, которые по каким-то причинам не были сразу обработаны;

- Dynamic Query Manager для запуска запросов, ответ на которые пользователь хочет получить немедленно. Данная функция откладывает выполнение запросов, требующих слишком много ресурсов или не соответствующих применяемым в хранилище данных правилам;

- Priority Scheduler - в соответствии с приоритетом определяет порядок запуска запросов, которые уже послал на выполнение Dynamic Query Manager. Он также организует распределение ресурсов между группами запросов с низким, средним, высоким и чрезвычайным приоритетом.

Что Teradata анонсировала в Орландо

На конференции пользователей в Орландо компания представила версию 8.1 своего флагманского продукта, в котором усовершенствовано управление распределением нагрузки при обработке запросов. Главным новшеством Teradata 8.1 является ПО Teradata Active System Management (TASM), в графическом виде отображающее информацию о нагрузке, которую создают запросы к системе. Применение TASM упрощает управление при одновременной обработке стратегических и тактических запросов, помогает оптимизировать активные хранилища данных и обеспечивает соблюдение соглашений об уровне сервиса (SLA).

Пабло Ледесма: "Teradata помогла Telefonica

превратиться из продукт-ориентрованной

компании в компанию, ориентирующуюся на клиентов"

Вместе с Teradata 8.1 вышла платформа J2EE Teradata Application Platform (TAP) 2.1 для разработки аналитических приложений на основе компонентов, использующих хранилище данных. TAP поддерживает такие популярные серверы приложений, как JВoss, IBM WebSphere и SAP NetWeaver, а также совместима с платформой Microsoft .NET.

В новом выпуске V2R6.1 базы данных Teradata реализована поддержка определяемых пользователем типов данных, что теоретически открывает возможность хранить в ней неструктурированные данные.

Представленная в Орландо шестая версия CRM-системы Teradata, которая теперь называется Relationship Manager, отличается от предшественницы ролевыми интерфейсами с персонализированным представлением данных и отчетов и ориентирована на подготовку и проведение маркетинговых кампаний.

На конференции Teradata совместно с Novell заявила о планах реализовать в начале следующего года поддержку 64-разрядной версии SuSE Linux (по словам г-на Гно, компания также собирается перенести свои продукты на 64-разрядную платформу Windows).

К своим главным форумам ИТ-фирмы обычно приурочивают объявление о новых крупных контрактах, и в Орландо руководство Teradata сообщило о начале проектов по созданию хранилищ данных для американского отделения DaimlerChrysler, австралийской пограничной службы и налогового управления американского штата Нью-Джерси. Аналогичный проект компания выполняет с 1998 г. в испанской Telefonica.

Крупнейший оператор связи в испаноязычных странах, Telefonica владеет 90% рынка телекоммуникаций в Латинской Америке. В последние годы компания активно выходит и на рынки других стран, например Китая и Чехии.

По словам Пабло Ледесмы, директора Telefonica по маркетингу, до 1998 г. эта компания была монополистом на рынке телефонной связи в Испании и после отмены государственного регулирования неизбежно должна была потерять часть рынка. Чтобы свести к минимуму отток клиентов к другим операторам, ее руководство решило внедрить систему Business Intelligence (BI) на основе хранилища данных Teradata. Она помогла детально изучить потребности абонентов и их предпочтения, и в результате доля Telefonica на рынке фиксированной связи в Испании сократилась всего на 10-12%. Компания также использовала инструменты BI при подготовке к выводу на рынок услуг широкополосного доступа, ADSL и интерактивного телевидения. Как отметил г-н Ледесма, если раньше Telefonica ориентировалась на продукты, т. е. старалась продать свои услуги как можно большему количеству клиентов, то теперь с помощью BI она способна изучить спрос и разработать те услуги, которые больше всего востребованы на рынке.

Последние два года Teradata активно расширяет географию своих операций, вынося их за пределы США, Западной Европы и Японии, где сосредоточены ее основные заказчики. Около года назад при московском офисе NCR открылось российское представительство компании. По мнению возглавившего его директора по развитию бизнеса Виорела Бытки, потенциальными заказчиками Teradata в России являются крупные банки и операторы мобильной связи, а также сети розничной торговли, т. е. предприятия, располагающие большой клиентской базой.