База данных SAP HANA - это платформа для управления данными, ориентированная на основную память. База данных SAP HANA работает на SUSE Linux Enterprises Server и построена на языке C ++.
База данных SAP HANA может быть распределена на несколько компьютеров.
Преимущества SAP HANA указаны ниже -
- SAP HANA полезен, так как он очень быстр из-за того, что все данные загружаются в память, и нет необходимости загружать данные с диска.
- SAP HANA может использоваться для целей OLAP (онлайн-аналитика) и OLTP (онлайн-транзакции) в одной базе данных.
База данных SAP HANA состоит из набора механизмов обработки в памяти. Механизм вычислений является основным механизмом обработки в памяти в SAP HANA. Он работает с другим механизмом обработки, таким как механизм реляционной базы данных (механизм строк и столбцов), механизм OLAP и т. Д.
Таблица реляционной базы данных находится в хранилище столбцов или строк.
Для таблицы SAP HANA существует два типа хранения.
- Хранение типа строки (для таблицы строк).
- Хранение типа столбца (для таблицы столбцов).
Текстовые данные и данные графика находятся в Text Engine и Graph Engine соответственно. В базе данных SAP HANA есть еще несколько движков. Данные могут храниться в этих движках до тех пор, пока доступно достаточно места.
В этом руководстве вы узнаете:
- Архитектура SAP HANA
- SAP HANA Пейзаж
- Размер SAP HANA
Архитектура SAP HANA
Данные сжимаются с помощью различных методов сжатия (например, кодирования словаря, кодирования длин серий, разреженного кодирования, кластерного кодирования, косвенного кодирования) в хранилище столбцов SAP HANA.
Когда в SAP HANA достигнут предел основной памяти, все неиспользуемые объекты базы данных (таблица, представление и т. Д.) Будут выгружены из основной памяти и сохранены на диск.
Имена этих объектов определяются семантикой приложения и перезагружаются в основную память с диска при повторной необходимости. В обычных условиях база данных SAP HANA автоматически управляет выгрузкой и загрузкой данных.
Однако пользователь может загружать и выгружать данные из отдельной таблицы вручную, выбрав таблицу в SAP HANA studio в соответствующей схеме - щелкнув правой кнопкой мыши и выбрав опцию «Выгрузить / Загрузить».
Сервер SAP HANA состоит из
- Индексный сервер
- Сервер препроцессора
- Сервер имен
- Сервер статистики
- Двигатель XS
- Сервер индексации SAP HANA
База данных SAP HANA Основным сервером является индексный сервер. Подробная информация о каждом сервере приведена ниже:
- Это основной компонент базы данных SAP HANA.
- Он содержит фактические хранилища данных и механизм обработки данных.
- Сервер индексирования обрабатывает входящие операторы SQL или MDX.
Ниже представлена архитектура сервера индексирования.
Обзор сервера индексирования SAP HANA
- Сервер препроцессора
Этот сервер используется в анализе текста и извлекает данные из текста при использовании функции поиска.
- Сервер имен
Этот Сервер содержит всю информацию о системном ландшафте. В распределенном сервере сервер имен содержит информацию о каждом работающем компоненте и местоположении данных на сервере. Этот сервер содержит информацию о сервере, на котором существуют данные.
- Статистический сервер
Статистический сервер отвечает за сбор данных, связанных со статусом, распределением / потреблением ресурсов и производительностью системы SAP HANA.
- XS Сервер
XS Server содержит XS Engine. Это позволяет внешнему приложению и разработчикам использовать базу данных SAP HANA через клиент XS Engine. Внешнее клиентское приложение может использовать HTTP для передачи данных через механизм XS для HTTP-сервера.
SAP HANA Пейзаж
«HANA» означает High Performance Analytic Appliance - это комбинация аппаратной и программной платформы.
- Из-за изменений в архитектуре компьютера доступен более мощный компьютер с точки зрения ЦП, ОЗУ и жесткого диска.
- SAP HANA - это решение для устранения узких мест в производительности, при котором все данные хранятся в основной памяти и нет необходимости часто переносить данные с дискового ввода-вывода в основную память.
Ниже представлены инновации SAP HANA в области аппаратного и программного обеспечения.
В SAP HANA есть два типа реляционных хранилищ данных: хранилище строк и хранилище столбцов.
Рядный магазин
- Это то же самое, что и традиционная база данных, например (Oracle, SQL Server). Единственное отличие состоит в том, что все данные хранятся в области хранения строк в памяти SAP HANA, в отличие от традиционной базы данных, где данные хранятся на жестком диске.
Колонка Store
- Хранилище столбцов является частью базы данных SAP HANA и управляет данными в памяти SAP HANA по столбцам. Таблицы столбцов хранятся в области хранилища столбцов. Хранилище столбцов обеспечивает хорошую производительность для операций записи и в то же время оптимизирует операцию чтения.
Производительность операций чтения и записи оптимизирована с помощью двух структур данных.
Основное хранилище
Основное хранилище содержит основную часть данных. В основном хранилище для сжатия данных с целью экономии памяти и ускорения поиска применяется подходящий метод сжатия данных (словарное кодирование, кластерное кодирование, разреженное кодирование, кодирование длины цикла и т. Д.).
- В оперативной памяти операции записи сжатых данных будут дорогостоящими, поэтому операции записи не изменяют напрямую сжатые данные в оперативной памяти. Вместо этого все изменения записываются в отдельной области в хранилище столбцов, известном как «Дельта-хранилище».
- Дельта-хранилище оптимизировано для операции записи и использует обычное сжатие. Операции записи не разрешены в оперативной памяти, но разрешены в дельта-хранилище. Операции чтения разрешены на обоих хранилищах.
Мы можем вручную загрузить данные в основную память с помощью опции «Загрузить в память» и выгрузить данные из основной памяти с помощью опции «Выгрузить из памяти», как показано ниже.
Дельта-хранилище
Дельта-хранилище используется для операции записи и использует базовое сжатие. Все незафиксированные изменения в данных таблицы столбцов хранятся в дельта-хранилище.
Когда мы хотим переместить эти изменения в основное хранилище, используйте «операцию дельта-слияния» из студии SAP HANA, как показано ниже -
- Цель операции дельта-слияния - переместить изменения, которые собраны в дельта-хранилище, в основное хранилище.
- После выполнения операции дельта-слияния в таблице столбцов sap содержимое основного хранилища сохраняется на диск, а сжатие пересчитывается.
Процесс перемещения данных из дельты в основное хранилище во время дельта-слияния
Есть буферное хранилище (L1-Delta), которое является хранилищем строк. Таким образом, в SAP HANA таблица столбцов действует как хранилище строк из-за L1-дельты.
- Пользователь запускает запрос на обновление / вставку в таблице (физический оператор - это операторы SQL).
- Данные сначала поступают на L1. Когда L1 перемещает данные дальше (L1- незафиксированные данные)
- Затем данные поступают в L2-дельта-буфер, ориентированный на столбцы. (L2- подтвержденные данные)
- Когда процесс L2-дельта завершен, данные отправляются в основное хранилище.
Таким образом, хранилище столбцов оптимизировано как для записи, так и для чтения из-за L1-Delta и основного хранилища соответственно. L1-Delta содержит все незафиксированные данные. Зафиксированные данные перемещаются в основное хранилище через L2-Delta. Из основного хранилища данные поступают на уровень сохраняемости (стрелка, указывающая здесь, является физическим оператором, который отправляет оператор SQL в хранилище столбцов). После обработки оператора SQL в хранилище столбцов данные переходят на уровень сохраняемости.
Например, ниже приведена таблица на основе строк.
Данные таблицы хранятся на диске в линейном формате, поэтому ниже приведен формат хранения данных на диске для таблицы строк и столбцов:
В памяти SAP HANA эта таблица хранится в хранилище строк на диске в формате -
Адрес памяти
И в столбце данные хранятся на диске как -
Адрес памяти
Данные хранятся на диске по столбцам в линейном формате. Данные могут быть сжаты методом сжатия.
Таким образом, Column store имеет преимущество экономии памяти.
Размер SAP HANA
Определение размера - это термин, который используется для определения требований к оборудованию для системы SAP HANA, например ОЗУ, жесткому диску, ЦП и т. Д.
Основным важным компонентом определения размера является память, а вторым важным компонентом определения размера является ЦП. Третий основной компонент - это диск, но его размер полностью зависит от памяти и процессора.
При внедрении SAP HANA одной из важнейших задач является определение правильного размера сервера в соответствии с бизнес-требованиями.
Размеры БД SAP HANA отличаются от обычных СУБД с точки зрения -
- Требования к основной памяти для SAP HANA (размер памяти определяется метаданными и данными транзакций в SAP HANA)
- Требования к ЦП для SAP HANA (ЦП прогноза оценивается неточно).
- Требуемое дисковое пространство для SAP HANA (рассчитывается для сохранения данных и для регистрации данных)
ЦП сервера приложений и память сервера приложений остаются без изменений.
Для расчета размеров SAP предоставляет различные рекомендации и методы для расчета правильного размера.
Мы можем использовать метод ниже -
- Определение размеров с использованием отчета ABAP.
- Калибровка с использованием скрипта БД.
- Размер с помощью Quicksizer Tool.
При использовании инструмента Quicksizer требование будет отображаться в следующем формате: