Символично, что она явилась первым практическим результатом многообещающей конвергенции технологий Sun Microsystems и Oracle. Формально Exadata 2 была анонсирована месяцем раньше, первые восторги прошли и фактор новизны отсутствовал, но тем не менее и на конференции всеми возможными способами подчеркивались неоспоримые преимущества нового устройства перед любыми возможными альтернативами.
Четыре этажа дома, который построил Ларри
Еще несколько лет назад о какой-либо стройности в продуктовой линейке Oracle говорить было невозможно. Несведущему требовалась хорошая карта и опытный проводник, чтобы разобраться в причудливом конгломерате из собственных продуктов и приобретений последних лет. Сейчас же все упорядочилось в одну четырехэтажную постройку с незамысловатой архитектурой: верхний этаж занимают приложения, затем — ПО промежуточного слоя, следующий этаж отведен СУБД и нижний — инфраструктурным решениям и управлению. Архитектура отличается динамичностью и способностью к перестройке. Анализируя ее, понимаешь, насколько продуманным оказался проект, стартовавший после выхода Эллисона из компании Ampex, принадлежавшей нашему соотечественнику Александру Понятову, на собственный путь, проложенный идеями реляционных СУБД Эдгара Кодда. Можно выделить несколько эволюционных шагов. С самого старта и до 90-х внимание компании было сосредоточено на собственно базах данных. Потом в дополнение к ним в 1990 году был выпущен продукт Oracle Applications 8, с этого момента началась полоса развития приложений. Далее последовали инфраструктурные решения, к ним относится кластер Oracle Real Application Cluster (2001 год), доработанный в 2003 году до grid-варианта Oracle Database 10g. В 2008 году был куплен крупнейший поставщик и основоположник направления ПО промежуточного слоя компания BEA Systems, а в 2009-м — Sun. И пасьянс сошелся (правда, окончательное завершение последней сделки все еще сдерживается Евросоюзом).
Зачем Exadata 2?
На OpenWorld 2009 представители Oracle заявляли: машина Exadata 2 сегодня на голову опережает конкурентов. И тем не менее, признавая ее неоспоримые достоинства, остается сомнение — а нужна ли она? Появление машин класса Exadata 2 и их неизбежных преемников вызвано прежде всего необходимостью усовершенствования методов корпоративного управления и того направления, которое обозначают словосочетанием Business Intelligence. Опыт показал, что использование универсальных серверов и систем хранения данных в приложении к этому классу задач нерационально настолько, что BI в его нынешнем виде в большей мере смотрит в прошлое, такого рода аналитика не дает результатов, необходимых в будущем. Место BI предстоит занять технологиям предикативной аналитики (Predictive Analytics), сочетающим в себе элементы статистики, добычи данных (Data Mining), теории игр и даже исторического анализа. Аналогичным образом технологии мониторинга в реальном времени (Real-time Performance Monitoring) должны заменить классическое управление бизнес-процессами (Business Performance Management). Поддержка обоих направлений требует использования методов обработки сложных событий (Comlex Event Processing) и обработки потоков событий (Stream Processing).
Намечается возврат к управлению, построенному на кибернетических принципах, но готовых технологий, специально ориентированных на ту же предикативную аналитику, еще нет, и, возможно, Exadata 2 — одно из первых решений такого рода. Однако оно не единственное, ведущими вендорами предпринимается еще несколько инициатив для поддержки предикативной аналитики. Среди них продукты HP ProCurve, сочетающие систему управления HP Insight Control для серверов VMware vCenter Server с задачами управления знаниями. Со своей стороны, Intel считает, что разрабатываемый процессор Westmere со встроенной поддержкой шифрования в соответствии со стандартом AES будет способствовать решению задач предикативной аналитики. В следующем году область действия предикативной аналитики и поддерживающих ее технологий должна определиться точнее; будем ждать вестей от Gartner и других экспертов.
Три карты Exadata
Exadata 2 обладает модульной конструкцией. Чтобы собрать ее, нужно всего три карты. Мощность конфигурации определяется их количеством и сочетанием: чем больше, тем лучше, но и дороже. Козырной картой служит Sun Oracle Exadata Storage Server (он же Sun Fire X4275), на котором работает программное обеспечение Exadata Storage Server Software, разработанное в Oracle. Аппаратный компонент называют ячейкой (Exadata cell). Устройство ячейки в максимальной степени соответствует поддержке СУБД Oracle. Она включает два четырехъядерных процессора Intel Xeon E5540, 384 Гбайт флэш-памяти Exadata Smart Flash Cache, 12 дисков с интерфейсом SAS (суммарная емкость 7 Тбайт) или SATA (24 Тбайт), 24 Гбайт оперативной памяти.
Sun Oracle Exadata Storage Server на первый взгляд представляет собой почти обычный компьютер, но он работает под управлением операционной системы Oracle Enterprise Linux 5.3, предназначение которой сводится к поддержке специфических функций управления ячейкой Exadata cell CELLSRV (Cell Services). CELLSRV — многопотоковым программным обеспечением, общающимся с СУБД по протоколу iDB. Еще две функции — Management Server и Restart Server — поддерживают интерфейс с администратором. Целью этой конструкции — перенос большей части SQL-запросов из основного сервера в специализированный, а также обеспечение интеллектуального сканирования и предикативной фильтрации. Вторая «карта» — Sun Oracle Database Server, типовой сервер формата 1U (Sun Fire X4170) на двух процессорах Intel Xeon Nehalem. Третья «карта» — коммутатор InfiniBand со скоростью передачи данных 40 Гбит/с.
Базовым элементом Exadata 2 является мощная стойка, содержащая 176 ядер x86 и способная поддерживать 352 потока, 912 Гбайт памяти DDR3, не разбитую на диски область хранения на флэше емкостью 5,4 Тбайт на базе флэш-памяти с одноуровневыми ячейками, 336 Тбайт на дисках, и все это соединено коммутатором InfiniBand. Из нее можно собирать многостоечные варианты, а можнo делить — пополам, на четыре части и далее, вплоть до минимального варианта, состоящего из двух серверов и одного коммутатора.