SAP HANA

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
SAP HANA
Тип

СУБД в оперативной памяти[en]

Разработчик

SAP SE

Написана на

Си и C++

Последняя версия

1.0 SPS10 (16 июня 2015)

Состояние

активное

Лицензия

проприетарное программное обеспечение

Сайт

hana.sap.com

SAP HANA (англ. High-Performance Analytic Appliance) — это высокопроизводительная NewSQL платформа для хранения и обработки данных, в основе которой лежит технология вычислений in-memory с использованием принципа поколоночного хранения данных, платформы, разработанной и выведенной на рынок компанией SAP SE.[1][2] Архитектура HANA обеспечивает как высокоскоростную обработку транзакций, так и работу со сложными аналитическими запросами, совмещая решение этих задач в рамках единой платформы.[3]

Кроме самой СУБД, в составе HANA предусмотрены встроенный веб-сервер и репозиторий управления версиями, необходимые для разработки приложений. Приложения HANA могут создаваться с использованием кода JavaScript на стороне сервера и HTML-кода.

История[править | править вики-текст]

SAP HANA обязана своим появлением вновь разработанным или приобретенным технологиям, в числе которых поисковая машина TREX, колонко-ориентированная поисковая машина in-memory, P*TIME и OLTP база данных на основе технологии in-memory, приобретенная SAP в 2005 году, и база данных MaxDB со встроенным процессором liveCache, также на основе технологии in-memory.[4][5] В 2008 году команды специалистов из SAP SE, работавшие с Институтом имени Хассо Платтнера и Стэнфордским университетом, продемонстрировали архитектуру приложения для аналитики реального времени и агрегирования, упомянутую как «новая архитектура Хассо» в блоге технического директора SAP Вишала Сикка (Vishal Sikka). До распространения устойчивого наименования HANA специалисты называли этот программный продукт «новой базой данных».[6]

Эта СУБД была служебным аналитическим продуктом, обеспечивавшим отклик в режиме реального времени.[7] Выпуск SAP HANA начался в конце ноября 2010 года.[5][8] Несмотря на то, что к середине 2011 года решение привлекло к себе внимание рынка, консервативно настроенные бизнес-заказчики продолжали считать, что технология еще «не созрела».[9] В сентябре 2011 года было объявлено о выпуске SAP NetWeaver Business Warehouse на основе технологии SAP HANA. Первые поставки этого решения начались в ноябре того же года.[10]

В 2012 году SAP выпустила решение для облачных вычислений.[11] В октябре 2012 года SAP объявила о выпуске варианта системы HANA One, в которой использовалась память небольшого объема, размещенная на средствах Amazon Web Services на условиях почасовой оплаты.[12]

В январе 2013 года было объявлено о выпуске SAP Enterprise Resource Planning, входившего в пакет Business Suite компании SAP, на базе SAP HANA, а поставки начались в мае.[13][14] Так же в мае 2013 года было объявлено о разработке решения «программное обеспечение как сервис»: решение получило официальное название HANA Enterprise Cloud (HEC).[15] Вместо выпуска очередных версий в SAP HANA используется практика пакетов обновлений.[16][17]

По состоянию на август 2015 свежим пакетом обновлений является SPS10[18][19].

Архитектура[править | править вики-текст]

В правой части следующего рисунка показана структура основного процесса, называемого «индексным сервером».[20]

Индексный сервер обеспечивает управление сеансами, авторизацию, управление транзакциями и обработку команд. Следует помнить, что HANA поддерживает как строчное, так и поколоночное хранение данных. Несмотря на то, что пользователи могут создавать таблицы с использованием любого из типов хранения, наибольшими возможностями обладает формат хранения данных по столбцам. Кроме этого, индексный сервер обеспечивает соответствие между файлами в постоянной памяти и оперативной памятью, содержащей кэшированные образы объектов БД и файлов журналов.

Диспетчер авторизации обеспечивает работу служб аутентификации и авторизации. Диспетчер авторизации обеспечивает защиту с использованием протоколов аутентификации SAML, OAuth или Kerberos.

Подсистема Extended Services (XS) представляет собой веб-сервер с привилегированным доступом к базе данных. Для развертывания приложений в XS могут использоваться сервлеты Java Servlets или приложения JavaScript на стороне сервера. Такими приложениями могут быть веб-приложения HTML или конечные точки веб-службы REST. В состав JavaScript стороны сервера входят расширения на основе jQuery для доступа к БД и для доступа к запросным и ответным сообщениям HTTP. Движок JavaScript реализован на основе проекта Mozilla SpiderMonkey.

Клиентские приложения получают доступ к базе данных HANA непосредственно с использованием JDBC, либо через подсистему Extended Services с использованием HTTP.

Для преодоления ограничений, связанных с вводом-выводом SAP HANA была построена на основе сервера для вычислений по технологии in-memory. Это значит, что первый доступ к таблице вызывает необходимость чтения и поддержки всей таблицы в памяти. Поддержку файлов журналов и долговременное хранение данных на диске обеспечивают процессы фонового режима. Процессор запросов служит для обработки данных с поддержкой массового параллелизма. Хранение данных по столбцам сокращает объем требуемых операций считывания и устраняет необходимость индексирования данных.

Приложения могут действовать в обход процессора SQL, получая непосредственный доступ к подсистеме вычислений с помощью запросов на основе XML. Существует три типа non-SQL объектов: Attribute Views, Calculation Views и Analytic Views. Во многих случаях использование этих объектов вместо запросов SQL позволяет улучшить характеристики производительности приложений.

HANA indexer components

Разработка приложений[21][править | править вики-текст]

Для разработки приложений используется подключаемый программный модуль HANA Studio для среды разработки Eclipse. Эта среда обеспечивает разработку приложений и управление базами данных. Подключаемый программный модуль Eclipse служит для создания, развертывания и отладки объектов БД (таблиц, представлений, хранимых процедур и др.). HANA Studio обеспечивает создание, развертывание и отладку приложений Extended Services. HANA Studio также выполняет стандартные функции управления базами данных, такие как создание БД, управление аккаунтами пользователей, операции резервного копирования/восстановления, экспорта/импорта данных. В состав сервера HANA входит система управления версиями, называемая репозитарием. Развертывание приложений, разработанных в HANA Studio, производится с использованием репозитария, обеспечивающего поддержку истории версий для каждого искусственного объекта развертывания (таблицы, представления, процедуры, файла JavaScript и др.). Перемещение приложений с одного сервера на другой осуществляется посредством создания Distribution Unit (DU). DU представляют собой сильно сжатые архивы из файлов, входящих в состав приложения. Это может потребоваться для создания автономных разработок, тестов и производственных сред. Создание, экспорт и импорт этих объектов может производиться с использованием HANA Studio. Несмотря на то, что JDBC обеспечивает поддержку традиционных приложений клиент-серверной или многозвенной архитектуры, компания SAP рекомендует[22] переносить бизнес-логику из приложений клиент-серверной или многозвенной архитектуры на сервер HANA в качестве XS-приложений. При этом появляется возможность улучшить характеристики производительности за счет уменьшения объема данных, передаваемых от сервера БД на сервер приложений. Это также позволяет приложению использовать вычислительную мощность ЦП, имеющуюся на больших серверах, на которых работает платформа HANA.

Сообщество разработчиков[править | править вики-текст]

Предметом самого пристального внимания сообщества разработчиков на платформе SAP HANA является Центр разработчиков SAP HANA (DevCenter). DevCenter содержит информацию общего плана, образовательные материалы, форумы сообщества, а также обеспечивает доступ к базе данных SAP HANA с бесплатными лицензиями хостинга на общедоступном облаке (например, на CloudShare, Amazon Web Services, Microsoft Azure). Доступ к некоторым материалам и функциям предоставляется после бесплатной регистрации.

Физическое развертывание[23][править | править вики-текст]

Платформа HANA поставляется вместе с оборудованием (аппаратная платформа с предустановленным программным обеспечением SAP HANA), предлагаемым такими поставщиками как Huawei, HP, IBM, Dell, Hitachi, Fujitsu, Cisco. HANA также доступна в виде облачного решения (под наименованием HANA One), поставляемого несколькими провайдерами облачных услуг, такими как Amazon и Microsoft Azure. Ряд провайдеров облачных услуг предлагают бесплатную редакцию системы для разработчиков. HANA не поставляется как исключительно программное обеспечение. Для развертывания SAP HANA пользователю требуется располагать аккаунтом SAP. Для установки экземпляра HANA пользователю необходимо войти в свой аккаунт SAP и запустить инсталляцию из этого аккаунта. Если инфраструктура установки программ SAP отвечает всем требованиям, SAP создает свои виртуальные машины на средствах выбранного провайдера облачных служб. В этом заключается отличие от более традиционного подхода, при котором создание виртуальных машин обеспечивается непосредственно на веб-сайте провайдера облачных услуг. Платформа HANA требует достаточно мощных аппаратных ресурсов. Например, экземпляр, рекомендованный для Amazon, имеет в 8 раз больший объем и требует наличия 32 ЦП, 60 ГБ памяти и 640 ГБ дискового пространства.[24] HANA может быть развернута на одном сервере или на кластере повышенной доступности. Один сервер обеспечивает работу нескольких экземпляров HANA.

Ссылки[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Jeff Kelly. Primer on SAP HANA. Wikibon (July 12, 2013). Проверено 9 октября 2013.
  2. SAP HANA - The Column Oriented (Based) Database на YouTube (December 8, 2012)
  3. SAP Community Network: SAP HANA Master Guide
  4. SAP In-Memory Computing on IBM eX5 Systems (January 2012). Проверено 22 октября 2013.
  5. 1 2 SAP SE. SAP HANA Timeline. SlideShare (June 17, 2012). Проверено 9 октября 2013.
  6. What is SAP HANA Database. Gucons web site (2011). Проверено 9 октября 2013.
  7. Chris Kanas. SAP's in-memory analytics boxes set for November release, Info World (October 19, 2010). Проверено 9 октября 2013.
  8. Chris Kanaracus. SAP launches HANA for in-memory analytics: The in-memory analytic appliance will compete with next-generation data-processing platforms such as Oracle's Exadata machines, Info World (December 1, 2010). Проверено 24 сентября 2013.
  9. Chris Kanaracus. SAP's HANA is hot, but still in early days, Network World (September 15, 2011). Проверено 15 октября 2013.
  10. Courtney Bjorlin. SAP Begins BW on HANA Ramp-Up, First Big Test for the HANA Database, ASUG News (November 9, 2011). Проверено 15 октября 2013.
  11. Trevis Team. SAP Headed For $71 On Cloud, Mobile And HANA Growth, Forbes (April 30, 2012). Проверено 9 октября 2013.
  12. Doug Henschen. SAP Launches Cloud Platform Built On Hana, Information Week (October 17, 2012). Архивировано из первоисточника 19 октября 2012. Проверено 15 октября 2013.
  13. Brian McKenna. SAP puts Business Suite on HANA, joins transactional to analytical, Computer Weekly (January 11, 2013). Проверено 15 октября 2013.
  14. Sapphire 2013: Business Suite on HANA goes to general availability, Computer Weekly (May 15, 2013). Проверено 15 октября 2013.
  15. Chris Kanaracus. SAP unveils HANA Enterprise Cloud service: Customers will be able to run their applications on the HANA-powered cloud, Network World (May 7, 2013). Проверено 15 октября 2013.
  16. John Appleby. Update III: The SAP HANA FAQ - answering key SAP In-Memory questions. Bluefin Solutions (May 28, 2012). Проверено 9 октября 2013.
  17. Mellisa Tolentino. Your SAP HANA Cheat Sheet: Milestones, Terms and More. Silicon Angle blog (May 14, 2012). Проверено 9 октября 2013.
  18. Prasad Illapani. What’s new in High Availability and Disaster Recovery with SAP HANA-SPS10. SAP HANA Blog (july 30, 2015). Проверено 3 августа 2015.
  19. Michael Eacrett. What is new in SAP HANA SPS10. SAP HANA Blog (june 16, 2015).
  20. December 2012 — SAP HANA
  21. http://help.sap.com/hana/SAP_HANA_Developer_Guide_en.pdf
  22. Introduction to Software Development on SAP HANA — Thomas Jung
  23. http://help.sap.com/hana/SAP_HANA_Administration_Guide_en.pdf
  24. SAP HANA One on AWS Marketplace