|
| |
Рис. 1. Схема обработки запросов с помощью специализированной машины
|
В машинах хранилищ данных используется либо массивно-параллельная, либо гибридная схема мультипроцессирования. Иерархическая архитектура машин NPS (рис. 2, б) компании Netezza получила название ассиметричная массивно-параллельнаях (Asymmetric Massively Parallel). На первом уровне располагается основной узел, мощный SMP-сервер, а на втором — десятки и сотни параллельно работающих миниатюрных периферийных узлов (Snippet Processing Unit, SPU). Компания DATAllegro применяет массивно-параллельную схему мультипроцессирования без разделения ресурсов (Ultra Shared Nothing). В ее специализированных устройствах (рис. 2, а) главный и периферийных узлы — это полнофункциональные двухпроцессорные серверы СУБД на базе процессоров Intel Xeon, каждый из которых оснащен 12 дисками Raptor производства Western Digital. Преимущества распределения обработки данных по периферийным узлам проиллюстрируем на основе гипотетического примера из области добычи полезных ископаемых. Чтобы получить всего несколько килограммов редкоземельного металла (результат запроса), сначала необходимо выдать на-гора тысячи тонн породы (исходные данные). Далее нужно построить магистрали и обзавестись должным количеством транспортных средств, чтобы доставить руду на обогатительный комбинат. Затем сырье подвергается соответствующей обработке (фильтрация исходных данных). А что, если процесс обогащения (фильтрация данных) перенести как можно ближе к месту добычи (запоминающее устройство) и возить только концентрат? Тогда, во-первых, не потребуется транспорт большой грузоподъемности, а значит, упростится транспортная инфраструктура (сетевое соединение). Во-вторых, снизится нагрузка на перерабатывающее предприятие (главный узел).
| |
Рис. 2. Примеры архитектур машин хранилищ данных
|
Современное дисковое запоминающее устройство мощного сервера, настольного компьютера и ноутбука фактически представляет собой небольшой компьютер. В нем кроме дискового шпинделя имеются контроллер с достаточно мощным процессором, оперативная память и порты ввода/вывода. Как показали исследования и экспериментальные разработки в области так называемых «интеллектуальных» дисков, проводившиеся в 70–90-е годы, наряду с выполнением на физическом уровне элементарных операций ввода-вывода такие устройства могут взять на себя обработку более сложных инструкций, которая обычно возлагается на серверную часть СУБД [4, 5]. При обработке фрагмента запроса периферийный узел работает практически автономно. Здесь планируется вычислительный подпроцесс, происходят выделение и освобождение памяти, управление транзакциями, обработка контрольных точек и т.д. Все низкоуровневые операции на уровне записей (сопоставление значений, фильтрация, проекция, блокировка и журналирование) выполняются в непосредственной близости от места хранения данных. За счет этого радикально уменьшаются паразитный трафик и нагрузка на центральный узел, а управление системой упрощается. Операции сортировки, слияния и агрегирования промежуточных результатов выполняются, в зависимости от плана обработки запроса, на периферийных узлах или центральном сервере СУБД. Доступ к дискам может осуществляться в произвольном порядке (за одно обращение считывается страница памяти) или последовательно (смежные страницы обрабатываются непрерывно). Для целого ряда приложений бизнес-аналитики потоковая обработка (data streaming) предпочтительна, поскольку она не сопряжена с интенсивным перемещением головок и выполняется значительно быстрее. Но из-за широкого применения индексов, необходимости поддержки разных запоминающих устройств, операционных систем и СУБД в традиционных технологических платформах хранилищ данных приходится ориентироваться преимущественно на произвольный доступ. Разработчики машин хранилищ данных применяют специальные механизмы сериализации, фактически обеспечивающие отказ от индексов и обработку данных непрерывным потоком. Среди таких механизмов — реализованная на уровне адаптации СУБД технология Direct Data Streaming компании DATAllegro и встраивание соответствующих функций управления данными в прошивку программируемой матрицы контроллера дисков периферийного узла SPU компании Netezza. Компания Calpont идет еще дальше: ее специализированные устройства вообще не имеют дисков. Данные хранятся в оперативной памяти, а аппаратная реализация СУБД, называемая машиной потоков данных (data flow engine), состоит из анализатора запросов (parser), обработчика плана запроса (execution tree engine) и процессора доступа (graph engine), с помощью которого осуществляются операции манипулирования данными. Программное обеспечение машин хранилищ данных базируется на открытых операционных системах и системах управления базами данных. Этот выбор продиктован как инженерными, так и экономическими соображениями. Если компания-разработчик не владеет правами интеллектуальной собственности на соответствующие продукты и технологии, то для глубокой адаптации программного обеспечения к архитектуре системы и его интеграции с техническими средствами (в том числе встраивания функций управления данными в аппаратуру) ей требуется доступ к исходным кодам. Кроме того, необходима всесторонняя поддержка со стороны как поставщика программного решения, так и сообщества пользователей и разработчиков. Второе условие вызвано своеобразием модели «все в одном»: приобретая машину хранилища данных, потребитель должен получить готовое к эксплуатации изделие и не заботиться о покупке лицензий или подписок на программы. Поэтому на машинах NPS компании Netezza устанавливается операционная система Red Hat Linux Advanced Server, а на устройствах DATAllegro — Novell SUSE Linux. Наряду с функциональной полнотой, высокими производительностью и надежностью важнейшими характеристиками СУБД для машин хранилищ данных являются эффективная реализация функций агрегирования отношений, загрузки данных и распараллеливания обработки, модульность и возможность адаптации к аппаратной платформе, разнообразие структур таблиц и индексов, обеспечение управления вводом/выводом на физическом уровне. В качестве исходной системы в Netezza выбрали открытую СУБД PostgresSQL. В машинах NPS ее функции разделены между главным и периферийными узлами ;— операции высокого уровня реализуются серверным компонентом DBOS, а низкоуровневые встроены на аппаратном уровне в контроллеры периферийных узлов SPU. Дополнительные программные средства NPS включают в себя Windows- или Web-консоль администратора и утилиту массовой загрузки хранилища данных. Компания DATAllegro в качестве СУБД использует существенно переработанную версию CA Ingres R3. Она имеет развитые средства оптимизации и параллельной обработки запросов, доступа к данным на физическом уровне, управления транзакциями и памятью. Возможности системы расширяет интеллектуальный маршрутизатор запросов Intelligent Query Router, с помощью которого можно создавать распределенные хранилища данных и встраиваемые в специализированные машины средства криптографической защиты информации. Одно из ключевых требований к хранилищам данных — обеспечение целостности данных и отказоустойчивости системы. В машине хранилищ данных NPS основной механизм обеспечения целостности — полное дублирование данных таблиц, хранящихся на периферийных узлах SPU, с размещением зеркальной копии на альтернативном узле. Дополнительно реализуются требования атомарности, непротиворечивости, изолированности и сохраняемости, которым должны удовлетворять операции над базой данных, а также оперативного восстановления работоспособности после сбоев (с временной потерей производительности), получения моментальных снимков состояния базы данных, пошагового резервного копирования и восстановления изменений базы данных. В каждой стойке NPS есть источник бесперебойного питания, коммутатор Gigabit Ethernet и четыре резервных периферийных узла SPU. Единственным элементом, отказ которого приводит к выходу из строя всей системы, является главный узел, а потому в конфигурациях с повышенной отказоустойчивостью дублируется и этот компонент. Для поддержания целостности данных в машине компании DATAllegro используются аналогичные средства, а также разработанный по аналогии с технологией RAID механизм избыточный массив недорогих хранилищ данных (Redundant Array of Inexpensive Warehouses, RAIW). Конструктивно все узлы этой системы идентичны, поэтому при выходе из строя главного узла его функции берет на себя один из периферийных. Что привлекает пользователейСогласно результатам опроса 3 тыс. руководителей компаний, который провел в середине прошлого года институт The Data Warehouse Institute (TDWI), 39% организаций уже используют или изучают целесообразность внедрения машин хранилищ данных. Есть несколько аргументов в пользу такого решения: это прозрачность, высокая производительность, простота эксплуатации и приемлемая общая стоимость. Последняя складывается из стоимости оборудования, развертывания системы и поддержания заданных операционных характеристик (до 80% общих затрат). «Регулярное общение с пользователями свидетельствует о том, интерес к машинам данных растет. Это инновационное решение сулит большие преимущества», — подчеркивает Филип Рассом, руководитель исследовательского подразделения TDWI [6]. По сравнению с системами, базирующимися на традиционных платформах, машины хранилищ данных обеспечивают 10–50-кратное ускорение обработки запросов. Не менее важны и сроки окупаемости (возврата инвестиций). Из-за того, что не нужны длительные конфигурирование и настройка оборудования, удается быстро получать аналитические отчеты и сводки. Благодаря прозрачности взаимодействия с современными продуктами для бизнес-анализа (Business Objects, Cognos, MicroStrategy, SAS, Unica и др.) и загрузки данных (Ascential, Informatica, Sunopsis) ИТ-подразделения могут гибко формировать хранилища данных и встраивать их в имеющуюся инфраструктуру. При этом не нарушается работоспособность систем, автоматизирующих основные виды деятельности компании. Для телекоммуникационных фирм массовое применение средств бизнес-анализа стало неотъемлемой частью повседневных операций. Скажем, компания Caudwell Communications (Великобритания) предлагает пакеты услуг проводной связи частным лицам и бизнес-структурам. Конкуренция в этом сегменте рынка очень высока, и для того, чтобы формировать персонифицированные услуги и обеспечивать выгодные условия их получения, приходится детально анализировать записи об абонентах и востребованных ими сервисах. В Caudwell Communications решили создать хранилище данных. Оно должно было иметь приемлемую стоимость и обеспечить как хранение больших объемов информации, так и быструю обработку запросов и загрузку обновлений. Были поставлены три последовательные цели: максимум за четыре месяца развернуть хранилище, затем разработать интегрированную унифицированную модель данных фирмы, объединить разрозненные информационные системы и создать эффективные процедуры выборки, трансформации и загрузки данных. Такая стратегия должна была обеспечить высокие темпы разработки и окупаемости затрат [7].
30.03.2006г.
|