SAP HANA ArchiАрхитектура: Обзор базы данных
⚡ Умное резюме
SAP HANA ArchiАрхитектура, ландшафт и размеры составляют основу платформы для работы с данными в оперативной памяти, построенной на базе SUSE Linux. C++В этой статье рассматриваются индексный сервер, механизмы хранения данных, хранилища строк и столбцов, дельта-слияние и методы расчета аппаратных параметров.

Что такое SAP База данных HANA?
SAP HANA — это платформа управления данными, ориентированная на работу в оперативной памяти. База данных работает на SUSE Linux Enterprise Server (SLES) и Red Hat Enterprise Linux (RHEL) и написан на C++Она может масштабироваться на несколько машин для обработки очень больших объемов данных.
Основные преимущества SAP ХАНА:
- Чрезвычайно высокая скорость выполнения запросов, поскольку все данные загружаются в память, что исключает медленный дисковый ввод-вывод из критического пути обработки.
- Использование комбинированных OLAP (оперативная аналитическая обработка) и OLTP (оперативная обработка транзакций) в одной базе данных упрощает структуру данных.
SAP База данных HANA построена на основе набора механизмов обработки данных в оперативной памяти. Основной механизм — это механизм вычислений, который взаимодействует с другими механизмами, такими как реляционный механизм (хранилище строк и столбцов), механизм OLAP, текстовый механизм и механизм графов. Реляционная таблица хранится либо в хранилище строк, либо в хранилище столбцов, а дополнительные механизмы обрабатывают текстовые и графовые данные, пока доступна память.
SAP HANA Archiтекстура
Данные в столбцовом хранилище сжимаются с использованием таких методов, как словарное кодирование, кодирование длин серий, разреженное кодирование, кластерное кодирование и косвенное кодирование. При достижении лимита основной памяти неиспользуемые объекты базы данных (таблицы, представления и т. д.) автоматически выгружаются на диск и загружаются повторно по запросу.
Администраторы также могут вручную загружать или выгружать отдельные таблицы, щелкнув по таблице правой кнопкой мыши. SAP HANA Studio и выбор разгружать or нагрузка.
SAP Сервер HANA состоит из:
- Индексный сервер
- Препроцессорный сервер
- Name Server
- Сервер статистики
- XS-движок
1. SAP Индексный сервер HANA
Сервер индексации является основным SAP Компонент базы данных HANA:
- Это сердце SAP База данных HANA.
- В нём содержатся сами хранилища данных и механизмы, обрабатывающие эти данные.
- Он выполняет входящие SQL- и MDX-запросы.
Архитектура сервера индексации показана ниже.
SAP Обзор индексного сервера HANA
- Менеджер сессий и транзакций: Компонент «Сессии» управляет соединениями и сессиями для базы данных. Менеджер транзакций координирует и контролирует все транзакции.
- SQL и процессор MDX: SQL-процессор отправляет запросы соответствующему механизму (SQL / SQL Script / R / Calc Engine). MDX-процессор обрабатывает многомерные запросы (например, к аналитическому представлению).
- SQL/SQL Script/R/Calc Engine: Выполняет SQL-запросы, SQL-скрипты, запросы на языке R и модели вычислений к данным.
- Repository: Поддерживает версионирование для SAP Метаданные объектов HANA, такие как представления атрибутов, аналитические представления и хранимые процедуры.
- Уровень постоянного хранения данных: Обеспечивает встроенную функцию аварийного восстановления путем записи точек сохранения и журналов на том данных на диске.
2. Сервер препроцессора
Сервер препроцессора используется для анализа текста. Он выполняет следующие функции:tracПри вызове функции поиска программа подготавливает данные из текстового содержимого.
3. Сервер имен
Сервер имен хранит информацию обо всей системной среде. В распределенной системе он tracks определяет каждый запущенный компонент и местоположение данных на узлах, чтобы запросы могли быть направлены на нужный сервер.
4. Сервер статистики
Сервер статистики собирает данные о состоянии, распределении ресурсов, потреблении и производительности. SAP Система HANA. Примечание: в HANA SPS 7 и более поздних версиях встроенная служба статистики работает внутри индексного сервера, а не как отдельный процесс.
5. Сервер XS
На сервере XS размещается движок XS Engine, который позволяет внешним приложениям и разработчикам использовать его. SAP База данных HANA по протоколу HTTP. Сам XS Engine выступает в качестве легковесного HTTP-сервера, позволяя браузерным и REST-клиентам напрямую взаимодействовать с HANA.
SAP Хана Пейзаж
«HANA» означает Высокопроизводительный аналитический прибор и поставляется в виде комбинированной аппаратной и программной платформы.
- Современное оборудование предлагает гораздо больше ядер ЦП, оперативной памяти и пропускной способности хранилища, чем было предусмотрено конструкцией устаревших серверов баз данных.
- SAP HANA использует это, сохраняяping Все рабочие данные хранятся в оперативной памяти, что устраняет узкое место, связанное с дисковым вводом-выводом, которое ограничивает возможности традиционных баз данных.
Приведенная ниже диаграмма суммирует следующее: SAP Инновации в аппаратном и программном обеспечении HANA.
SAP HANA поддерживает два реляционных хранилища данных: Магазин Ряд и Колонка Магазин.
Магазин Ряд
Хранилище строк ведет себя как традиционная база данных (Oracle(SQL Server). Ключевое отличие заключается в том, что все строки находятся в оперативной памяти. SAP В отличие от традиционных баз данных, где данные хранятся преимущественно на диске, в HANA они хранятся преимущественно на диске.
Колонка Магазин
Column Store хранит данные в столбцовом формате в памяти. Здесь хранятся столбцовые таблицы, и механизм обеспечивает баланс между высокой производительностью записи и оптимизированной производительностью чтения. На диаграмме ниже показаны две структуры, которые позволяют достичь этого баланса.
Основное хранилище
Основная память содержит большую часть данных. Для экономии памяти и ускорения поиска применяются методы сжатия, такие как словарное кодирование, кластерное кодирование, разреженное кодирование и кодирование длин серий.
- Изменение сжатых данных непосредственно в основной памяти — дорогостоящий процесс, поэтому операции записи не затрагивают основную память.
- Вместо этого каждое изменение записывается в отдельную область, называемую Delta ПамятьОперации чтения могут выполняться как в основном, так и в дельта-хранилище.
Загрузка и выгрузка данных может осуществляться вручную с помощью... Загрузка в память и Выгрузка из памяти Варианты показаны ниже.
Delta Память
Delta Хранилище оптимизировано для записи и использует более легкое сжатие. Все незафиксированные изменения в таблице столбцов хранятся здесь. Когда изменения необходимо объединить с основным хранилищем, выполните команду Delta идти операция от SAP Хана Студия.
- В результате слияния дельта-обновлений изменения, собранные в хранилище дельта-обновлений, перемещаются в основное хранилище.
- После слияния новое содержимое основного хранилища сохраняется на диске, и выполняется перерасчет степени сжатия.
Как данные перемещаются из Delta в основное хранилище
Построчно организованный буфер, называемый Л1-Delta Он располагается перед каждой столбцовой таблицей, поэтому столбцовая таблица может обрабатывать высокоскоростные операции записи.
- Пользователь выполняет операцию UPDATE или INSERT в таблице.
- Данные сначала попадают в L1-Delta (незафиксированные данные).
- После подтверждения данные перемещаются в столбцово-ориентированную L2-систему.Delta буфера.
- Когда L2-Delta Если хранилище заполнено или выполняется слияние, данные записываются в основное хранилище.
Таким образом, столбцовое хранилище оптимизировано как для записи (за счет дельта-функций L1 и L2), так и для чтения (за счет основного хранилища). После обработки данные сохраняются на диск слоем постоянного хранения.
Пример таблицы, построенной по строкам:
Одна и та же логическая таблица хранится на диске по-разному в зависимости от типа хранилища. В построчном хранилище строки записываются последовательно:
В столбцовом хранилище значения из одного и того же столбца хранятся вместе:
Поскольку значения в столбцах имеют общий тип данных и часто повторяются, структура столбцов очень хорошо сжимается — это главное преимущество столбцового хранилища с точки зрения использования памяти.
SAP Определение размеров HANA
Определение необходимых аппаратных ресурсов — оперативной памяти, дискового пространства и процессора — это процесс выбора оптимального объема памяти, дискового пространства и вычислительных ресурсов для конкретной системы. SAP Система HANA. Память — наиболее важный фактор, процессор — второй по значимости, а дисковая инфраструктура определяется первыми двумя.
В SAP При внедрении HANA выбор оптимального размера серверов для бизнес-нагрузки является одной из важнейших задач. По сравнению с традиционными СУБД, выбор размера серверов для HANA отличается в трех аспектах:
- Основная память: Обусловлено метаданными, а также объемом транзакционных и аналитических данных, хранящихся в памяти.
- CPU : Расчетные, а не измеренные значения, основанные на запросах прогноза и моделях нагрузки.
- диск: Предназначен для постоянного хранения данных и больших объемов журналов, а не для онлайн-запросов.
Объем процессора и памяти сервера приложений остался неизменным по сравнению с предыдущей базой данных, поскольку HANA заменяет только уровень базы данных.
SAP Предлагается несколько методов для расчета правильного размера:
- Расчет размеров с помощью отчета ABAP (код транзакции) ST03 данные и отчет /SDF/HDB_SIZING).
- Определение размеров с помощью скрипта базы данных для систем, не использующих ABAP.
- Определение размера с помощью SAP Быстрый размер инструмент на SAP Рынок услуг.
При использовании инструмента Quick Sizer требуемые параметры отображаются в формате, представленном ниже.












