Hana | |
---|---|
![]() | |
Тип | реляционная СУБД и Резидентная база данных |
Разработчик | SAP SE |
Написана на | Си и C++ |
Операционная система | Linux |
Последняя версия | |
Состояние | активное |
Лицензия | проприетарная и пользовательское соглашение |
Сайт | sap.com/products/hana.ht… |
Hana (англ. High-Performance Analytic Appliance) — резидентная реляционная СУБД компании SAP, обеспечивающая работу как в OLTP- так и в OLAP-сценариях. Поставляется только для работы на ограниченном наборе оборудования: производитель производит сертификацию определённых моделей серверных узлов с конкретной конфигурацией. В состав системы входит также веб-сервер и репозиторий управления версиями, необходимые для разработки приложений. Приложения для Hana могут создаваться с использованием кода JavaScript на стороне сервера и HTML-кода.
В основе системы — резидентная столбцовая поисковая машина TREX, транзакционная резидентная СУБД P*TIME (приобретённая SAP в 2005 году) и СУБД MaxDB[англ.] со встроенным процессором liveCache[2][3]. Архитектура новой системы представлена 2008 году группой специалистов из SAP, Института Хассо Платтнера и Стэнфордского университета[4][5].
Первый выпуск продукта состоялся в конце ноября 2010 года[3][6]. Несмотря на то, что к середине 2011 года решение привлекло к себе внимание рынка, консервативно настроенные бизнес-заказчики продолжали считать, что технология ещё «не созрела»[7].
В октябре 2012 года SAP объявила о выпуске варианта системы Hana One, в которой использовалась память небольшого объёма, размещенная в Amazon Web Services на условиях почасовой оплаты[8].
В январе 2013 года объявлено о поддержке SAP Hana как СУБД для основного продукта корпорации — SAP ERP, в мае того же года начались поставки[9][10]. В мае 2013 года запущено публичное облако Hana Enterprise Cloud[11]
Вместо выпуска очередных версий используется практика пакетов обновлений[12][13], например, в августе 2015 года вышел пакет обновлений SPS10[14][15].
Система поддерживает как строчное, так и столбцовое хранение данных: первое используется для транзакционных нагрузок, второе — для аналитических. Индексный сервер обеспечивает управление сеансами, авторизацию, управление транзакциями и обработку команд. Диспетчер авторизации обеспечивает работу служб аутентификации и авторизации, а также обеспечивает защиту с использованием протоколов аутентификации SAML, OAuth или Kerberos.
Подсистема расширенных сервисов (Extended Services, XS) — веб-сервер с привилегированным доступом к базе данных. Для развертывания приложений в XS могут использоваться Java-сервлеты или серверные JavaScript-приложения. Такими приложениями могут быть веб-приложения или конечные точки веб-служб, доступных через API в стиле REST. В состав JavaScript-сервера входят расширения на основе jQuery для доступа к базе данных и к сообщениям HTTP. Движок JavaScript реализован на основе проекта Mozilla SpiderMonkey. Клиентские приложения получают доступ к базе данных непосредственно с использованием JDBC, либо через подсистему XS с использованием HTTP. Приложения могут действовать в обход процессора SQL, получая непосредственный доступ к подсистеме вычислений с помощью запросов на основе XML. Существует три типа не-SQL-объектов: Attribute Views, Calculation Views и Analytic Views. Во многих случаях использование этих объектов вместо запросов SQL позволяет улучшить характеристики производительности приложений.
Для обеспечения отказоустойчивости система ведёт журналы упреждающей записи.
Для разработки приложений используется подключаемый программный модуль Hana Studio для среды разработки Eclipse.
В состав сервера Hana входит система управления версиями. Развёртывание приложений, разработанных в Hana Studio, производится с использованием репозитария, обеспечивающего поддержку истории версий для каждого искусственного объекта развертывания (таблицы, представления, процедуры, файла JavaScript и других). Перемещение приложений с одного сервера на другой осуществляется посредством создания так называемых модулей распространения (Distribution Unit, DU).
Несмотря на поддержку JDBC, SAP пропагандирует перенос логики из приложений клиент-серверной или многозвенной архитектуры на сервер Hana в качестве XS-приложений в целях уменьшения объёма данных, передаваемых от сервера баз данных на сервер приложений.
Эту статью необходимо исправить в соответствии с правилом Википедии об оформлении статей. |