Сервер хранения Exadata является внешним устройством хранения данных базы данных, на котором выполняется программное обеспечение сервера хранения Exadata, поставляемое Oracle. Компоненты аппаратных средств сервера хранения Exadata (также называемые ячейками Exadata – Exadata cells) были тщательно выбраны, чтобы соответствовать потребностям высокопроизводительной обработки запросов. Программное обеспечение Exadata оптимизировано, чтобы можно было воспользоваться всеми возможными преимуществами компонентов аппаратных средств и Oracle Database. Каждая ячейка Exadata обеспечивает базе данных потрясающую производительность ввода-вывода и полосу пропускания.
Cервер хранения Exadata является фундаментом семейства продуктов Exadata. Ячейки подключаются к серверам базы данных и используются как постоянная память (среда постоянного хранения) для базы данных.
Аппаратные средства ячейки базируются на серверах HP Proliant DLl 80 G5. Ячейка поставляется предварительно сконфигурированной и содержит два четырехъядерных процессора Intel с частотой 2.66 ГГц, двенадцать дисков, подключенных к интеллектуальному контроллеру массива хранения с 512 Кб энергонезависимого кэша, 8 Гбайт оперативной памяти, сдвоенный порт связи InfiniBand, плату управления для удаленного доступа, избыточные источники питания, полностью предварительно установленное программное обеспечение. Она может быть установлена в типовую 19-дюймовую стойку.
Рисунок 1: Ячейка хранения Exadata
Предлагаются две версии ячейки Exadata. Первая базируется на дисках с интерфейсом Serial Attached SCSI (SAS) емкостью 450 Гбайт. Эта версия ячейки обладает информационной емкостью до 1.5 Тбайт некомпрессированных пользовательских данных и полосой пропускания данных до 1 Гбайт/сек. Вторая версия ячейки Exadata базируется на дисках с интерфейсом SATA и обладает информационной емкостью до 3.3 Тбайт некомпрессированных пользовательских данных и полосой пропускания данных до 750 Мбайт/сек. Когда данные хранятся в компрессированном формате, количество пользовательских данных и размер полосы пропускания данных, обеспечиваемых каждой ячейкой, часто возрастает в 2-3 раза. Информационная емкость пользовательских данных вычисляется после зеркалирования всего дискового пространства, и после того, как выделено место для структур базы данных: журналы, пространство отката и временное пространство. Фактические данные пользователя изменяются от приложения к приложению.
Между серверами и средой хранения в Oracle Exadata используется самое современное межузловое соединение InfiniBand. Для повышения доступности ячейка Exadata имеет сдвоенный порт соединения InfiniBand. Каждая связь InfiniBand обладает 16-гигабитовой полосой пропускания, что во много раз выше, чем у традиционных сетей хранения или сетей серверов. Далее, протокол Oracle подключения к сети использует прямое размещение данных (прямой доступ к памяти – DMA или direct memory access), чтобы гарантировать очень низкие накладные расходы центрального процессора за счет непосредственного переноса данные «с провода» в буферы базы данных, не делая дополнительного копирования данных. Сеть InfiniBand имеет гибкость сети LAN и эффективность SAN. При использовании сети InfiniBand Oracle гарантирует, что сеть не станет узким местом для производительности. Та же самая сеть InfiniBand также обеспечивает высокопроизводительное межузловое соединение узлов в кластерах Oracle Database Real Application Cluster (RAC).
На приведенном ниже рисунке 2 показана небольшая среда базы данных на базе устройстве хранения данных Exadata. Две базы данных Oracle – один RAC и один одиночный экземпляр – совместно используют три ячейки Exadata. Все компоненты для этой конфигурации – серверы базы данных, ячейки Exadata, коммутатор InfiniBand, коммутаторы Ethernet и другие аппаратные средства поддержки – могут быть размещены в типовой 19-дюймовой стойке, занимая при этом меньше ее половины.
Рисунок 2: Облегченная конфигурация ячейки хранения Exadata
Архитектура комплекса Oracle Exadata проработана таким образом, чтобы в нем для достижения масштабирования до любого уровня производительности можно было использовать архитектуру scale-out. Для достижения более высокой производительности и емкости запоминающего устройства к конфигурации добавляются дополнительные ячейки Exadata. По мере добавления дополнительных ячеек емкость, пропускная способность и производительность увеличиваются линейно. В конфигурации Exadata никогда не делается (и не требуется) никаких каналов связи между ячейками (cell-to-cell communication).
По мере того, как добавляется емкость к серверу хранения Exadata, автоматически добавляется и производительность. Комплекс Exadata обеспечивает почти безграничную масштабируемость.
Как показано на приведенном ниже рисунке 3, типовая 19-дюймовая стойка размера 42U может содержать до восемнадцати ячеек Exadata. Если выбраны диски с интерфейсом SAS, то доступны 97 Тбайт полной (неформатированной) емкости (216 Тбайт полной емкости для дисков SATA). Пиковая пропускная способность для конфигурации на базе SAS составляет 18 Гбайт/сек. Если требуется дополнительная емкость запоминающего устройства, добавьте больше стоек с ячейками Exadata, чтобы масштабироваться до любой необходимой полосы пропускания или производительности. Добавление дополнительных стоек – это простой процесс, поскольку связная архитектура InfiniBand может распространяться и между стойками при полном сохранении возможностей связи. Как только подключается новая стойка, новые диски Exadata обнаруживаются и делаются доступными Oracle Database.
Рисунок 3: Масштабирование среды хранения Exadata для производительности и емкости
Зеркалирование дисков, обеспечиваемое механизмом автоматического управления средой хранения (Automatic Storage Management – ASM), и способные к «горячей» замене (то есть, замене без прекращения работы) диски Exadata являются гарантией того, что база данных может допускать отказы индивидуальных дисководов. Данные зеркалируются в различные ячейки, гарантируя, что отказ одной из ячеек не вызовет потери или не станет препятствием для доступности данных. Такая архитектура с массовым параллелизмом обеспечивает неограниченную масштабируемость и высокую доступность.
При использовании Oracle Exadata обработка SQL-запросов переносится с сервера базы данных на сервер хранения Oracle Exadata. В дополнение к обеспечению традиционного обслуживания блоками данных, Oracle Exadata делает возможной передачу функций от экземпляра базы данных в базовую среду хранения. Одним из уникальных механизмов, обеспечиваемых средой хранения Exadata по сравнению с традиционными средами, является возвращение не всей таблицы, к которой делался запрос, а только строк и столбцов, удовлетворяющих запросу к базе данных. Комплекс Exadata помещает обработку SQL-запросов настолько близко к аппаратным средствам, насколько это возможно, и обеспечивает работу в параллельном режиме всех дисков. Он уменьшает потребление CPU на сервере базы данных, занимает намного меньшую полосу пропускания при переносе данных между серверами базы данных и серверами хранения и возвращает результирующий набор запроса, а не целые таблицы. Устранение передачи данных и сокращение рабочей нагрузки на сервер базы данных может принести значительную пользу при запросах к хранилищам данных, которым традиционно не хватало полосы пропускания и времени CPU. Устранение передач данных может также привести к существенной выгоде для систем онлайновой обработки запросов (OLTP).
Среда хранения Exadata полностью прозрачна для приложений, использующих базу данных. Существующие SQL-операторы, будь то нерегламентированные (специальные, ad hoc) запросы или запросы из пакетированных или заказных приложений, не требуют никакой модификации в случае использования среды хранения Exadata. Все преимущества решения, связанные с разгрузкой обработки и расширением полосы пропускания, становятся доступными без какой бы то ни было модификации приложений. И все возможности базы данных Oracle полностью поддерживаются в среде хранения Exadata. Комплекс Exadata работает одинаково хорошо и в случае развертывания базы данных Oracle для одиночного экземпляра, и для кластеров Real Application Clusters. Такие функциональные возможности, как Data Guard, диспетчер восстановления (RMAN), Streams и другие инструментальные средства базы данных администрируются абсолютно одинаково как с Exadata, так и без них. Пользователи и администратор базы данных сегодня применяют те же самые инструментальные средства и знания, с которым они хорошо знакомы, потому что они работают точно так же, как они работали с традиционными (без Exadata) средами хранения. Среды хранения и с комплексами Exadata, и без них могут одновременно использоваться в среде хранения базы данных, чтобы облегчить переход к средам Exadata, или от них.
Применение памяти, напоминающей трубопровод (stovepiped), приводит к неэффективному использованию доступной ширины полосы пропускания памяти и других ресурсов.
Природа традиционных продуктов для сред хранения поощряет неэффективное их развертывание для каждой базы данных в инфраструктуре ИТ. Архитектура Exadata гарантирует, что вся полоса пропускания и все ресурсы ввода-вывода подсистемы хранения Exadata могут быть сделаны доступными всякий раз, когда и к какой бы то ни было базе данных или классу работы требуется доступ. Пропускная способность подсистемы ввода-вывода измеряется для различных классов работ или баз данных, совместно использующих сервер хранения Exadata, основываясь на определяемых пользователем политиках и соглашениях об уровне обслуживания (service level agreements (SLAs)). Диспетчер ресурсов базы данных (Database Resource Manager – DBRM) был модифицирован для применения со средой хранения Exadata, чтобы управлять использованием определяемых пользователем ресурсов ввода-вывода как внутри баз данных(intra), так и между (inter) ними, чтобы гарантировать выполнение определенных заказчиком SLA. Функциональные возможности управления ресурсами ввода-вывода среды хранения Exadata делают возможным приспосабливание ресурсов ввода-вывода к деловым приоритетам организации и построение разделяемой грид-памяти хранения для баз данных Oracle.