Игроки: Oracle: единство «железа» и софта

В Oracle я руковожу направлением перспективных технологий, к которым относятся интегрированные системы. Сейчас у нас существует более десяти оптимизированных программно-аппаратных комплексов и их конфигураций, а началось все с Exadata, машины для ускорения баз данных, потом появилась Exalogic — машина для экстремальной производительности Fusion Middleware, серверов приложений и связующего ПО, потом Exalytics — комплекс для ускорения бизнес-анализа, Big Data Appliance — это машина для Hadoop, обработки структурированных и неструктурированных «больших» данных. Database Appliance имеет фокус на простоту использования. И SPARC SuperCluster - универсальная система, которая подходит и для баз данных, и для выполнения приложений.

Oracle

Акционеры: менеджмент – 23,2% (в том числе основатель компании Ларри Эллисон – 22,64%), остальные акции – в свободном обращении. Капитализация – $156 млрд. Выручка в финансовом году, завершившемся 31 мая 2012 г., – $37,1 млрд, чистая прибыль – $9,98 млрд. Компания основана в 1977 г. Занимается разработкой баз данных и инструментов для их разработки, бизнес-приложений, технологий связующего слоя, а также серверов, систем хранения данных и др. Предоставляет продукты и услуги более чем в 145 странах. Общее количество клиентов – более 380 000.

Исправленная версия

Линейка интегрированных систем запущена Oracle в 2008 г., причем Exadata стала наиболее успешным новым продуктом в истории компании. И поскольку заказчики голосуют кошельком, то хотелось бы пояснить, чем эти технологии отличаются от традиционного подхода. Когда мы приходим к потенциальным заказчикам, нас часто встречают с недоверием, полагая, что мы предлагаем просто очередную новую «железку», которых много на рынке.

Начну с преимуществ, которые дают интегрированные, оптимизированные системы. Как вы знаете, Oracle приобрел компанию Sun Microsystems и из чисто софтверного вендора превратился в программно-аппаратного: появилась возможность создавать и «затачивать» друг под друга как «железо», так и софт. У Oracle есть маркетинговый лозунг: «созданы работать вместе» (engineered to work together). Это действительно так. Важно, что группа разработчиков, которая работает над оптимизированной системой, с самого начала знает, какой софт будет работать на этом «железе», и знает все характеристики этого оборудования. Это нельзя недооценивать. Поясню: вот, скажем, iPhone — это тоже пример оптимизированной системы. Разработчики приложений для iPhone знают, на каком «железе» они будут писать программу. Поэтому вы, как заказчики, покупая приложение для iPhone, знаете, что оно будет работать, потому что на таком же iPhone оно и проектировалось, и тестировалось, чего нельзя сказать о других телефонах. Там приходится… усреднять разработческие усилия, потому что заранее неизвестно, какой точно будет процессор, характеристики экрана и т.д.

Второй момент. 10 лет назад были очень популярны конкурсы, когда давалась, скажем, задача создать очень эффективный код и уложить его, допустим, в 128 команд. И программисты долго думали, каким образом из 128 команд выжать максимум. В оптимизированных системах происходит примерно то же самое: разработчики, зная, что база данных Oracle будет работать на Exadata, тратят огромное количество часов, изучая особенности «железа», взаимодействия сетевых карт, дисков, флешей — и таким образом они могут выжать максимум и создать дополнительные преимущества. Зачем это нужно? Для заказчика это в итоге экономия денег, потому что он покупает более производительную систему в расчете на процессор, на ядро, на терабайт данных. То есть, покупая «железо», вы за счет оптимизации и притирки друг к другу аппаратной и программной составляющих получаете более эффективную систему.

Еще интересный момент. Поскольку Oracle поставляет в оптимизированных системах все — от дисков до приложений, — можно создать средство, которое управляет одновременно всей этой системой. И тогда, что бы ни произошло, какой бы ни случился инцидент, — все мониторится через единые системы, и это опять же экономит время и деньги.

Можно привести еще примеры. Допустим, когда проектируются ЦОДы (центры обработки данных), понятно, что заранее известны габариты аппаратной системы (шкафа), и мы можем проектировать, сколько места это займет в серверной, какое будет максимальное энергопотребление и многое другое — все это четко предсказуемо и снижается вероятность сюрпризов. Когда вы покупаете что-то по частям, вы вынуждены потратить много времени на подборку компонентов и отладку. Oracle старается все часто встречающиеся ситуации предвидеть и проработать заранее. Единая точка поддержки — тоже очень важный момент. Бывает, у заказчика возникает проблема, но непонятно, где именно — то ли она связана с операционной системой, то ли с «железом». И для техподдержки бывает достаточно сложно ее воспроизвести, потому что нет точно такого же, как у заказчика, набора оборудования. Тогда локализация случая надолго затягивается. А если точно известно, что у заказчика стоит конфигурация от одного поставщика, вероятность быстро распознать проблему очень велика.

Все оптимизированные системы созданы так, чтобы можно было наращивать производительность. Они «складываются» друг с другом, как кубики «Лего». И вы знаете, как этот комплекс поведет себя при наращивании. Сейчас много говорится о big data (большие данные). У Oracle недавно появилось программно-аппаратное решение, которое называется Oracle Big Data Appliance. Зачем нужен этот комплекс, когда у Oracle есть база данных и Exadata. На самом деле иногда обработка и хранение большого объема данных дороже, чем информация, которую мы можем из этих данных извлечь. Поэтому мы сделали систему, которая позволяет в десятки раз уменьшить стоимость обработки больших данных. Кроме того, можно взять две системы — Exadata и Big Data Appliance, — соединить друг с другом и проводить полный цикл обработки и анализа данных как структурированных, так неструктурированных.

Если говорить про опубликованные кейсы [внедрения Exadata], то это, например, программа лояльности «Малина», «Киевстар», банк «Санкт-Петербург». Когда, скажем, вы используете карту «Малина», транзакция обрабатывается в интегрированной системе Oracle Exadata.

И хотелось бы поделиться наблюдениями, которые мы сделали, когда участвовали в проектах по Exadata. Например, поскольку Exadata — это машина баз данных, созданная для экстремальной производительности, то довольно часто проводятся тестирования, где цель — именно показать эту экстремальную производительность. Например, для поставщика банковского софта ЦФТ (Центр финансовых технологий) проводилось такое экстремальное тестирование, в котором нам удалось на Exadata показать 30 000 одновременно работающих пользователей, а на классических архитектурах конкуренты показали гораздо меньше, хотя «железо» было сравнимо. Но именно комбинация «железа» и софта дает синергетический эффект.

И все-таки довольно часто думают, что Exadata — это обычная «железка»: «мы возьмем другую “железку”, поставим туда флешэй, поставим еще что-то — и будет то же самое». Нет, не будет, потому что в Exadata изменена архитектура базы данных, там есть специальный Exadata-софт, который дает ускорение в десятки раз. Просто взять такое же «железо» и добиться 10-кратного ускорения практически невозможно. Для того чтобы на классической системе добиться такого же 10-кратного преимущества, скорее всего, придется купить «железо» в 10 или более раз дороже. Иногда не понимают, что системы вообще состоят не только из базы данных. Много говорится о том, что Exadata ускоряет приложения, но это не совсем точно: она ускоряет слой базы данных. Допустим, у заказчика есть сервер приложений, где приложение крутится, и оно является причиной низкой производительности, и база данных постоянно «ждет» приложение. Мы стараемся таких ситуаций избегать и заранее проверять. И если такая ситуация возникает, тут задача не для Exadata, а для другого комплекса — Oracle Exalogic, к примеру. Важно понимать, что Exadata — это машина баз данных. И когда считают, что Exadata — только для хранилищ данных, это тоже неверно. Бывает достаточно сложно понять, откуда именно берется этот синергетический эффект, когда все затачивается на уровне драйверов, на уровне софта, на уровне «железа» и др. Допустим, если база данных знает точно, что, предположим, у нас будет 12 ядер на ячейке и 12 дисков и что из этого можно «вытащить», тогда в результате оптимизации получается синергетический эффект.

Особенность российского рынка еще в том, что у нас не так много предприятий, у которых действительно терабайты данных. Так вот на одну машину Exadata можно поместить множество баз данных.. Приведу интересный пример, который связан с темой облаков. В одном из тестирований, когда нам надо было показать экстремальную производительность, мы запросили в нашем центре тестирования половинку шкафа (конфигурацию ½) Exadata, чтобы там удаленно тестировать приложение. Мы «гоняли» его на пределе возможностей, и в какой-то момент выяснилось, что у нас на второй половинке какой-то другой заказчик из другой страны тоже удаленно тестирует и тоже на пределе производительности. Exadata сделана таким образом, что она «распиливает» нагрузку, выдает нам ресурсы так, что мы не знаем о существовании другого заказчика. И, собственно говоря, поэтому Exadata является строительным блоком для облачных решений. У нас недавно вышел продукт для управления всеми программными и аппаратными системами Enterprise Manager 12c, буковка «с» означает как раз cloud. Это говорит о том, что Oracle серьезно подходит к этой теме, автоматизирует cloud-подход по всем направлениям.

Андрей Пивоваров руководитель группы перспективных технологий предпроектного консалтинга Oracle