Разделы

Big Data

SAP HANA: Что такое полноценная in-memory?

Сегодня применение баз данных in-memory является одним из самых распространенных трендов в сфере работы с большими данными. У каждого разработчика корпоративного уровня существует элемент системы, отвечающий за анализ информации в оперативной памяти. Какие механизмы являются признаками полноценной технологии in-memory?

Принципиальное отличие настоящих систем вычислений в оперативной памяти (in-memory) как нельзя лучше сформулировал ведущий аналитик Gartner Дональд Фейнберг: база данных in-memory не должна хранить данные на диске ни для каких целей, кроме обеспечения надежности системы, – все операции должны проводиться исключительно в оперативной памяти. Именно этому принципу и следовали разработчики при создании SAP HANA – база данных in-memory хранит информацию, проводит обработку всех запросов и осуществляет расчеты исключительно в оперативной памяти, используя диски только для логирования и хранения «снимков системы» с целью ее быстрого и полного восстановления. Это технологическое преимущество SAP HANA заметно отличает ее от большинства систем, существующих сегодня на рынке баз данных in-memory.

Поколоночное хранение

В отличие от традиционных баз данных, создававшихся для работы с жестким диском, в SAP HANA вся оптимизация работы системы изначально была направлена на взаимодействие оперативной памяти и процессора. При этом используется поколоночный метод хранения данных, который помимо высокой скорости чтения информации дает возможность эффективно применять механизмы компрессии данных. Таким образом, SAP HANA работает непосредственно со сжатыми данными, не тратя ресурсы на процесс разархивирования.

Новый подход позволяет снизить объемы хранимой в системе информации. Это необходимо учитывать при оценке миграции с традиционных баз данных на платформу вычислений в оперативной памяти SAP HANA. В ряде проведенных в СНГ проектов коэффициент сжатия достигал 15–20 раз. Ярким примером эффективности технологии стал проект, проведенный в крупном телеком-операторе стран СНГ, в рамках которого была достигнута компрессия базы данных с операциями клиентов в 30 раз, что позволило сильно сократить стоимость всего проекта.

Дополнительное снижение объемов хранимой информации происходит за счет удаления из системы индексов и агрегатов, что стало возможным благодаря внутренней структуре поколоночного хранения и реализованным функциям эффективного агрегирования данных «на лету». Благодаря такому подходу пользователи систем, функционирующих на SAP HANA, могут строить аналитические запросы и работать на самом детальном уровне информации, что повышает точность и качество принимаемых решений. Все эти механизмы позволяют кардинально сократить общую стоимость владения и резко повышают привлекательность использования технологий in-memory в ИТ-ландшафте компании.

Традиционно, недостатком поколоночного хранения является низкая скорость записи данных. Это связано с тем, что для корректного внесения информации в систему необходимо большое число операций. В SAP HANA эта проблема решена. Для этого был создан механизм Delta Storage. Он позволяет моментально вносить поступающую информацию в систему и учитывать ее в запросах и расчетах. При этом перенос поступившей в поколоночное хранение информации происходит позже в фоновом режиме. Такой подход позволяет применить технологию хранения данных в оперативной памяти SAP HANA не только для аналитических, но и для транзакционных систем. В итоге производительность растет в десятки раз, а с ней повышается и эффективность работы бизнес-пользователей.

Поколоночное хранение и Delta Storage являются лишь основой методики хранения данных в оперативной памяти, применяемой в SAP HANA. На базе используемых в SAP HANA технологий в Hasso Platner Institute (Германия) проводится полугодовой курс бесплатных онлайн-лекций, в рамках которого можно подробнее узнать о теории хранения и обработки информации in-memory.

Новые грани бизнес-аналитики

8 задач, чтобы перезапустить инженерную школу в России
импортонезависимость

Размещение всей хранимой в SAP HANA информации в оперативной памяти дает возможность эффективно проводить вычисления непосредственно в базе данных. Предприятия различных индустрий накопили и продолжают накапливать большие объемы разнородных данных, в том числе и неструктурированных. Возникают совершенно новые задачи обработки информации с целью извлечения выгоды для бизнеса и приобретения новых конкурентных преимуществ.

В SAP HANA реализован богатый набор возможностей для работы с данными. Он включает библиотеку функции PAL (Predictive Analytics Library) для задач прогнозной аналитики, библиотеку бизнес-функций BFL (Business Function Library), функции по обработке неструктурированных текстов Text Analysis, набор функций по работе с геолокационной информацией, а также ряд других встроенных модулей. Все эти функции могут быть использованы для создания моделей хранения и обработки данных и написания внутренних хранимых процедур на специализированном языке SQLScript. Такой подход дает возможность провести всю необходимую обработку на стороне платформы и максимально сократить объем передаваемых данных между сервером приложений и сервером базы данных SAP HANA, что является критичным фактором с учетом объемов данных, которые накоплены в бизнес-системах.

Именно такой подход используется для дополнительной оптимизации работы систем SAP Business Suite в случае их размещения на платформе SAP HANA, где большинство ресурсоемких функций уровня приложений отдается на выполнение платформе. Благодаря этому появилась возможность ускорения транзакционных вычислений в сотни раз. Примером такой оптимизации является внедрение в компании НЛМК. В рамках этого проекта в системе, в которой работает более 5000 пользователей, удалось ускорить ряд транзакций в десятки–сотни раз, а транзакция по «запасам партий» была ускорена в 13 тыс. раз. Применение технологий in-memory позволило бизнес-пользователям проводить более комплексный анализ и вычисления.

Общее ускорение работы системы и повышение производительности транзакций и отчетов дает возможность также реализовывать более сложные аналитические запросы непосредственно в учетной системе. Те отчеты, которые раньше приходилось выносить в отдельную аналитическую систему, теперь могут быть реализованы непосредственно в транзакционной системе и базироваться на онлайн-данных. Если раньше пользователям для принятия управленческих решений необходимо было дождаться отражения последних изменений в аналитической системе, то с использованием SAP HANA появляется возможность обрабатывать текущие бизнес-процессы в транзакционной системе в режиме реального времени, начиная с общей картины и агрегированных ключевых показателей эффективности (КПЭ) до детальных транзакционных данных, а также встроенной прогнозной аналитики.

Разработчик российской ОС подвел итоги года
Бизнес

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

Сергей Кузин,
архитектор бизнес-решений SAP СНГ