Sap hana что это
Функциональность SAP HANA как базы данных для SAP HANA Data Management Suite
Мы продолжаем цикл статей о SAP HANA Data Management Suite – гибриде локальных и облачных технологий, который включает в себя четыре компонента-продукта: SAP Data Hub, SAP HANA, SAP Enterprise Architecture Designer и SAP Cloud Platform Big Data Services.
Сочетание этих решений позволяет создать целостную структуру управления данными с следующими функциями:
SAP проводил и продолжает проводить исследования, инвестирует большие ресурсы и средства в развитие направления по обработке данных. В результате появилась платформа SAP HANA – High-Performance Analytic Appliance. У нашей компании уже был накоплен многолетний и по-своему уникальный опыт по разработке технологий и сервисов для бизнеса – и в SAP применили его при создании платформы для бизнеса для realtime обработки данных. В результате появилась SAP HANA, которая стала основой и ядром для разработки и построения интеллектуальных предприятий нового типа (intelligent enterprise). Платформу используют для разработки приложений как внутри SAP, так и наши клиенты и партнёры.
SAP HANA – это многоцелевое решение для хранения и обработки информации. Одна из особенностей SAP HANA – это встроенный механизм вычислений, который позволяет переносить выполнение операций по планированию с уровня приложений на уровень базы данных SAP HANA. С помощью современной архитектуры аппаратной платформы вычисления проходят эффективнее – вся «лавина» обрабатываемых данных разбивается на строго определённое количество потоков, число которых равно общему количеству ядер платформы. Такой подход позволяет максимально эффективно использовать вычислительную мощность каждого ядра каждого процессора.
SAP HANA также предоставляет технологии для хранения и обработки данных in-memory. SAP HANA как база данных позволяет хранить данные в построчном и в поколоночном виде. Технология хранения и обработки данных in-memory обеспечивает быструю обработку транзакций, а вместе технологией анализа данных Calculation View гарантирует высокое быстродействие при выполнении аналитических запросов.
Аналитики Forrester начали использовать новое понятие – «транслитическая база данных». По их определению, такая платформа «поддерживает многие типы использования, включая информацию в режиме реального времени, машинное обучение, поточную аналитику и экстремальную транзакционную обработку».
В недавнем отчёте Forrester говорится следующее: «SAP HANA – это shared-nothing (без общего использования ресурсов), in-memory платформа. Это основа платформы SAP для транзакций и аналитики по данным, она поддерживает множество сценариев применения: приложения для обработки данный в режиме реального времени, аналитика, транслитические приложения, системы глубокой и продвинутой аналитики. Предприятия используют платформу для организации in-memory витрин данных, для работы с realtime-хранилищем данных SAP Business Warehouse, а также при работе с SAP S/4HANA и SAP Business Suite».
Транслитические платформы подходят для поддержки realtime-приложений и сервисов: для торговли акциями, обнаружения мошенничества, борьбы с терроризмом, мониторинга здоровья пациентов, анализа данных от различных сенсоров, мониторинга землетрясений и много другого. С помощью транслитической платформы приложения могут обмениваться данными в реальном времени, обеспечивают согласованность и точность информации, хранимой на предприятии.
Ещё одна сфера применения SAP HANA – это поддержка машинного обучения, что позволяет применять к данным сложные аналитические модели для более точного прогнозирования операций, бизнес-процессов, поведения клиентов и т.д.
Как SAP HANA поддерживает данную функциональность?
Начнём с сервиса баз данных. Если рассматривать HANA с точки зрения архитектуры и технологий, то здесь применяются два способа хранения данных – построчный и поколоночный.
Построчное хранение данных в таблице позволяет обеспечивать высокую скорость записи данных. Если вы хотите добавить новую строку в таблицу, то вам достаточно найти свободное место в памяти для этой строки и записать туда новые данные. Однако при построчном хранении возникает проблема с анализом данных: необходимо использовать индексирование или материализованное представление данных в форме, которая будет удобна для анализа. При этом индексирование приводит к задержкам из-за того, что необходимо дополнительное время на перестроение индекса, материализацию данных в ином формате в процессе вставки строки.
Если же данные хранятся поколоночно, то для добавления новой строки необходимо потратить время на разнесение значений строки по колонкам, затем – подождать, пока данные будут разнесены в разные места в памяти. Всё это приводит к снижению производительности во время записи данных.
База данных с поколоночным хранением позволяет значительно быстрее обрабатывать запросы, потому что в этом случае данные из запрошенных колонок расположены в памяти компактно и сжато. Т.е. при запросе нет необходимости сканировать всю таблицу – достаточно просмотреть только колонки, используемые в запросе. Такая база данных оптимизирована для чтения, а поколоночное хранение информации позволяет организовывать данные в оперативной памяти определенным образом, с использованием группировки. При этом подходе можно с большей эффективностью использовать различные техники компрессии, что приводит к многократному сжатию исходной информации.
Для решения этой проблемы был разработан подход Unified Tables, который обеспечивает высокую скорость чтения и записи данных в таблицу поколоночного хранения. Такой механизм позволяет быстро осуществлять транзакции (то есть запись новых строк), анализировать данные с высокой скоростью за счёт поколоночного хранения в сжатом виде, параллельной обработки данных, а также хранить все данные в оперативной памяти (in-memory).
При проведении записи изменения не сразу вносятся в основное место хранения таблиц. Вместо этого все правки заносятся в отдельную структуру данных – дельта-хранилище (на картинке L1-delta). Здесь данные хранятся в оптимизированном для записи формате. Когда необходимо перенести изменения из дельта-хранилища, то запускается специальный процесс Delta merge – слияние дельты. Сначала данные из L1-delta преобразуются в поколоночный формат в L2-delta, а затем объединяются с основным хранением данных (main store). А для механизма чтения данных все три области хранения информации (L1-delta, L2-delta и main store) предоставляют данные в целостном виде. Благодаря этому процессу получается обеспечить высокую скорость записи и анализа данных.
Одно из существенных преимуществ SAP HANA – все расчеты агрегированных данных производятся непосредственно при формировании аналитического запроса и выводятся сразу в виде результата. Возможности по хранению детальных или исходных данных в оперативной памяти (а не агрегированных значений) позволяют отказаться от предварительного расчета и хранения агрегатных таблиц, которые являются неотъемлемой частью классических аналитических систем.
SAP HANA также поддерживает различные внутренние языки программирования: R – для создания прогнозных моделей, SQL Script – для написания логики вычислений. На уровне сервера приложений XSA, встроенного в SAP HANA 2.0, можно выполнять разработку на многих других языках благодаря поддержки концепции Bring Your Own Language (и за счёт использования Cloud Foundry). С помощью этих языков можно производить необходимые вычисления и прогнозы непосредственно на уровне хранения данных. Это позволяет избавиться от лишних этапов передачи больших объёмов данных и выдавать готовый результат расчетов на уровень приложения.
Теперь рассмотрим платформенные сервисы SAP HANA.
В SAP HANA есть не только база данных, но и целый набор сервисов для разработки приложений, средства интеграции и очистки данных, библиотеки для аналитической обработки данных, включая Machine Learning, а также возможности для хранения и обработки специальных типов данных. SAP HANA позволяет без дополнительных инструментов загружать данные из различных источников, разрабатывать различные формы для ввода, редактирования и анализа данных. Также доступны инструменты для сложной интеллектуальной обработки данных: преобразование, трансформация, поиск закономерностей, исследования. И, конечно, платформа открыта для визуального анализа данных через различные инструменты.
Чтобы рассказать о всех возможностях SAP HANA, потребуется написать несколько дополнительных статей. Многие из них уже описаны в нашем блоге.
Давайте рассмотрим некоторые доступные сервисы:
SAP HANA включает в себя движок для хранения и обработки геоданных – данных, которые описывают положение, форму и ориентацию объектов в пространстве. SAP HANA поддерживает пространственные типы данных и методы их обработки. Существует специальный метод для обработки такой структуры – граф. SAP HANA в этом случае предоставляет возможности для обработки гиперсвязанных данных и их отношений. Движок для обработки данных имеет встроенные алгоритмы поиска окрестностей, кратчайших путей, сильно связанных компонент, сопоставления образцов и многое другое.
В SAP HANA также есть сотня предварительно упакованных алгоритмов машинного обучения и прогнозирования с такими возможностями, как объединение, кластеризация, классификация, регрессия, распределение вероятности, временные ряды и многое другое. Кроме этого, вы можете использовать библиотеку TensorFlow и язык R.
SAP HANA имеет встроенные возможности для обработки и анализа текстовых файлов, включая различные функции по интеллектуальному анализу текстов – например, нечеткая логика, поиск синонимов, семантический разбор и т.д.
SAP HANA Streaming Analytics может фиксировать, фильтровать, анализировать и воздействовать на миллионы событий в секунду в режиме реального времени, сохраняя данные или результаты в базу данных SAP HANA и направляя менее критические данные в более дешевые решения для хранения — такие, как Hadoop. SAP HANA Streaming Analytics также интегрирована с системой сообщений Apache Kafka.
Полезные материалы и ресурсы для начала работы с SAP HANA:
Бесплатная ознакомительная версия SAP HANA, express edition доступна для скачивания на нашем официальном сайте. Также в начале работы вы можете изучить набор туториалов перед началом работы с SAP HANA:
— виртуальная машина и версия Server + XSA Applications для SAP HANA и видеоинструкция по её установке
— в наборе туториалов есть широкий выбор. Например, для работы с пространственными данными: первый и второй
Как платформа SAP HANA работает с большими данными
Привет, Хабр! В прошлой статье мы рассказали про решение для малого бизнеса SAP Business One и кратко упомянули про возможности SAP HANA в области вычислений и аналитики. Сегодня мы подробнее остановимся на том, как платформа SAP HANA может работать с большими данными и на сценариях применения этих технологий в бизнесе.
SAP HANA: как это работает
Основным ядром в SAP HANA является компонент СУБД, позволяющий обрабатывать большие объёмы данных с помощью технологии In-Memory и на базе языкового инструмента SQL. В основе СУБД SAP HANA используется реляционная модель данных, но также существует возможность обращения к данным с помощью «графового» языка запросов WIPE. Гибкость в выборе языка запросов обусловлена архитектурными возможностями SAP HANA и заключается в использовании единого представления данных в In-Memory хранилище. Таким образом, у пользователя есть возможность обращения к данным с помощью различных семантических конструкций, используя при этом единую копию данных в памяти СУБД. Классический подход, принятый в ряде других OpenSource СУБД, отличается от вышеуказанного, потому что подразумевает использование как минимум двух хранилищ данных и разделение способа хранения графовых структур и реляционных таблиц.
Рисунок 1. Концепция управления данными
На рисунке выше отражена общая схема управления данными в SAP HANA и суть концепции управления с помощью различных языков – в частности, SQL и WIPE. Используя движок Data Processing, можно сформировать на уровне Data Manipulation новый семантический уровень для работы с данными, но при этом будет применена единая копия исходных данных, что существенно повышает возможности платформы SAP HANA для решения задач, где требуется представление информации в виде графовых структур.
Технология In-Memory в СУБД SAP HANA позволяет хранить и обрабатывать данные в памяти, используя уникальные алгоритмы[1], разработанные в компании SAP и на базе платформы Intel x86. Недавно SAP также анонсировала поддержку платформы IBM Power для SAP Hana. Уникальность и высокая скорость обработки запросов к данным заключается в возможности их хранить и выполнять. Они находятся в сжатом виде в памяти RAM. Благодаря разработанному алгоритму обработки данных в SAP HANA удалось реализовать подход Unified Tables, который обеспечивает высокую скорость чтения и записи данных в таблицу поколоночного хранения. Поэтому одним из главных преимуществ SAP HANA является возможность выполнять аналитические запросы сразу на транзакционных данных, которые добавляются в реальном времени. При этом система автоматически берёт на себя обеспечение прозрачного доступа к данным. Таким образом, новые данные в таблице сразу доступны для анализа без предварительной обработки.
Рисунок 2. Архитектура концепции Unified Table
Архитектурно SAP HANA поддерживает конфигурацию, в рамках которой в составе единой инстанции СУБД используются один и более вычислительных узлов (Scale-out см. Рис.3 и www.hanatutorials.com/p/scale-up-or-scale-out-hana-configuration.html). Такая конфигурация особенно актуальна для задач по обработке больших массивов данных в режиме реального времени. Обработка запроса SQL в SAP HANA происходит одновременно на всём объёме данных вне зависимости от месторасположения данных.
Рисунок 3. Конфигурация Scale-out HANA
В отличие от Hadoop Spark и Hadoop Hive, платформа SAP HANA позволяет реализовать более быстрый и простой механизм загрузки данных и выполнения запросов для большого объёма структурированных данных с помощью языка SQL.
При обработке больших массивов неструктурированных данных (например, видео или фотоматериалы) рекомендуется использовать возможность интеграции SAP HANA и Hadoop Spark с помощью инструмента HANA Vora, который представляет собой компактный вариант In-Memory СУБД, интегрированной в Hadoop Spark.
Платформа SAP HANA предлагает также использовать разные опции при выборе языка программирования для создания приложений в рамках новой концепции Bring your own language. Встроенный сервер приложений SAP HANA XS advanced позволяет создавать независимые контейнеры приложений на базе языков JavaScript (движок Google V8 и Node.JS), Java (Tomcat Java), Python, Ruby, C++.
Рассмотрим один из примеров из области машинного обучения для задач распознавания и классификации образов на основе базы изображений с помощью Hadoop, а также потоковых данных с помощью компонента SAP HANA Smart Data Streaming (см. Рис.4).
Рисунок 4. Архитектура системы контроля движущихся объектов на базе SAP HANA
При реализации видео алгоритмов в SAP HANA возможно также использовать популярные пакеты Caffe, Theano, Torch, Tensorflow и переносить уже разработанные приложения без изменений в контейнеры на базе HANA XS Advanced или среду Hadoop Spark.
В следующих статьях мы покажем реальные примеры реализации кода для задач машинного обучения на платформе SAP HANA.
Примеры сценариев по использованию SAP HANA для работы с большими данными в системах контроля движущихся объектов:
«Цифровой склад» на базе SAP HANA
Важная задача для крупных дистрибьюторских компаний – это управление погрузкой и разгрузкой товаров, а также их маршрутизацией для формирования заказов и подготовке к отправлению. Своевременное отслеживание товаров и погрузчиков, мониторинг и управление процессом погрузки и разгрузки позволяет оперативно планировать и корректировать планы по подготовке товаров к отправке, а также избежать проблем с простоем товара на складе.
Модель «цифрового склада», построенная на базе SAP HANA и компонента для Smart Data Streaming, помогает собирать информацию о доступности средств погрузки и разгрузки товара, информацию о местонахождении, управлять персоналом с помощью своевременной корректировки плана. Использование специализированных датчиков позволяет собирать информацию о состоянии транспортировочной ленты, рабочих мест персонала и отслеживать статус мест для погрузки и разгрузки товара.
На обычных складах в процессе комплектации заказа возможны ошибки из-за человеческого фактора. Чтобы минимизировать это, в «цифровом складе» используются встроенные возможности SAP HANA по распознаванию специализированных меток в виде QR кодов. Метки позволяют автоматически определять комплектацию заказов и позиции товаров на основе кода заказа и информации о нем из SAP ERP.
Используя SAP HANA и её возможности по анализу информации в режиме реального времени, компании могут построить систему для управления складом в режиме реального времени, которая будет учитывать изменения планов при обработке товаров и формировании заказов, позволит снизить время простоя товара и обеспечить адекватную загрузку персонала.
Дополнительно в рамках SAP HANA с помощью средств прогнозной аналитики можно строить анализ данных на основе статистики о выполненных работах с целью оптимизации процесса работы склада.
«Цифровая парковка» для автомобилей
Одна из важных задач при управлении городским движением – это отслеживание доступных парковочных мест для контроля загрузки городских парковок. Специализированные датчики, которые устанавливаются на парковках, могут отслеживать количество свободных и занятых мест. Cистема контроля на базе SAP HANA Smart Data Streaming позволяет в реальном времени отслеживать состояние датчиков и управлять картой парковочных мест.
Дополнительно, при использовании видеорегистраторов, для соблюдения условий платной парковки возможно собирать информацию о номерах автомобилей и отслеживать статус парковки.
Цифровая система контроля качества доставки товаров
Управление и отслеживание процессом доставки товара является важной задачей для крупных городских сетей доставки. В больших городах, в условиях ограниченного времени доставки и большого количества заказов необходимо своевременно реагировать на изменения в заказах и планировать доставку товаров с учётом меняющихся требований со стороны клиентов.
Интеграция системы SAP HANA Smart Data Streaming помогает обработать несколько миллионов заявок на доставку товаров в минуту и в дальнейшем с помощью специализированных инструментов своевременно корректировать планы по доставке товаров в режиме реального времени.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
SAP HANA
Содержание
История
Первое демонстрация SAP HANA была в 2008 году, когда команда SAP ES, работавшая c Hasso Plattner Institute и Stanford University показали архитектуру приложений для анализа и агрегации в режиме реального времени. Бывший руководитель SAP SE, Vishal Sikka, упомянул эту архитектуру как «Новая архитектура Хассо»,а систему «новой базой данных» в блоге технического директора SAP. Затем входе жизни проекта, программное обеспечение получило название «SAP High-Performance Analytic Appliance»(SAP HANA).
Основным плюсом системы было то, что служебный аналитический продукт имел отклик в режиме реального времени. Первый продукт был отправлен в конце ноября 2010 года. К середине 2011 года эта технология привлекла к себе внимание рынка, консервативно настроенные бизнес-заказчики продолжали считать, что технология еще «не созрела».Поддержка HANA для SAP NetWeaver Business Warehouse была объявлена в сентябре того же года для ее доступности уже к ноябрю.
В 2012 году SAP продвинул аспекты облачных вычислений. В октябре SAP объявила о платформе как услуге, называемой облачной платформой SAP HANA, а так же SAP HANA One, единственным отличием которого, было использование меньший объем памяти.
В мае 2013 года было объявлено о выпуске управляемого облачного облака под названием HANA Enterprise Cloud и Business Suite на HANA, позволяющий клиентам выполнять функции планирования SAP Enterprise Resource на платформе HANA.
Инновации в HANA
Компания SAP реализовала в своем ядре вычислений in-memory ряд технических прорывов, обеспечив, например, оптимальную загрузку процессора и возможность параллельной обработки данных на нескольких узлах. В процессе совместной работы с клиентами на экспериментальном этапе проекта SAP HANA удалось продемонстрировать ряд глобальных инноваций в трех ключевых областях:
Скорость: Модуль вычислений в оперативной памяти от SAP позволяет каждому ядру процессора сканировать 2 миллиона записей в миллисекунду и производить «на лету» более 10 миллионов операций по агрегированию данных в секунду. Эти результаты достигнуты с использованием реальных данных клиентов, работающих на стандартных процессорах Intel. Например, компания SAP внедрила реальное решение на основе SAP HANA для клиента, занимающегося продажей потребительских товаров, которое продемонстрировало возможность обработки максимально сложных запросов с участием более 450 миллиардов записей за считанные секунды.
Масштабируемость: Программное ядро SAP HANA разработано на основе многоядерной архитектуры, в нем реализованы адаптивные алгоритмы, позволяющие оптимально использовать кэш. В результате производительность линейно растет при увеличении количества задействованных ядер, процессоров и серверов. Выводы очевидны – это технология будущего. Она на долгое время обеспечит наилучшее соотношение «цена/производительность», поскольку количество ядер, используемых в серверах, продолжает увеличиваться в геометрической прогрессии.
Сжатие: Ядро SAP для вычислений в памяти использует передовые алгоритмы сжатия и структуры данных, позволяющие минимизировать объем памяти, необходимый для нормальной работы системы.
Архитектура
Диспетчер авторизации обеспечивает работу служб аутентификации и авторизации. Диспетчер авторизации обеспечивает защиту с использованием протоколов аутентификации SAML, OAuth или Kerberos
Клиентские приложения получают доступ к базе данных HANA непосредственно с использованием JDBC, либо через подсистему Extended Services с использованием HTTP.
Bring your own language
Цифровая система контроля качества доставки товаров Управление и отслеживание процессом доставки товара является важной задачей для крупных городских сетей доставки. В больших городах, в условиях ограниченного времени доставки и большого количества заказов необходимо своевременно реагировать на изменения в заказах и планировать доставку товаров с учётом меняющихся требований со стороны клиентов. Интеграция системы SAP HANA Smart Data Streaming помогает обработать несколько миллионов заявок на доставку товаров в минуту и в дальнейшем с помощью специализированных инструментов своевременно корректировать планы по доставке товаров в режиме реального времени.
Big Data
SAP предлагает отдельный, но связанный с ним продукт, называемый Vora, для тесной интеграции больших данных, хранящихся в Hadoop, с корпоративными данными в HANA. Вора использует некоторые из тех же концепций из HANA, а именно: хранение в памяти, опрокидывание запросов и массивные распараллеливания.
Лицензии
Лицензирование SAP HANA в основном разделено на две категории: Runtime License, Full Use License.
Применение
Поскольку SAP HANA позиционируется, в частности, в качестве производительной СУБД для приложений любого класса, следует выделить следующие целевые отрасли:
Бизнес-процессы предприятия, производительность которых может быть существенно повышена с помощью SAP HANA:
Развертывание
Пример установки
Видео с канала myErp-school