Меню

HANA и BW 7.30 - Часть 1

Продолжаем серию публикаций по SAP HANA первым материалом от Томаса Зурека, посвященной мотивации, сценариям и способам использования HANA.

Автор: Томас Зурек(Thomas Zurek)

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

 

Обзор Части 1.

Обзор Части 2

  • Выявление площади под установку In-Memory в SAP BW
  • RDBMS + BWA становится единой HANA Box
  • Планирование In-Memory
  • In-Memory DSO
  • Заключение

Обзор In-Memory

Для начала давайте бегло рассмотрим основы in-memory computing (вычислений в оперативной памяти). С этой целью давайте обратимся к таблице, представленной на Рис. 1, которую я с благодарностью позаимствовал из презентации Энди Бехтольсгейма (Andy Bechtolsheim) для HPTS 2009. В таблице показано, как изменятся параметры ряда компонентов, согласно прогнозам полупроводниковой индустрии. См. ITRS.


Рис. 1: Маршрутная карта процессорных модулей (CPU module)

Достаточно посмотреть на две первые строки, "тактовая частота" (clock rate) и "ядра" (cores). Отсюда можно вывести две вещи:

  1. закон Мура (Moore's law) будет продолжать действовать.
  2. Однако он будет основан, скорее, на кратном изменении числа ядер процессора, нежели на тактовой частоте процессора, причем основной причиной этого изменения будет энергоэффективность.

Соображение, начинающееся со слова "однако", фундаментально и носит жесткий предписывающий характер для отрасли программного обеспечения, а именно: ключевым фактором в разработке архитектуры будущих процессоров будет параллелизм. Ответом SAP на этот вызов и стало то, что получило название in-memory computing (вычислений в оперативной памяти). Однако этот термин излишне выпячивает аспект оперативной памяти (main memory) и несколько заслоняет другие аспекты, которые имеют ключевое значение для преимуществ в производительности, которых удается достичь в данном контексте. Логика продвигается по следующим направлениям:

  • параллелизм: как видно из Рис. 1, ключевую роль играет поддержка многоядерных архитектур средствами параллелизма программного обеспечения;
  • in-memory: необходимым условием параллелизма является расположение релевантных данных близко к ядрам в локальной памяти;
  • колоночные структуры данных: они, в свою очередь, являются необходимым условием для возможности включать данные в оперативную память; колоночные структуры данных эффективны в отношении ввода/вывода и являются необходимым условием для следующего требования;
  • сжатие: колоночные данные можно сжимать более эффективно, чем строчные данные, благодаря более высокой степени повторяемости значений и, следовательно, более высокому потенциалу для сжатия;
  • назначение приоритетов приложений: этот фактор независим от предыдущих четырех технологических факторов и сводится к созданию инструмента, рассчитанного на приложения SAP; во второй записи в этом блоге в контексте BW будут приведены соответствующие примеры.

С моей точки зрения, последний элемент в рамках текущего обсуждения упускают из виду и недооценивают чаще всего. На самом деле в этом элементе раскрывается то, что многие компании уже давно и успешно выполняют, а именно - используют свойства, присущие основным приложениям, в целях ослабления некоторых традиционных ограничений RDBMS, чтобы строить инновационные кластеры по обработке данных, например, основанные на узлах MySQL или Hadoop. Частным случаем является теорема CAP; ознакомьтесь с несколькими примерами, внедренными Ebay, здесь. Решение BWA компании SAP - это еще один хороший пример, поскольку оно сконструировано в соответствии со схемой BW.

In-Memory @ SAP

Ответ компании SAP на потребность в новой архитектуре ПО - это ее программный компонент In-Memory Computing Engine (IMCE; aka NewDB). Я не хочу вдаваться в детали IMCE и думаю, что - для простых задач - вы можете рассматривать IMCE как

  • продукт эволюции BWA, хотя больше и не привязанный исключительно к BW,
  • внедрение компанией SAP базы данных in-memory DB, разработанной специально для приложений SAP,
  • полную автономную базу данных SQL,
  • OLAP-процессор для запросов MDX.

Далее, HANA  - это аббревиатура, обозначающая High Performance Analytical Appliance (высокопроизводительный инструмент для аналитики). Кроме того, несколько упрощая (хотя с технической точки зрения это не будет стопроцентно верно), вы можете рассматривать HANA следующим образом:

  • грубо говоря: IMCE как устройство
  • однако в HANA входит не только IMCE
  • HANA - это термин, который вы часто слышите от людей
  • до конца этой презентации мы примем, что: IMCE ≈ HANA (чтобы избежать излишней путаницы)

Как HANA затрагивает хранение данных

Следующие псевдоуравнения проистекают из некоторых наших шутливых обсуждений, которые, однако, оказались полезными:

  1. Сегодня: EDW = RDBMS + X
    Это означает, что хранилище данных на предприятии (EDW) не тождественно системе базы данных, но требует дополнения (здесь оно обозначено как X). Под X вы можете представлять вручную написанный или сгенерированный специальными инструментами код, например,
    • программы экстракции
    • код DDL (такой, как операторы CREATE TABLE (создать таблицу))
    • ограничения, предписания по проверке
    • преобразования и гармонизация данных
    • определения процесса, календарные планы и мониторинг, обработка ошибок (в особенности - непротиворечивый перезапуск)
    • определения KPI
    • бизнес-семантика, например, правила конвертации валют или определения финансовых годов
    • управление общими и частными измерениями,

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти