База данных Oracle Database 11g была значительно усилена, для того чтобы воспользоваться всеми преимуществами среды хранения Exadata. Программное обеспечение Exadata оптимально разделяется между сервером базы данных и ячейкой Exadata. Сервер базы данных и программное обеспечение сервера хранения Exadata взаимодействуют, используя для этого iDB – протокол интеллектуальной базы данных. Протокол iDB реализован в ядре базы данных и прозрачно отображает операции базы данных на расширенные за счет Exadata операции. В дополнение к традиционной пересылке блоков данных, обеспечиваемой базой данных, протокол iDB реализует архитектуру передачу функций. Протокол iDB используется для передачи SQL-операций на выполнение вниз, в ячейки Exadata и для возвращения результирующих наборов запросов в экземпляр базы данных. Вместо того чтобы возвращать блоки базы данных, ячейки Exadata возвращают только строки и столбцы, удовлетворяющие SQL-запросам. Подобно существующим протоколам ввода-вывода, iDB может также непосредственно читать и писать последовательности байтов с диска и на диск, так что в тех случаях, когда разгрузить обработку не представляется возможным, Exadata работает, как традиционное запоминающее устройство для базы данных Oracle. Но когда подобная разгрузка выполнима, накопленные в экземпляре базы данных сведения дают возможность, например, передавать вниз просмотры таблиц, чтобы эти операции выполнялись на сервере хранения Exadata, а на сервер базы данных возвращались только запрошенные данные.
Протокол iDB построен на базе промышленного стандарта протокола Reliable Datagram Sockets (RDSv3) и выполняется поверх протокола InfiniBand. Для устранения ненужного копирования блоков используется реализация ZDP (Zero-loss Zero-copy Datagram Protocol) или RDS с отсутствием промежуточного копирования. На серверах базы данных и ячейках Exadata могут использоваться несколько сетевых интерфейсов. Это протокол с очень малым временем ожидания, который сводит к минимуму число создаваемых копий данных, которые требуются для обслуживания операций ввода-вывода.
Комплекс Exadata предлагает избыточное и устойчивое к отказам решение с широкополосным доступом к базе данных.
Механизм автоматического управления средой хранения (Automatic Storage Management – ASM) является фундаментом управления средой хранения Exadata. Механизм ASM виртуализирует ресурсы среды хранения и обеспечивает расширенное управление томами и функциональные возможности файловой системы Exadata. Равномерное расщепление файлов базы данных по всем доступным ячейкам Exadata и дискам (страйпинг) приводит к однородной нагрузке на ввод-вывод по всем аппаратным средствам хранения. Возможность ASM выполнять неагрессивное распределение и перераспределение ресурсов является ключевым условием для достижения желаемых коллективных возможностей разднляемой грид-памяти для сред Exadata. А функциональные возможности зеркалирования ASM и групп отказов (наборы дисков, разделяющих общие ресурсы, требующие защиты против сбоев – прим. пер.) обеспечивают большую часть защиты данных и способности системы противостоять ошибкам во всей среде Exadata. При использовании ASM данные зеркалируются по всем ячейкам, что гарантирует высокую доступность в случае отказа отдельной ячейки.
В Oracle Database 11g была усилена опция диспетчера ресурсов базы данных (DBRM) для использования с Exadata. В дополнение к управлению использованием CPU, сегментами отката, степенью параллелизма, активными сеансами и другими ресурсами, диспетчер DBRM позволяет пользователю определять и управлять пропускной способностью средств ввода-вывода как внутри базы данных, так и между базами данных. Он позволяет разделять среду хранения между базами данных, не испытывая опасений, что одна база данных монополизирует всю полосу пропускания средств ввода-вывода и окажет воздействие на производительность других баз данных, совместно использующих среду хранения. Группам потребителей выделяется определенный процент доступной пропускной способности средств ввода-вывода, и DBRM гарантирует, что заявленные плановые цифры будут обеспечены. Это реализуется благодаря тому, что база данных маркирует операции ввода-вывода метками, определяющими базу данных и группу потребителей, от имени которых эти операции ввода-вывода производятся. В результате базе данных предоставляется полная картина приоритетов операций ввода-вывода для всего стека ввода-вывода. Распределение ввода-вывода для группы потребителей внутри базы данных определяется и управляется на сервере базы данных. Распределение ввода-вывода между базами данных определяется программным обеспечением ячейки Exadata и управляется диспетчером ресурсов ввода-вывода (I/O Resource Manager – IORM). Программное обеспечение ячейки Exadata гарантирует, что ресурсы ввода-вывода для обмена между базами данных управляются и должным образом распределены как внутри, так и между базами данных. В целом, DBRM гарантирует, что каждая база данных получает выделенное ей количество ресурсов ввода-вывода, а определенные пользователями SLA выполняются.