Приставку Exa (exa – 1018) в названии нового специализированного семейства продуктов Exadata, анонсированного компаниями Oracle и HP на OracleWorld в сентябре 2008 года, можно рассматривать как вызов производителям, работающим в сегменте аппаратного и программного обеспечения для хранилищ данных и систем бизнес-аналитики.
В неологизме Exadata несложно уловить сходство с названием компании Teradata (tera – это всего лишь 1012), вот уже более 20 лет поставляющей подобные системы. Кроме того, продукт семейства Exadata – HP Oracle Database Machine – машина баз данных – конкурирует с решениями компаний, недавно вступивших на этот путь, например Netezza, Greenplum и Datallegro. Об особенностях первого в истории Oracle аппаратного продукта рассказывает Марк Таунсенд, вице-президент, отвечающий за разработку новых версий Oracle Database.
Чем вызвана потребность в создании собственной аппаратно-программной платформы, ведь, за исключением одного эпизода, Oracle всегда подчеркивала, что является исключительно софтверной компанией?
Если перевести на обычный язык, то приходится признать – традиционные решения для хранилищ данных, состоящие из универсальных серверов и систем хранения, одновременно и «слабоваты», и «туповаты». Их органическая слабость в том, что они не обеспечивают системный баланс между потенциальной производительностью двух соучастников процесса: серверов и систем хранения. Известно, что мощность серверов по закону Мура постоянно растет, а диски становятся вместительнее и дешевле, но при этом неизменно сохраняется «бутылочное горло» в виде систем ввода/вывода. Чтобы хоть как-то это горло расширить и обеспечить достаточную пропускную способность, приходится увеличивать число SAN-адаптеров и устанавливать дополнительные коммутаторы SAN, но его природа сохраняется. Еще одна слабость в том, что даже дорогостоящие дисковые массивы из-за их недостаточной собственной вычислительной мощности тоже оказываются неспособными предоставить адекватную пропускную способность для сотен установленных в них дисков. Под влиянием этих факторов реальная производительность дисков искусственно снижается, она становится ниже той, которую они в состоянии обеспечить. Таким образом, эффективность работы дисков ограничивается интерфейсом Fibre Channel Loop и процессорными возможностями массива хранения данных.
На «слабость» накладывается еще и «тупость», то есть традиционные устройства хранения оперируют с битами и байтами, «ничего не зная» о том, что они на самом деле хранят, и не умеют работать осмысленно. Например, имея дело с базой данных, они не учитывают ее специфику – они работают с данными из базы точно так же, как с файлами, блоками. А это значит, что когда базе данных нужны столбцы и строки, ей в ответ приходят блоки данных, а не результат самого запроса. Традиционные средства хранения не в состоянии выделить конкретные столбцы и строки, содержащиеся в запросе, поэтому, обрабатывая данные от лица базы данных, они возвращают массу ненужных данных, не имеющих никакого отношения к запросу, забивая балластом и без того перегруженные каналы.
Требовалось найти альтернативный выход из создавшегося положения, поэтому с целью преодоления отмеченных слабостей и тупостей и была создана HP Oracle Database Machine, в основу которой положено «умное» (brainy) программное и мощное аппаратное обеспечение. Умное ПО делится на два типа: СУБД Oracle 11.1 на сервере баз данных и новое ПО, построенное на основе частей ядра Oracle 11.1 и размещаемое на компьютерах ячеек Exadata. Программное обеспечение ячеек хорошо выполняет операции полного сканирования (full scan), проецирования (projection) и объединения (join) и возвращает серверу базы данных не блоки данных, а результат выполнения запроса или подзапроса. Когда же серверу нужно выбрать строки по индексу, ему будут передаваться блоки данных. Работа с системой хранения идет, как правило, через ASM (Automatic Storage Manager).
С другой стороны, для того чтобы обеспечить доступ к базам данных, содержащим сотни терабайт данных, одного ума недостаточно – требуется поддержать «умное» программное обеспечение производительным (brawny) оборудованием, способным ускорить выполнение SQL-запросов и операций ввода/вывода путем применения «грубой силы». Симбиоз brainy и brawny – ключ к параметрам производительности, которые демонстрирует семейство продуктов Exadata.
Какие качества Exadata вы считает принципиально новыми?
Основных качеств, отличающих семейство продуктов Exadata от известных систем, три. Первое – интеллектуальная система хранения, позволяющая перемещать существенно меньше данных при выполнении запросов. Это приводит к меньшей загрузке канала между серверами базы данных и устройствами хранения. Второе – Exadata использует сочетание технологии Infiniband с прямым доступом в память (Remote Direct Memory Access). Возможность такого сочетания обеспечивается за счет пропускной способности каналов, в пять и более раз более высокой, чем у обычного канала типа Fibre Channel. И третье отличие – оригинальная конструкция системы коммутации (I/O Fabric), основанная на параллельной архитектуре и обладающая надежностью и способностью к масштабированию. Можно сказать, что мы повысили коэффициент полезного действия системы работы с данными, оптимизировав обращения к дискам – они организованы так, чтобы по мере возможности уменьшить время ожидания, бесполезно затрачиваемое при произвольном доступе, и приблизить процесс чтения к последовательному.
Что, по вашему мнению, является самым существенным в конструкции, обеспечивающей Exadata эти качества?
Я полагаю, что от известных устройств HP Oracle Database Machine отличает, прежде всего, сочетание модульной конструкции с системной организацией.
Машина баз данных состоит из кластера СУБД (Database GRID) и умной системы хранения Storage GRID, Storage Grid собрана из уже готовых к применению ячеек, каждая из которых состоит из 12 дисков, сервера HP Proliant DL180 G5 и программного обеспечение Exadata Storage Server. Диски подсоединены к «умному» контроллеру с 512 Kбайт кэш-памяти, 8 Гбайт оперативной памяти и двойному интерфейсу InfiniBand. Существует два варианта ячейки Exadata, один на дисках SAS, другой на дисках SATA. Для оптимизации хранения применяются технологии компрессии, увеличивающие максимальный объем в два-три раза. Интерфейс InfiniBand обеспечивает взаимодействие с узлами кластера Real Application Cluster (RAC). Архитектура HP Oracle Database Machine поддерживает любой уровень производительности. Поскольку каждая из ячеек автономна, для увеличения объема можно просто добавлять дополнительные ячейки Exadata. Существенно, что при таком расширении емкость и производительность возрастают линейно.
Отдельные ячейки объединяются в единую систему посредством HP Oracle Database Machine. Физически это стандартная стойка 42U, где 14 серверов хранения Exadata дополняются восемью HP Proliant DL360 G5 Oracle Database 11g, на которых работает база данных, кроме того, есть вся необходимая инфраструктура InfiniBand для связи между серверами базы данных и системой хранения Exadata. Параметры стойки Database Machine зависят от типа дисков – если это диски SAS, то объем данных доходит до 21 Тбайт, а скорость операций ввода/вывода до 14 Гбайт/с, если же SATA, то – 46 Тбайт и 10,5 Гбайт/с. Помимо этого, каждая стойка Database Machine является строительным блоком для создания хранилищ. Количество стоек может наращиваться, а между собой они связываются посредством InfiniBand. Производительность Database Machine существенно повышается за счет обработки данных в режиме Smart Scan.
Как соотносятся возможности Exadata с продуктами прямых конкурентов?
Не вдаваясь в сравнение отдельных показателей, я хочу остановиться на самом существенном – на преемственности. У нас достойные конкуренты, компания Teradata на рынке уже давно, и в свое время ее решения опередили общий уровень развития индустрии на годы, другие вышли на рынок совсем недавно, но их решения воплотили в себе достижения последних лет, например перспективную конструкцию MapReduce. Однако всех их объединяет то, что их подходы являются проприетарными. Если вы захотите внедрить что-то из спектра продуктов, предлагаемого данными поставщиками, то вам нужно начинать все с нуля, в том числе подготовку специалистов. А в лице семейства продуктов Exadata мы предлагаем методику работы с данными, которая давно знакома тысячам специалистов. Вы получаете новое качество без избыточных инвестиций. Каким бы ни было привлекательным то или иное решение
с технической точки зрения, нельзя не принимать во внимание готовность потребителей.
А по ценовым показателям?
Наше решение не только дешевле уникальных систем от Teradata, но, скорее всего, оно дешевле и того, что предлагают новые участники рынка параллельных СУБД. Что же касается программ, то трудно предположить, что у наших покупателей нет лицензионного ПО от Oracle, так вот – эти же лицензии можно использовать и на HP Oracle Database Machine
Если заглянуть в будущее, на что, по вашему мнению, повлияет конвергенция серверов и систем хранения?
Именно конвергенция. Действующая парадигма предполагает хранение данных отдельно от их обработки. В итоге на каждом этапе неизбежны издержки, плюс наличие узкого горла между этапами. Так можно было жить, пока объемы данных были невелики, но при выходе на петабайтные объемы эта идеология уже не оправдывает себя. Не меньшим барьером становится «тупость» систем, они по-прежнему работают не с информацией, а с данными. О каком управлении жизненным циклом информации (Information Lifecycle Management) можно говорить, если соответствующие технологии «не понимают», с чем они работают, и перемещают данные, руководствуясь общими соображениями. Использование технологий типа Smart Scan и ей подобных открывает возможность для полноценного управления информацией на всех этапах ее жизни, что чрезвычайно важно в современных условиях, когда номенклатура средств хранения постоянно расширяется и покрывает диапазон от быстрых накопителей на флэш-памяти до дисков на два и более терабайт.
Архитектура exadata
Аппаратную среду HP Oracle Database Machine (см. рисунок) можно рассматривать как систему, построенную по принципу grid. Каждая ячейка хранения Exadata – это самостоятельный сервер, на котором хранятся данные и работает управляющее программное обеспечение. В архитектуре HP Oracle Database Machine можно использовать как одиночные серверы баз данных (Single instance Database), так и несколько серверов, объединенных в кластер (RAC Database). Между собой серверы и ячейки объединены интерфейсом InfiniBand. Массив ячеек Exadata, используемый совместно несколькими базами данных, называется областью (Exadata Realm). Деление на области обеспечивает изоляцию и, соответственно, защиту каждого отдельно взятого набора баз данных. Имеются механизмы для безопасного перемещения дисков и группы ячеек из одной области в другую. На рисунке представлена одна такая область.
Для использования всех преимуществ системы хранения Exadata, СУБД Oracle Database 11g была значительно усовершенствована. Это прежде всего касается распределения функций между серверами и ячейками Exadata. Сервер базы данных и Exadata Storage Server Software взаимодействуют между собой по протоколу iDB (Intelligent Database), реализованному на уровне ядра базы данных и прозрачно отображающему операции с базой на операции в Exadata. Помимо традиционной функции передачи блоков данных, iDB использует архитектуру передачи функций. Данный протокол применяется также для передачи на выполнение SQL-операций нижестоящим ячейкам Exadata и возврата результатов выполнения запроса ядру базы. Вместо того чтобы возвращать блоки данных, ячейки Exadata возвращают только столбцы и строки, соответствующие SQL-запросу. Вообще говоря, iDB способен напрямую записывать блоки данных на диск и считывать их, действуя как традиционное устройство хранения, но при необходимости проявляет свой «интеллект» и возвращает серверу только необходимые данные, что существенно ускоряет работу и уменьшает трафик.