Продукт HANA, разработанный и выпущенный в 2011 г. компанией SAP по инициативе ее основателя Хассо Платнера (поговаривают, что HANA — это акроним Hasso’s New Architecture), был представлен тогда как высокопроизводительная СУБД, способная размещать всю БД в оперативной памяти и обрабатывать ее там, не обращаясь к медленной дисковой подсистеме (in-memory). Сегодня она превратилась в полноценную платформу для разработки и исполнения приложений, запускаемых и в облаке, и на площадке заказчика. Более того, она стала базовой платформой для бизнес-приложений SAP, включая ее флагманский пакет SAP Business Suite.
Хотя в самых общих чертах о HANA сейчас знают практически все, кто следит за ИТ-рынком, есть важные детали, о которых люди, несомненно задумываются, но не удосуживаются либо стесняются спросить. Вот один из таких вопросов: «А что случится с БД в оперативной памяти, если сервер неожиданно будет обесточен?». По-видимому, специалисту из британской консалтинговой фирмы Bluefin Solutions Джону Эпплби, имеющему статус SAP Mentor и являющемуся одним из наиболее влиятельных членов комьюнити SAP HANA, с подобными вопросами приходится сталкиваться особенно часто. Это побудило его завести в своем блоге постоянно обновляемый раздел FAQ с ответами на самые животрепещущие из них. Мы оставили за скобками те, что представляют интерес для узких специалистов, и приводим в сокращенном изложении наиболее общие. Кроме того, мы дополнили этот FAQ ответами специалистов представительства SAP в странах СНГ.
Зачем SAP создала собственную СУБД?
Один из основателей SAP и председатель ее совета директоров Хассо Платнер задумался о том, что если бы была доступна СУБД с практически нулевым временем отклика, то бизнес-приложения можно было бы писать совсем по-другому и ИТ-ландшафт при этом был бы существенно упрощен. Как производителю таких приложений SAP было понятно, что ни один из традиционных софтверных вендоров создавать подобную платформу не собирается, а потому ее нужно разрабатывать самим. Кроме того, в компании были убеждены, что такая платформа послужит мощным трамплином для инновационного обновления и упрощения продуктов SAP на протяжении следующих 20 лет.
Каково происхождение HANA?
Продукт был разработан с нуля группой Института Хассо Платнера в Потсдаме, но при этом использовалась интеллектуальная собственность, реализованная в СУБД p*Time и MaxDB, поисковой машине TREX и in-memory-сервере BWA, а также полученная в результате покупки компаний Business Objects и Sybase (продукты Sybase IQ и Business Objects Data Federator).
HANA — это только СУБД?
Нет, она изначально включает в себя ряд важных дополнительных компонентов, необходимых для развертывания корпоративных приложений и поставляемых другими вендорами за отдельную плату (транзакционная и аналитическая БД, средства интеграции, поиска, прогнозирования и связи с Web).
Каковы основные отличия HANA от других подобных продуктов?
В этой БД все данные хранятся в оперативной памяти поколоночно и в сжатом виде. Поскольку все операции не требуют обращения к диску и выполняются очень быстро, отпадает нужда в индексах, материализованных представлениях, предварительно вычисляемых суммах и иных агрегатах, что позволяет уменьшить объем БД на 95% по сравнению с традиционными системами. Транзакционные и аналитические приложения могут функционировать одновременно на одном и том же экземпляре БД. SAP удалось решить основные проблемы БД с поколоночным хранением, такие как поддержка параллелизма (с помощью механизмов Multiversion Concurrency Control) и производительность операций вставки и обновления. HANA предоставляет ряд дополнительных сервисов БД, таких как обработка геоинформационных и текстовых данных, OLAP, анализ графов и др.
Кроме возможности хранения всех данных в оперативной памяти, какие еще преимущества есть у платформы?
Во-первых, благодаря совмещению свойств аналитической и транзакционной базы в одном продукте SAP HANA может без дополнительных усилий использоваться как аналитическая СУБД, что позволит сэкономить средства, требующиеся на создание специального аналитического хранилища. Во-вторых, она обладает линейной масштабируемостью: насколько позволяет память «железа», настолько эффективно будет работать SAP HANA. В-третьих, в ней изначально реализована сквозная интеграция с большинством бизнес-приложений SAP.
Каковы возможные сценарии использования HANA?
Сначала HANA применялась в основном для оперативного анализа данных, поскольку в этом случае высокая производительность сразу же достигалась штатными средствами. В типичных транзакционных приложениях (Finance, Supply Chain) рутинный переход с дисковой СУБД на HANA тоже обеспечивает повышение производительности, но не столь значительное (в финансовом модуле SAP на 50%). По-настоящему заметные преимущества возникают, когда приложение оптимизируется для HANA и часть прикладной логики передается на исполнение ядру СУБД. При этом приложение существенно упрощается (SAP сейчас работает над созданием такого упрощенного варианта пакета SAP Business Suite), в нем легко реализуются аналитические и иные сопутствующие операции реального времени. Важно то, что все корпоративные приложения работают с одним экземпляром БД, не требуя создания витрин, хранилищ и иных копий данных, синхронизируемых с основной БД.
Чем HANA может быть полезна в бизнесе?
Все зависит от того решения, в котором в качестве платформы используется SAP HANA. К примеру, в банковском секторе HANA помогает снизить нормы резервирования и риски. В связке с системой защиты от мошенничества HANA позволяет снизить уровень потерь от неправомерных действий, например, в страховом или банковском бизнесе. В финансовых блоках HANA дает возможность сократить время закрытия периода и быстрее получать консолидированную отчетность компании. Чем быстрее такая отчетность появляется у генерального директора, тем оперативнее он сможет принимать оптимальное управленческое решение. На этапе подготовки к проекту внедрения SAP HANA, консультанты SAP проводят экспертизу и делают конкретные расчеты ожидаемого эффекта для каждой компании или предприятия.
В каких отраслях и при решении каких бизнес-задач SAP HANA способна обеспечить новое качество?
Поскольку SAP HANA позиционируется, в частности, в качестве производительной СУБД для приложений любого класса, следует выделить следующие целевые отрасли:
- нефтегазовый комплекс;
- металлургия;
- машиностроение;
- транспорт;
- энергетика;
- телекоммуникации;
- финансовая отрасль (банки и страховые организации);
- розничная торговля;
- госсектор.
Вот бизнес-процессы предприятия, производительность которых может быть существенно повышена с помощью SAP HANA:
- закрытие финансового периода;
- анализ финансовых показателей в режиме реального времени;
- эффективное управление дебиторской задолженностью;
- эффективное управление кредиторской задолженностью;
- централизованное управление казначейскими рисками;
- анализ доступа на основе ролей;
- автоматизированный контроль межсистемных процессов;
- оптимизированное управление коммерческими предложениями;
- управление запасами в режиме реального времени;
- эффективное снабжение;
- оптимизация стратегических закупок;
- максимизация использования оборудования и времени непрерывной работы;
- ускоренная публикация организационных изменений;
- продуманное управление затратами на кадровые ресурсы;
- планирование материалов в реальном времени;
- контроль перемещения материалов;
- комплексное управление проектами;
- повышение производительности и доходности сложных проектов.
HANA это все-таки что — СУБД, платформа, программно-аппаратный комплекс или облако?
Все вышеперечисленное. Современная СУБД обязана быть и сервером БД, и платформой, допуская как онпремисное, так и облачное развертывание. Бизнес стремительно движется в облака, и HANA сегодня доступна через HANA Cloud Platform в виде платформы как cервис (PaaS) и инфраструктуры как сервис (IaaS) в дата-центрах SAP, а через HANA Enterprise Cloud по модели управляемого облака как сервис Managed Cloud as a Service (McaaS) еще и в дата-центрах других облачных провайдеров. Допускается также гибридная модель, сочетающая онпремисное и облачное развертывание.
На каких системах доступна HANA?
На серверах стандартной архитектуры (стоечных и блейд), а также на их кластерных конфигурациях. Все они сертифицируются SAP и выпускаются многими вендорами [Cisco, Dell, Fujitsu, Hitachi, HP, Huawei, IBM (Lenovo), NEC и SGI]. Сегодня доступны единичные серверы с объемом ОЗУ до 6 Тб и кластеры с суммарным объемом 112 Тб. До конца года планируется завершить тестирование единичного сервера с ОЗУ 24 Тб. В качестве ОС используется Linux (SUSE или Red Hat). В будущем планируется поддержка серверов IBM POWER, но под управлением SUSE Linux, а не AIX.
Есть ли какие-то технические требования для потенциальных заказчиков?
Нет, большинство вендоров поставляют под SAP HANA сертифицированную технику. Есть несколько десятков моделей, из которых заказчик может выбрать то, что ему больше нравится.
Что случится с БД в оперативной памяти, если сервер неожиданно будет обесточен?
SAP HANA — полностью ACID-совместимая СУБД, которая с определенной периодичностью записывает на диск точки сохранения, содержащие мгновенные снимки содержимого оперативной памяти. В промежутках между ними на скоростном флэш-диске сохраняются логи всех изменений, вносимых в БД. Если произойдет сбой электропитания, то для восстановления БД в память сначала будет загружена последняя точка сохранения, а затем последовательно воспроизведены изменения, записанные в логах.
Что произойдет, если размер БД станет больше доступной оперативной памяти?
HANA всегда хранит БД на диске и по требованию загружает ее в ОЗУ сервера. Если объем ОЗУ будет исчерпан, HANA удалит оттуда те части таблиц, которые используются реже всего (на диске они останутся). В следующем релизе (сейчас известно, что в вышедшем в ноябре Service Pack 9) будет обеспечено прозрачное использование дисковой подсистемы, куда в динамическом режиме будут отправляться «холодные» данные (dynamic tiering).
Является ли HANA платформой Big Data?
В целом, да, хотя лучше она подходит для работы с данными имеющими высокую ценность. В тех случаях, когда Big Data имеют низкую ценность (скажем, записи Web-логов), HANA целесообразно использовать в роли хранилища более ценных агрегированных показателей, полученных из сырых массивов Big Data. Возможен также совместный анализ данных, одна часть которых хранится в HANA, а другая (неструктурированная) в Hadoop.
Присутствуют ли в России интеграторы, которые имеют достаточную экспертизу для осуществления проектов на базе SAP HANA? Есть ли уже опыт выполнения подобных проектов в российских компаниях?
Местная партнерская сеть активно развивается в этом направлении, и в России уже работают десятки сертифицированных партнеров по HANA, готовых к ведению крупных проектов в различных отраслях. В большинстве проектов по внедрению SAP HANA и смежных технологий также участвует подразделение SAP Consulting. У SAP есть опыт по работе с SAP HANA в «Сургутнефтегазе», «Северстали», «Эльдорадо», «МВидео», РЖД и ряде других компаний.