Sap-hana-quick-guide

提供:Dev Guides
移動先:案内検索

SAP HANA-概要

SAP HANAは、HANAデータベース、データモデリング、HANA管理、およびデータプロビジョニングを1つのスイートに組み合わせたものです。 SAP HANAでは、HANAはHigh-Performance Analytic Applianceの略です。

元SAPエグゼクティブによると、Dr。 ヴィシャール・シッカ、HANAはハッソの新しい建築の略です。 HANAは2011年半ばまでに関心を集め、さまざまなフォーチュン500企業がその後、ビジネスウェアハウスのニーズを維持するための選択肢として検討し始めました。

SAP HANAの機能

SAP HANAの主な機能は次のとおりです-

  • SAP HANAは、大量のリアルタイムデータを処理するためのソフトウェアとハ​​ードウェアの革新の組み合わせです。
  • 分散システム環境のマルチコアアーキテクチャに基づいています。
  • データベース内のデータストレージの行と列のタイプに基づきます。
  • Memory Computing Engine(IMCE)で広範に使用され、大量のリアルタイムデータを処理および分析します。
  • 所有コストを削減し、アプリケーションのパフォーマンスを向上させ、これまで不可能だったリアルタイム環境で新しいアプリケーションを実行できるようにします。
  • C ++で記述されており、1つのオペレーティングシステムSuse Linux Enterprise Server 11 SP1/2でのみサポートおよび実行されます。

SAP HANAの必要性

今日、ほとんどの成功した企業は、市場の変化と新しい機会に迅速に対応しています。 これの鍵は、アナリストとマネージャーによるデータと情報の効果的かつ効率的な使用です。

HANAは下記の制限を克服します-

  • 「データ量」の増加により、企業が分析およびビジネスで使用するためのリアルタイムデータへのアクセスを提供することは困難です。
  • IT企業が大量のデータを保存および維持するには、高いメンテナンスコストがかかります。
  • リアルタイムデータが利用できないため、分析と処理の結果が遅れます。

SAP HANAベンダー

SAPは、IBM、Dell、Ciscoなどの主要ITハードウェアベンダーと提携しています。 SAPライセンスサービスおよびテクノロジーと組み合わせて、SAP HANAプラットフォームを販売しました。

HANAアプライアンスを製造し、HANAシステムのインストールと構成のオンサイトサポートを提供する合計11のベンダーがあります。

上位数社のベンダー-

  • IBM
  • Dell
  • HP
  • シスコ
  • 富士通
  • Lenovo(中国)
  • NEC
  • ファーウェイ

SAPが提供する統計によると、IBMはSAP HANAハードウェアアプライアンスの主要ベンダーの1つであり、市場シェアは50〜52%ですが、HANAクライアントが実施した別の市場調査によると、IBMは最大70%の市場を保有しています。

SAP HANAのインストール

HANAハードウェアベンダーは、ハードウェア、オペレーティングシステム、SAPソフトウェア製品用に事前構成されたアプライアンスを提供しています。

ベンダーは、HANAコンポーネントのオンサイトセットアップと構成によりインストールを完了します。 このオンサイト訪問には、データセンターでのHANAシステムの展開、組織ネットワークへの接続、SAPシステムIDの適応、Solution Managerからの更新、SAPルーター接続、SSL有効化、およびその他のシステム構成が含まれます。

顧客/クライアントは、データソースシステムとBIクライアントの接続から始まります。 HANA Studioのインストールはローカルシステムで完了し、HANAシステムはデータモデリングと管理を実行するために追加されます。

SAP HANA-インメモリコンピューティングエンジン

インメモリデータベースとは、ソースシステムからのすべてのデータがRAMメモリに格納されることを意味します。 従来のデータベースシステムでは、すべてのデータはハードディスクに保存されます。 SAP HANA In-Memory Databaseは、ハードディスクからRAMにデータをロードする時間を無駄にしません。 情報処理と分析のために、マルチコアCPUへのデータのアクセスを高速化します。

インメモリデータベースの機能

SAP HANAインメモリデータベースの主な機能は次のとおりです-

  • SAP HANAは、ハイブリッドインメモリデータベースです。
  • 行ベース、列ベース、オブジェクト指向のベーステクノロジーを組み合わせています。
  • マルチコアCPUアーキテクチャによる並列処理を使用します。
  • 従来のデータベースは、5ミリ秒でメモリデータを読み取ります。 SAP HANA In-Memoryデータベースは、5ナノ秒でデータを読み取ります。

つまり、HANAデータベースでのメモリ読み取りは、従来のデータベースのハードディスクメモリ読み取りよりも100万倍高速です。

インメモリデータベースの機能

アナリストは、現在のデータをリアルタイムですぐに確認したいと考えており、SAP BWシステムにロードされるまでデータを待機したくありません。 SAP HANA In-Memory処理により、さまざまなデータプロビジョニング技術を使用してリアルタイムデータをロードできます。

インメモリデータベースの利点

  • HANAデータベースは、インメモリ処理を利用して最速のデータ取得速度を実現します。これは、大規模なオンライントランザクションやタイムリーな予測と計画に苦労している企業を魅了しています。
  • ディスクベースのストレージは依然としてエンタープライズ標準であり、RAMの価格は着実に低下しているため、メモリ集約型のアーキテクチャは最終的に低速の機械式回転ディスクを置き換え、データストレージのコストを削減します。
  • インメモリ列ベースのストレージは、最大11倍のデータ圧縮を提供するため、巨大なデータのストレージスペースが削減されます。
  • RAMストレージシステムが提供するこの速度の利点は、分散環境でマルチコアCPU、ノードごとに複数のCPU、サーバーごとに複数のノードを使用することでさらに強化されます。

SAP HANA-スタジオ

SAP HANA studioはEclipseベースのツールです。 SAP HANAスタジオは、中央開発環境であり、HANAシステムのメイン管理ツールでもあります。 追加機能は-

  • これは、ローカルまたはリモートのHANAシステムにアクセスするために使用できるクライアントツールです。
  • HANA管理、HANA情報モデリング、HANAデータベースのデータプロビジョニングのための環境を提供します。

SAP HANA Studioは、次のプラットフォームで使用できます-

  • Microsoft Windows 32および64ビットバージョン:Windows XP、Windows Vista、Windows 7
  • SUSE Linux Enterprise Server SLES11:x86 64ビット
  • Mac OS、HANA Studioクライアントは利用できません

HANA Studioのインストールによっては、一部の機能が利用できない場合があります。 Studioのインストール時に、役割ごとにインストールする機能を指定します。 HANAスタジオの最新バージョンで作業するには、ソフトウェアライフサイクルマネージャーをクライアントの更新に使用できます。

SAP HANA Studioの視点/機能

SAP HANA Studioは、次のHANA機能で動作するパースペクティブを提供します。 あなたは次のオプションからHANA Studioでパースペクティブを選択することができます-

  • HANA Studio→ウィンドウ→パースペクティブを開く→その他*

SAP HANA Studioの機能

Sap Hana Studio管理

トランスポータブルデザインタイムリポジトリオブジェクトを除く、さまざまな管理タスク用のツールセット。 トレース、カタログブラウザ、SQLコンソールなどの一般的なトラブルシューティングツールも含まれています。

SAP HANA Studioデータベース開発

コンテンツ開発用のツールセットを提供します。 特に、SAP HANAネイティブアプリケーション開発(XS)を含まないSAP HANAシナリオでのDataMartsおよびABAPに対応しています。

SAP HANA Studioアプリケーション開発

SAP HANAシステムには、小さなアプリケーションをホストするために使用できる小さなWebサーバーが含まれています。 JavaやHTMLで記述されたアプリケーションコードのようなSAP HANAネイティブアプリケーションを開発するためのツールセットを提供します。

デフォルトでは、すべての機能がインストールされます。

SAP HANA-スタジオ管理ビュー

HANAデータベース管理および監視機能を実行するには、SAP HANA Administration Console Perspectiveを使用できます。

管理者エディターには、いくつかの方法でアクセスできます-

  • システムビューツールバーから-[管理のデフォルトボタンを開く]を選択します
  • システムビュー-HANA SystemまたはOpen Perspectiveをダブルクリックします

スタジオ管理ビュー

HANA Studio:管理者エディター

管理ビュー:HANAスタジオには、HANAシステムの構成と正常性を確認するための複数のタブがあります。 [概要]タブには、運用ステータス、最初と最後に開始されたサービスの開始時刻、バージョン、ビルド日時、プラットフォーム、ハードウェアメーカーなどの一般情報が表示されます。

HANAシステムをStudioに追加する

管理および情報モデリングの目的で、HANAスタジオに単一または複数のシステムを追加できます。 新しいHANAシステムを追加するには、ホスト名、インスタンス番号、データベースのユーザー名とパスワードが必要です。

  • データベースに接続するには、ポート3615を開く必要があります
  • ポート31015インスタンスNo 10
  • ポート30015インスタンスNo 00
  • SShポートも開く必要があります

Hana Studioへのシステムの追加

HANAスタジオにシステムを追加するには、所定の手順に従います。

ナビゲータースペースを右クリックし、[システムの追加]をクリックします。 HANAシステムの詳細、つまり ホスト名とインスタンス番号を入力して、[次へ]をクリックします。

システムの指定

データベースのユーザー名とパスワードを入力して、SAP HANAデータベースに接続します。 [次へ]をクリックし、[完了]をクリックします。

接続プロパティ

[完了]をクリックすると、管理およびモデリングの目的でHANAシステムがシステムビューに追加されます。 各HANAシステムには、カタログとコンテンツの2つのメインサブノードがあります。

カタログとコンテンツ

カタログとコンテンツ

カタログ

使用可能なすべてのスキーマ、つまり すべてのデータ構造、テーブルとデータ、列ビュー、[コンテンツ]タブで使用できるプロシージャ。

コンテンツ

[コンテンツ]タブには、HANA Modelerで作成されたデータモデルのすべての情報を保持する設計時リポジトリが含まれています。 これらのモデルはパッケージにまとめられています。 コンテンツノードは、同じ物理データに対して異なるビューを提供します。

SAP HANA-システムモニター

HANAスタジオのシステムモニターは、すべてのHANAシステムの概要を一目で確認できます。 システムモニターから、管理エディターで個々のシステムの詳細にドリルダウンできます。 データディスク、ログディスク、トレースディスク、リソースの使用状況に関するアラートを優先的に通知します。

次の情報は、システムモニターで利用可能です-

SAP Hana System Monitor

SAP HANA-情報モデラー

SAP HANA Information Modeler; HANA Data Modelerとも呼ばれるHANAシステムの心臓部です。 データベーステーブルの上部にモデリングビューを作成し、ビジネスロジックを実装して、分析のための意味のあるレポートを作成できます。

情報モデラーの機能

  • 分析およびビジネスロジックのために、HANAデータベースの物理テーブルに格納されたトランザクションデータの複数のビューを提供します。
  • 情報モデラーは、列ベースのストレージテーブルでのみ機能します。
  • 情報モデリングビューは、レポート作成のために、JavaまたはHTMLベースのアプリケーション、またはSAP LumiraやAnalysis OfficeなどのSAPツールによって使用されます。
  • MS Excelなどのサードパーティツールを使用して、HANAに接続し、レポートを作成することもできます。
  • SAP HANAモデリングビューは、SAP HANAの真の力を活用します。

として定義されている情報ビューの3種類があります-

  • 属性ビュー
  • 分析ビュー
  • 計算ビュー

行ストアと列ストア

SAP HANA Modelerビューは、列ベースのテーブルの上にのみ作成できます。 列テーブルにデータを保存することは新しいことではありません。 以前は、Columnarベースの構造にデータを保存すると、最適化されたパフォーマンスではなく、より多くのメモリサイズが必要になると想定されていました。

行vs列ストア

SAP HANAの進化に伴い、HANAは情報ビューで列ベースのデータストレージを使用し、列ベースのテーブルが行ベースのテーブルよりも優れていることを示しました。

列ストア

列ストアテーブルでは、データは垂直に格納されます。 したがって、上記の例に示すように、同様のデータ型が一緒になります。 In-Memory Computing Engineを使用して、メモリの読み取りおよび書き込み操作を高速化します。

従来のデータベースでは、データは行ベースの構造に保存されます。 水平に。 SAP HANAは、行ベースと列ベースの両方の構造でデータを保存します。 これにより、HANAデータベースでパフォーマンスの最適化、柔軟性、およびデータ圧縮が提供されます。

列ベースのテーブルにデータを保存すると、次の利点があります-

  • データ圧縮
  • 従来の行ベースのストレージと比較して、テーブルへの読み取りおよび書き込みアクセスが高速化
  • 柔軟性と並列処理
  • 集計と計算をより高速に実行します

列ベースの構造にデータを保存する方法にはさまざまな方法とアルゴリズムがあります-辞書圧縮、ランレングス圧縮など。

辞書圧縮では、セルは数値形式でテーブルに格納され、数値セルは文字と比較して常にパフォーマンスが最適化されます。

圧縮されたランレングスでは、数値形式のセル値とともに乗数が保存され、乗数は表に繰り返し値を示します。

列ストア

機能の違い-行と列のストア

SQLステートメントが集計関数と計算を実行する必要がある場合は、常に列ベースのストレージを使用することをお勧めします。 Sum、Count、Max、Minなどの集計関数を実行すると、列ベースのテーブルのパフォーマンスが常に向上します。

出力が完全な行を返す必要がある場合、行ベースのストレージが優先されます。 以下の例は理解を容易にします。

行vs列ストア機能

上記の例では、Where句を使用してsales列で集計関数(Sum)を実行しているときに、SQLクエリの実行中にDateおよびSales列のみを使用するため、列ベースのストレージテーブルである場合、データとして高速にパフォーマンスが最適化されます2列からのみ必要です。

単純な選択クエリを実行している間、出力で行全体を印刷する必要があるため、このシナリオではテーブルを行として保存することをお勧めします。

情報モデリングビュー

属性ビュー

属性は、データベーステーブル内の測定不可能な要素です。 これらはマスタデータを表し、BWの特性に似ています。 属性ビューは、データベース内のディメンションであるか、モデリングでディメンションまたは他の属性ビューを結合するために使用されます。

重要な機能は-

  • 属性ビューは、分析ビューと計算ビューで使用されます。
  • 属性ビューはマスターデータを表します。
  • 分析および計算ビューでディメンションテーブルのサイズをフィルタリングするために使用されます。

属性ビュー

分析ビュー

分析ビューは、SAP HANAの機能を使用して、データベース内のテーブルに対して計算および集計機能を実行します。 ディメンションテーブルのメジャーと主キーを持ち、マスタデータを含むディメンションテーブルに囲まれたファクトテーブルが少なくとも1つあります。

重要な機能は-

  • 分析ビューは、スタースキーマクエリを実行するように設計されています。
  • 分析ビューには、少なくとも1つのファクトテーブルと、マスターデータを含む複数のディメンションテーブルが含まれ、計算と集計を実行します
  • これらは、SAP BWの情報キューブおよび情報オブジェクトに似ています。
  • 分析ビューは、属性ビューとファクトテーブルの上に作成でき、販売数、合計価格などの計算を実行します。

計算ビュー

計算ビューは、分析ビューでは不可能な複雑な計算を実行するために、分析ビューおよび属性ビューの上で使用されます。 計算ビューは、ベースカラムテーブル、属性ビュー、および分析ビューを組み合わせて、ビジネスロジックを提供します。

重要な機能は-

  • 計算ビューは、HANAモデリング機能を使用してグラフィカルに定義されるか、SQLでスクリプト化されます。
  • SAP HANAモデラーの他のビュー(属性ビューおよび分析ビュー)では不可能な複雑な計算を実行するために作成されます。
  • 1つ以上の属性ビューと分析ビューは、計算ビューのプロジェクト、ユニオン、結合、ランクなどの組み込み関数を使用して使用されます。

SAP HANA-コアアーキテクチャ

SAP HANAは当初、JavaとC ++で開発され、オペレーティングシステムSuse Linux Enterprise Server 11のみを実行するように設計されていました。 SAP HANAシステムは、HANAシステムのコンピューティングパワーを強調する複数のコンポーネントで構成されています。

  • SAP HANAシステムの最も重要なコンポーネントは、データベースのクエリステートメントを処理するSQL/MDXプロセッサを含むIndex Serverです。
  • HANAシステムには、ネームサーバー、プリプロセッササーバー、統計サーバー、XSエンジンが含まれており、小さなWebアプリケーションやその他のさまざまなコンポーネントの通信とホストに使用されます。

SAP Hana Core Architecture

インデックスサーバー

Index Serverは、SAP HANAデータベースシステムの中核です。 実際のデータとそのデータを処理するためのエンジンが含まれています。 SAP HANAシステムに対してSQLまたはMDXが起動されると、Index Serverがこれらすべての要求を処理して処理します。 すべてのHANA処理はIndex Serverで行われます。

Index Serverには、HANAデータベースシステムに送信されるすべてのSQL/MDXステートメントを処理するデータエンジンが含まれています。 また、HANAシステムの耐久性を担当し、システム障害の再起動時にHANAシステムが最新の状態に復元されるようにする永続層も備えています。

Index Serverには、トランザクションを管理し、実行中および終了したすべてのトランザクションを追跡するセッションおよびトランザクションマネージャーもあります。

インデックスサーバー

Index Server-アーキテクチャ

SQL/MDXプロセッサ

クエリを実行するデータエンジンを使用して、SQL/MDXトランザクションを処理します。 すべてのクエリ要求をセグメント化し、パフォーマンス最適化のためにエンジンを修正するよう指示します。

また、すべてのSQL/MDXリクエストが承認されることを保証し、これらのステートメントを効率的に処理するためのエラー処理も提供します。 クエリ実行のためのいくつかのエンジンとプロセッサが含まれています-

  • MDX(Multi Dimension Expression)は、SQLがリレーショナルデータベースに使用されるようなOLAPシステムのクエリ言語です。 MDXエンジンは、クエリを処理し、OLAPキューブに格納されている多次元データを操作します。
  • Planning Engineは、SAP HANAデータベース内で計画操作を実行します。
  • 計算エンジンは、データを計算モデルに変換して、ステートメントの並列処理をサポートする論理実行プランを作成します。
  • ストアドプロシージャプロセッサは、最適化された処理のためにプロシージャコールを実行します。 OLAPキューブをHANA最適化キューブに変換します。

トランザクションおよびセッション管理

すべてのデータベーストランザクションを調整し、実行中および終了したすべてのトランザクションを追跡する必要があります。

トランザクションが実行または失敗すると、トランザクションマネージャは関連するデータエンジンに通知して必要なアクションを実行します。

セッション管理コンポーネントは、事前定義されたセッションパラメータを使用して、SAP HANAシステムのセッションと接続を初期化および管理します。

永続層

HANAシステムのトランザクションの耐久性と原子性に責任があります。 永続層は、HANAデータベースの組み込みの災害復旧システムを提供します。

データベースを最新の状態に復元し、システム障害または再起動の場合にすべてのトランザクションが完了または取り消されるようにします。

また、データおよびトランザクションログを管理し、HANAシステムのデータバックアップ、ログバックアップ、および設定のバックアップも行います。 バックアップは、通常5〜10分ごとに取り戻すように設定されているセーブポイントコーディネーターを介して、データボリュームにセーブポイントとして保存されます。

プリプロセッササーバー

SAP HANAシステムのプリプロセッササーバーは、テキストデータ分析に使用されます。

Index Serverは、テキスト検索機能が使用されている場合、テキストデータを分析し、テキストデータから情報を抽出するためにプリプロセッササーバーを使用します。

ネームサーバー

NAMEサーバーには、HANAシステムのシステムランドスケープ情報が含まれています。 分散環境では、複数のノードがあり、各ノードに複数のCPUがあります。ネームサーバーはHANAシステムのトポロジを保持し、実行中のすべてのコンポーネントに関する情報を持ち、すべてのコンポーネントに情報が広がります。

  • SAP HANAシステムのトポロジーがここに記録されます。
  • 分散環境のどのサーバーにどのデータがあるかを保持するため、インデックスの再作成にかかる時間が短縮されます。

統計サーバー

このサーバーは、HANAシステムのすべてのコンポーネントの正常性をチェックおよび分析します。 統計サーバーは、システムリソース、リソースの割り当てと消費、およびHANAシステムの全体的なパフォーマンスに関連するデータを収集します。

また、HANAシステムのパフォーマンス関連の問題を確認および修正するために、分析目的でシステムパフォーマンスに関連する履歴データを提供します。

XSエンジン

XSエンジンは、外部JavaおよびHTMLベースのアプリケーションがXSクライアントの助けを借りてHANAシステムにアクセスするのを支援します。 SAP HANAシステムには、小さなJAVA/HTMLベースのアプリケーションをホストするために使用できるWebサーバーが含まれているためです。

XS Engine

XSエンジンは、データベースに保存されている永続性モデルを、HTTP/HTTPSを介して公開されるクライアントの消費モデルに変換します。

SAPホストエージェント

SAPホストエージェントは、SAP HANAシステムランドスケープの一部であるすべてのマシンにインストールする必要があります。 SAP Host Agentは、Software Update Manager SUMが分散環境のHANAシステムのすべてのコンポーネントに自動更新をインストールするために使用します。

LM構造

SAP HANAシステムのLM構造には、現在のインストールの詳細に関する情報が含まれています。 この情報は、Software Update ManagerがHANAシステムコンポーネントに自動更新をインストールするために使用されます。

SAP Solution Manager(SAP SOLMAN)診断エージェント

この診断エージェントは、SAP HANAシステムを監視するためにSAP Solution Managerにすべてのデータを提供します。 このエージェントは、データベースの現在の状態と一般情報を含む、HANAデータベースに関するすべての情報を提供します。

SAP SOLMANがSAP HANAシステムと統合されている場合、HANAシステムの構成の詳細を提供します。

SAP HANA Studioリポジトリ

SAP HANAスタジオリポジトリは、HANA開発者がHANAスタジオの現在のバージョンを最新バージョンに更新するのに役立ちます。 Studio Repositoryは、この更新を行うコードを保持しています。

SAP HANAのソフトウェアアップデートマネージャー

SAP Market Placeは、SAPシステムの更新をインストールするために使用されます。 HANAシステムのSoftware Update Managerは、SAPマーケットプレイスからのHANAシステムの更新に役立ちます。

ソフトウェアのダウンロード、顧客メッセージ、SAPノート、HANAシステムのライセンスキーの要求に使用されます。 また、HANAスタジオをエンドユーザーのシステムに配布するためにも使用されます。

SAP HANA-モデリング

SAP HANA Modelerオプションは、スキーマ→HANAデータベースのテーブルの上部に情報ビューを作成するために使用されます。 これらのビューは、ビジネスロジックを満たし、分析を実行して情報を抽出するためのレポート作成目的で、JAVA/HTMLベースのアプリケーションまたはSAP Lumira、Office Analysis、MS ExcelなどのサードパーティソフトウェアなどのSAPアプリケーションによって使用されます。

HANAモデリングは、HANA studioの[スキーマ]の[カタログ]タブで使用可能なテーブルの上部で行われ、すべてのビューは[パッケージ]の[コンテンツ]テーブルに保存されます。

[コンテンツ]および[新規]を右クリックして、HANA studioの[コンテンツ]タブで新しいパッケージを作成できます。

1つのパッケージ内で作成されたすべてのモデリングビューは、HANA studioで同じパッケージの下にあり、ビュータイプに従って分類されます。

各ビューには、ディメンションテーブルとファクトテーブルの異なる構造があります。 ディメンションテーブルはマスターデータで定義され、ファクトテーブルには、ディメンションテーブルと、販売数、平均遅延時間、合計価格などのメジャーのプライマリキーがあります。

ファクトとディメンションテーブル

ファクトテーブルには、ディメンションテーブルとメジャーの主キーが含まれます。 これらは、ビジネスロジックを満たすために、HANAビューのディメンションテーブルと結合されます。

対策の例-販売数、合計価格、平均遅延時間など

ディメンションテーブルにはマスターデータが含まれており、1つ以上のファクトテーブルと結合して、ビジネスロジックを作成します。 ディメンションテーブルは、ファクトテーブルを使用してスキーマを作成するために使用され、正規化できます。

寸法表の例-顧客、製品など

会社が顧客に製品を販売するとします。 すべての販売は企業内で発生する事実であり、これらの事実を記録するためにファクトテーブルが使用されます。

ファクトとディメンションテーブル

たとえば、ファクトテーブルの行3は、顧客1(ブライアン)が4日目に1つのアイテムを購入したという事実を記録します。 また、完全な例では、製品テーブルとタイムテーブルも用意されているため、彼女が何をいつ購入したかがわかります。

ファクトテーブルには、当社で発生するイベント(または少なくとも分析したいイベント-ユニット販売数、マージン、売上高)がリストされます。 ディメンションテーブルには、データを分析する要因(顧客、時間、製品)がリストされます。

SAP HANA-データウェアハウスのスキーマ

スキーマは、データウェアハウスのテーブルの論理的な説明です。 スキーマは、いくつかのビジネスロジックを満たすために、複数のファクトテーブルとディメンションテーブルを結合して作成されます。

データベースは、リレーショナルモデルを使用してデータを格納します。 ただし、データウェアハウスは、ビジネスロジックを満たすためにディメンションとファクトテーブルを結合するスキーマを使用します。 データウェアハウスで使用されるスキーマには3つのタイプがあります-

  • スタースキーマ
  • 雪片のスキーマ
  • Galaxy Schema

スタースキーマ

スタースキーマでは、各ディメンションが1つの単一のファクトテーブルに結合されます。 各ディメンションは1つのディメンションのみで表され、さらに正規化されません。

ディメンションテーブルには、データの分析に使用される属性のセットが含まれています。

-以下の例では、すべてのDimテーブルのプライマリキーを持ち、分析を実行するために販売されるunits_soldおよびdollars_を測定するFactテーブルFactSalesがあります。

DimTime、DimItem、DimBranch、DimLocationの4つのDimensionテーブルがあります

スタースキーマ

ファクトテーブルには、2つのテーブルを結合するために使用される各ディメンションテーブルの主キーがあるため、各ディメンションテーブルはファクトテーブルに接続されます。

ファクトテーブルのファクト/メジャーは、ディメンションテーブルの属性とともに分析目的で使用されます。

雪片のスキーマ

Snowflakesスキーマでは、ディメンションテーブルの一部はさらに正規化され、Dimテーブルは単一のファクトテーブルに接続されます。 データの冗長性を最小限に抑えるために、データベースの属性とテーブルを整理するために正規化が使用されます。

正規化では、情報を失うことなく、テーブルを冗長性の低い小さなテーブルに分割し、小さなテーブルをディメンションテーブルに結合します。

Snowflakes Schema

上記の例では、DimItemおよびDimLocation Dimensionテーブルは、情報を失うことなく正規化されています。 これは、ディメンションテーブルがより小さなテーブルにさらに正規化されるSnowflakesスキーマと呼ばれます。

Galaxy Schema

Galaxy Schemaには、複数のファクトテーブルとディメンションテーブルがあります。 各ファクトテーブルには、分析を行うためのいくつかのディメンションテーブルとメジャー/ファクトのプライマリキーが格納されます。

Galaxy Schema

上記の例では、FactSales、FactShipping、およびFactテーブルに結合された複数のDimensionテーブルの2つのFactテーブルがあります。 各ファクトテーブルには、結合されたDimテーブルの主キーと、分析を実行するメジャー/ファクトが含まれています。

SAP HANA-テーブル

HANAデータベースのテーブルには、スキーマの下の[カタログ]タブのHANA Studioからアクセスできます。 以下に示す2つの方法を使用して、新しいテーブルを作成できます-

  • SQLエディターの使用
  • GUIオプションを使用する

HANA StudioのSQLエディター

SQLコンソールは、[スキーマ名]を選択して開くことができます。ここで、[システムビュー] SQLエディターオプションを使用して新しいテーブルを作成するか、以下に示すように[スキーマ名]を右クリックします。

SQLエディター

SQL Editorを開くと、SQL Editorの上部に書かれた名前からスキーマ名を確認できます。 SQL Create Tableステートメントを使用して新しいテーブルを作成できます-

Create column Table Test1 (
   ID INTEGER,
   NAME VARCHAR(10),
   PRIMARY KEY (ID)
);

このSQLステートメントでは、列テーブル「Test1」を作成し、テーブルのデータ型と主キーを定義しました。

Create table SQL queryを作成したら、SQLエディターの右側にある[実行]オプションをクリックします。 ステートメントが実行されると、以下のスナップショットに示すように確認メッセージが表示されます-

ステートメント 'Create Table Table Test1(ID INTEGER、NAME VARCHAR(10)、PRIMARY KEY(ID))'

13 ms 761μsで正常に実行されました(サーバー処理時間:12 ms 979μs)-影響を受ける行:0

SQLステートメントの実行

実行ステートメントは、ステートメントの実行にかかった時間も示します。 ステートメントが正常に実行されたら、システムビューの[スキーマ名]の下の[テーブル]タブを右クリックして更新します。 新しいテーブルは、スキーマ名の下のテーブルのリストに反映されます。

Insert文は、SQLエディタを使用してテーブルにデータを入力するために使用されます。

Insert into TEST1 Values (1,'ABCD')
Insert into TEST1 Values (2,'EFGH');

実行をクリックします。

テーブル名を右クリックし、[データ定義を開く]を使用して、テーブルのデータ型を表示できます。 データプレビュー/コンテンツを開いて、テーブルの内容を表示します。

GUIオプションを使用したテーブルの作成

HANAデータベースにテーブルを作成する別の方法は、HANA StudioのGUIオプションを使用することです。

下のスナップショットに示すように、[スキーマ]の下の[テーブル]タブを右クリックし、[新しいテーブル]オプションを選択します。

[新しいテーブル]をクリックすると、テーブル名を入力するウィンドウが開き、ドロップダウンから[スキーマ名]を選択し、ドロップダウンリストから[テーブルタイプを定義]を選択します:列ストアまたは行ストア。

以下に示すようにデータ型を定義します。 列は、+記号をクリックして追加できます。主キーは、列名の前にある主キーの下のセルをクリックして選択できます。NotNullはデフォルトでアクティブになります。

列が追加されたら、「実行」をクリックします。

テーブルの作成

実行(F8)したら、[テーブル]タブ→[更新]を右クリックします。 新しいテーブルは、選択したスキーマの下のテーブルのリストに反映されます。 以下の挿入オプションを使用して、テーブルにデータを挿入できます。 ステートメントを選択して、テーブルの内容を表示します。

テーブル

HANAスタジオでGUIを使用してテーブルにデータを挿入する

テーブル名を右クリックし、[データ定義を開く]を使用して、テーブルのデータ型を表示できます。 データプレビュー/コンテンツを開いて、テーブルの内容を表示します。

1つのスキーマのテーブルを使用してビューを作成するには、HANAモデリングですべてのビューを実行するデフォルトユーザーにスキーマへのアクセスを提供する必要があります。 これは、SQLエディターに移動してこのクエリを実行することで実行できます-

スキーマ「<SCHEMA_NAME>」のSELECTをGRANTオプション付きで_SYS_REPOに付与する

SAP HANA-パッケージ

SAP HANAパッケージは、HANA studioの[コンテンツ]タブに表示されます。 すべてのHANAモデリングはパッケージ内に保存されます。

[コンテンツ]タブ→[新規]→[パッケージ]を右クリックして、新しいパッケージを作成できます。

パッケージ

パッケージ名を右クリックして、パッケージの下にサブパッケージを作成することもできます。 パッケージを右クリックすると、7つのオプションが表示されます。パッケージの下に、HANAビューの属性ビュー、分析ビュー、計算ビューを作成できます。

サブパッケージ

また、デシジョンテーブルを作成し、分析特権を定義し、パッケージにプロシージャを作成することもできます。

[パッケージ]を右クリックして[新規]をクリックすると、パッケージ内にサブパッケージを作成することもできます。 パッケージの作成中に、パッケージ名、説明を入力する必要があります。

SAP HANA-属性ビュー

SAP HANAモデリングの属性ビューは、ディメンションテーブルの上部に作成されます。 ディメンションテーブルまたは他の属性ビューを結合するために使用されます。 他のパッケージ内の既存の属性ビューから新しい属性ビューをコピーすることもできますが、それではビュー属性を変更できません。

属性ビューの特性

  • HANAの属性ビューは、ディメンションテーブルまたは他の属性ビューを結合するために使用されます。
  • 属性ビューは、分析ビューおよび計算ビューで分析用に使用され、マスターデータを渡します。
  • これらはBMの特性に似ており、マスタデータが含まれています。
  • 属性ビューは、大きなサイズのディメンションテーブルでパフォーマンスを最適化するために使用されます。属性ビューでは、レポートおよび分析の目的でさらに使用される属性の数を制限できます。
  • 属性ビューは、何らかのコンテキストを提供するためにマスターデータをモデル化するために使用されます。

属性ビューを作成する方法は?

属性ビューを作成するパッケージ名を選択します。 パッケージを右クリック→新規作成→属性ビューに移動

属性ビューの作成

[属性ビュー]をクリックすると、新しいウィンドウが開きます。 属性ビューの名前と説明を入力します。 ドロップダウンリストから、ビュータイプとサブタイプを選択します。 サブタイプには、標準、時間、派生の3つのタイプの属性ビューがあります。

タイプとサブタイプの選択

時間サブタイプ属性ビューは、データファンデーションに時間ディメンションを追加する特別なタイプの属性ビューです。 あなたが属性名、タイプ、サブタイプを入力し、完了をクリックすると、3つの作業ウィンドウが開きます-

  • データファンデーションとセマンティックレイヤーがあるシナリオペイン。
  • 詳細ペインには、データファンデーションに追加され、それらを結合するすべてのテーブルの属性が表示されます。
  • 出力ペイン。詳細ペインから属性を追加して、レポートをフィルタリングできます。

Data Foundationの横に書かれた「&plus;」記号をクリックして、Data Foundationにオブジェクトを追加できます。 シナリオペインで複数のディメンションテーブルと属性ビューを追加し、プライマリキーを使用してそれらを結合できます。

データファンデーションの[オブジェクトの追加]をクリックすると、ディメンションバーと属性ビューをシナリオペインに追加できる検索バーが表示されます。 テーブルまたは属性ビューがデータファンデーションに追加されると、以下に示すように、詳細ペインの主キーを使用してそれらを結合できます。

データファンデーションでのオブジェクトの追加

結合が完了したら、詳細ペインで複数の属性を選択し、右クリックして[出力に追加]を選択します。 すべての列が出力ペインに追加されます。 [アクティブ化]オプションをクリックすると、ジョブログに確認メッセージが表示されます。

これで、属性ビューを右クリックして、データプレビューに進むことができます。

出力ペインへの属性の追加

-ビューがアクティブ化されていない場合は、ひし形のマークが付いています。 ただし、一度アクティブ化すると、そのダイヤモンドは消え、Viewが正常にアクティブ化されたことを確認します。

[データプレビュー]をクリックすると、[利用可能なオブジェクト]の下の[出力]ペインに追加されたすべての属性が表示されます。

これらのオブジェクトは、右クリックして追加するか、以下に示すようにオブジェクトをドラッグすることにより、ラベルと値軸に追加できます-

軸へのオブジェクトの追加

SAP HANA-分析ビュー

分析ビューはスタースキーマの形式で、1つのファクトテーブルを複数のディメンションテーブルに結合します。 分析ビューは、SAP HANAの真の力を使用して、テーブルをスタースキーマの形式で結合し、スタースキーマクエリを実行することにより、複雑な計算と集計関数を実行します。

分析ビューの特性

以下は、SAP HANA Analytic Viewのプロパティです-

  • 分析ビューを使用して、Sum、Count、Min、Max、などの複雑な計算および集計関数を実行します。
  • 分析ビューは、スキーマの開始クエリを実行するように設計されています。
  • 各分析ビューには、複数のディメンションテーブルに囲まれた1つのファクトテーブルがあります。 ファクトテーブルには、各Dimテーブルとメジャーの主キーが含まれます。
  • 分析ビューは、SAP BWの情報オブジェクトおよび情報セットに似ています。

分析ビューを作成する方法は?

分析ビューを作成するパッケージ名を選択します。 [パッケージ]→[新規作成]→[分析ビュー]を右クリックします。 分析ビューをクリックすると、新しいウィンドウが開きます。 ビュー名と説明を入力し、ドロップダウンリストからビュータイプと終了を選択します。

分析ビューの作成

[完了]をクリックすると、データファンデーションとスター結合オプションを備えた分析ビューが表示されます。

[データファンデーション]をクリックして、ディメンションテーブルとファクトテーブルを追加します。 [スター結合]をクリックして、属性ビューを追加します。

「+」記号を使用して、DimおよびFactテーブルをData Foundationに追加します。 以下の例では、DIM_CUSTOMER、DIM_PRODUCT、DIM_REGION、および1つのファクトテーブルFCT_SALESの3つのディムテーブルが詳細ペインに追加されています。 ファクトテーブルに格納されている主キーを使用して、Dimテーブルをファクトテーブルに結合します。

分析ビューでのテーブルの追加

上記のスナップショットに示されているように、[出力]ペインに追加する[ディムとファクト]テーブルから[属性]を選択します。 ここで、ファクトのデータ型をファクトテーブルからメジャーに変更します。

セマンティックレイヤーをクリックし、ファクトを選択し、下に示すようにメジャー記号をクリックして、データタイプをメジャーに変更し、ビューをアクティブにします。

メジャーの定義

ビューをアクティブにし、[データプレビュー]をクリックすると、すべての属性とメジャーが利用可能なオブジェクトのリストに追加されます。 分析のために、属性をラベル軸に追加し、メジャーを値軸に追加します。

さまざまな種類のチャートとグラフを選択するオプションがあります。

グラフの選択

SAP HANA-計算ビュー

計算ビューは、他の分析ビュー、属性ビュー、および他の計算ビューとベース列テーブルを使用するために使用されます。 これらは、他のタイプのビューでは不可能な複雑な計算を実行するために使用されます。

計算ビューの特性

以下は、計算ビューのいくつかの特徴です-

  • 計算ビューは、分析ビュー、属性ビュー、およびその他の計算ビューを使用するために使用されます。
  • これらは、他のビューでは不可能な複雑な計算を実行するために使用されます。
  • 計算ビューを作成するには、SQLエディターまたはグラフィカルエディターの2つの方法があります。
  • 組み込みのUnion、Join、Projection、およびAggregationノード。

計算ビューを作成する方法は?

計算ビューを作成するパッケージ名を選択します。 [パッケージ]→[新規作成]→[計算ビュー]を右クリックします。 計算ビューをクリックすると、新しいウィンドウが開きます。

計算ビューの作成

ビュー名、説明を入力し、計算タイプ、サブタイプ標準、または時間(これは時間ディメンションを追加する特別な種類のビュー)としてビュータイプを選択します。 グラフィカルビューとSQLスクリプトの2種類の計算ビューを使用できます。

グラフィカルな計算ビュー

集約、投影、結合、結合などのデフォルトのノードがあります。 他の属性ビュー、分析ビュー、および他の計算ビューを使用するために使用されます。

SQLスクリプトベースの計算ビュー

SQLコマンドまたはHANA定義関数に基づいて構築されたSQLスクリプトで記述されています。

データカテゴリ

このデフォルトノードのキューブはAggregationです。 キューブディメンションとのスター結合を選択できます。

このデフォルトノードのディメンションはProjectionです。

データカテゴリ

スター型結合の計算ビュー

基本列テーブル、属性ビュー、または分析ビューをデータファンデーションに追加することはできません。 スター結合で使用するには、すべてのディメンションテーブルをディメンション計算ビューに変更する必要があります。 すべてのファクトテーブルを追加でき、計算ビューでデフォルトノードを使用できます。

次の例は、スター結合で計算ビューを使用する方法を示しています-

4つのテーブル、2つのDimテーブル、および2つのファクトテーブルがあります。 加入日、従業員名、従業員ID、給与、およびボーナスを含むすべての従業員のリストを見つける必要があります。

以下のスクリプトをコピーしてSQLエディターに貼り付けて実行します。

*Dim Tables-EmpdimおよびEmpdate*
Create column table Empdim (empId nvarchar(3),Empname nvarchar(100));
Insert into Empdim values('AA1','John');
Insert into Empdim values('BB1','Anand');
Insert into Empdim values('CC1','Jason');
Create column table Empdate (caldate date, CALMONTH nvarchar(4) ,CALYEAR nvarchar(4));
Insert into Empdate values('20100101','04','2010');
Insert into Empdate values('20110101','05','2011');
Insert into Empdate values('20120101','06','2012');
  • ファクトテーブル-Empfact1、Empfact2 *
Create column table Empfact1 (empId nvarchar(3), Empdate date, Sal integer );
Insert into Empfact1 values('AA1','20100101',5000);
Insert into Empfact1 values('BB1','20110101',10000);
Insert into Empfact1 values('CC1','20120101',12000);
Create column table Empfact2 (empId nvarchar(3), deptName nvarchar(20), Bonus integer );
Insert into Empfact2 values ('AA1','SAP', 2000);
Insert into Empfact2 values ('BB1','Oracle', 2500);
Insert into Empfact2 values ('CC1','JAVA', 1500);

次に、スター結合を使用して計算ビューを実装する必要があります。 最初に両方のDimテーブルをディメンション計算ビューに変更します。

スター結合を使用して計算ビューを作成します。 グラフィカルペインで、2つのファクトテーブルに2つのプロジェクションを追加します。 両方のファクトテーブルを両方のプロジェクションに追加し、これらのプロジェクションの属性を出力ペインに追加します。

スタージョイン

デフォルトノードから結合を追加し、両方のファクトテーブルを結合します。 ファクト結合のパラメーターを出力ペインに追加します。

出力ペイン

スター結合で、両方のディメンション計算ビューを追加し、次に示すように、ファクト結合をスター結合に追加します。 出力ペインでパラメーターを選択し、ビューをアクティブにします。

アクティブビュー

SAP HANA計算ビュー-スター結合

ビューが正常にアクティブ化されたら、ビュー名を右クリックし、[データプレビュー]をクリックします。 値とラベル軸に属性とメジャーを追加し、分析を実行します。

スタージョインを使用する利点

設計プロセスが簡素化されます。 分析ビューと属性ビューを作成する必要はなく、ファクトテーブルを直接投影として使用できます。

3NFはStar Joinで可能です。

スター結合のない計算ビュー

2つのDimテーブルに2つの属性ビューを作成-出力を追加し、両方のビューをアクティブにします。

ファクトテーブルに2つの分析ビューを作成→分析ビューのデータファンデーションで属性ビューとFact1/Fact2の両方を追加します。

次に、計算ビュー→ディメンション(投影)を作成します。 両方の分析ビューの投影を作成し、それらを結合します。 この結合の属性を出力ペインに追加します。 次にProjectionに参加して、出力を再度追加します。

ビューをアクティブにし、分析のためにデータプレビューに移動します。

スター結合なし

SAP HANA-分析特権

分析特権は、HANA情報ビューへのアクセスを制限するために使用されます。 分析特権のビューのさまざまなコンポーネントのさまざまなユーザーにさまざまなタイプの権利を割り当てることができます。

場合によっては、同じビューのデータに、そのデータに関連する要件を持たない他のユーザーがアクセスできないようにする必要があります。

会社の従業員に関する詳細を含む分析ビューEmpDetailsがあるとします-Emp名、Emp Id、Dept、Salary、Join of Date、Emp logonなど。 これで、レポート開発者にすべての従業員の給与詳細またはEmpログオン詳細を表示させたくない場合、分析特権オプションを使用してこれを非表示にできます。

  • 分析特権は、情報ビューの属性にのみ適用されます。 分析特権でアクセスを制限する手段を追加することはできません。
  • 分析特権は、SAP HANA情報ビューで読み取りアクセスを制御するために使用されます。

したがって、給与、ボーナスなどの数値ではなく、Empname、EmpId、Emp logonまたはEmp Deptによってデータを制限できます。

分析特権の作成

[パッケージ名]を右クリックして新しい分析特権に移動するか、HANA Modelerクイック起動を使用して開くことができます。

分析特権の作成

分析特権の名前と説明を入力→完了。 新しいウィンドウが開きます。

[完了]をクリックする前に、[次へ]ボタンをクリックして、このウィンドウにモデリングビューを追加できます。 既存の分析特権パッケージをコピーするオプションもあります。

[追加]ボタンをクリックすると、[コンテンツ]タブの下にすべてのビューが表示されます。

分析特権へのビューの追加

Analytic Privilegeパッケージに追加する[View]を選択して、[OK]をクリックします。 選択したビューが参照モデルの下に追加されます。

ここで、選択したビューの属性を分析特権の下に追加するには、[関連付けられた属性の制限]ウィンドウで[追加]ボタンをクリックします。

オブジェクトの選択

[オブジェクトの選択]オプションから分析特権に追加するオブジェクトを追加し、[OK]をクリックします。

[制限の割り当て]オプションでは、特定のユーザーのモデリングビューで非表示にする値を追加できます。 モデリングビューのデータプレビューに反映されないオブジェクト値を追加できます。

制限をオブジェクトに割り当てる

上部の緑色の丸いアイコンをクリックして、分析特権を有効にする必要があります。 ステータスメッセージ-正常に完了しました。ジョブログでアクティベーションが正常に確認され、ロールに追加することでこのビューを使用できます。

このロールをユーザーに追加するには、セキュリティタブ→ユーザー→これらの分析権限を適用するユーザーを選択します。

ユーザーロールへの分析特権の追加

適用する分析特権を名前で検索し、[OK]をクリックします。 そのビューは、Analytic Privilegesの下のユーザーロールに追加されます。

特定のユーザーから分析特権を削除するには、タブの下の表示を選択し、赤い削除オプションを使用します。 展開を使用します(上部の矢印またはF8を使用して、これをユーザープロファイルに適用します)。

SAP HANA-情報コンポーザー

SAP HANA Information Composerは、エンドユーザーがデータセットを分析するためのセルフサービスモデリング環境です。 ワークブック形式(.xls、.csv)からHANAデータベースにデータをインポートし、分析用のモデリングビューを作成できます。

Information ComposerはHANA Modelerとは大きく異なり、両方とも別々のユーザーセットを対象とするように設計されています。 データモデリングに精通した技術的に健全な人々は、HANA Modelerを使用します。 技術的な知識を持たないビジネスユーザーは、Information Composerを使用します。 使いやすいインターフェースを備えたシンプルな機能を提供します。

Information Composerの機能

  • データ抽出-Information Composerは、データの抽出、データの消去、データのプレビュー、およびHANAデータベースでの物理テーブルの作成プロセスの自動化に役立ちます。
  • データの操作-2つのオブジェクト(物理テーブル、分析ビュー、属性ビュー、計算ビュー)を組み合わせて、SAP Business Objects Analysis、SAP Business Objects Explorer、その他のツールなどのSAP BOツールで使用できる情報ビューを作成するのに役立ちますMS Excelなど。
  • URLの形式で集中ITサービスを提供し、どこからでもアクセスできます。

Information Composerを使用してデータをアップロードする方法

大量のデータ(最大500万セル)をアップロードできます。 Information Composerにアクセスするためのリンク-

*http://<サーバー>:<ポート>/IC*

SAP HANA Information Composerにログインします。 このツールを使用して、データのロードまたは操作を実行できます。

データをアップロードするには、これは2つの方法で行うことができます-

  • .xls、.csvファイルをHANAデータベースに直接アップロードする
  • 他の方法は、データをクリップボードにコピーし、そこからHANAデータベースにコピーすることです。
  • ヘッダーとともにデータをロードできます。

Information Composerの左側には、3つのオプションがあります-

データのソース→データの分類→公開を選択します

データのアップロード

データがHANAデータベースに公開されると、テーブルの名前を変更することはできません。 この場合、HANAデータベースのスキーマからテーブルを削除する必要があります。

IC_MODELS、IC_SPREADSHEETSなどのテーブルが存在する「SAP_IC」スキーマ。 これらのテーブルの下で、ICを使用して作成されたテーブルの詳細を見つけることができます。

スプレッドシート

クリップボードを使用する

ICにデータをアップロードする別の方法は、クリップボードを使用することです。 データをクリップボードにコピーし、Information Composerを使用してアップロードします。 Information Composerを使用すると、データのプレビューを表示したり、一時ストレージ内のデータの概要を提供することもできます。 データの不整合を除去するために使用されるデータクレンジング機能が組み込まれています。

データがクリーンアップされたら、データが属性付きであるかどうかを分類する必要があります。 ICには、アップロードされたデータのデータ型をチェックする機能が組み込まれています。

最後のステップは、HANAデータベースの物理テーブルにデータを公開することです。 テーブルの技術名と説明を入力すると、これはIC_Tablesスキーマ内にロードされます。

Information Composerで公開されたデータを使用するためのユーザーロール

ICから公開されたデータを使用するように、2組のユーザーを定義できます。

  • IC_MODELERは、物理テーブルの作成、データのアップロード、情報ビューの作成に使用します。
  • IC_PUBLICを使用すると、ユーザーは他のユーザーが作成した情報ビューを表示できます。 この役割は、ユーザーがICを使用して情報ビューをアップロードまたは作成することを許可しません。

Information Composerのシステム要件

サーバー要件-

  • 少なくとも2GBの使用可能なRAMが必要です。
  • Java 6(64ビット)がサーバーにインストールされている必要があります。
  • Information Composerサーバーは、HANAサーバーの隣に物理的に配置する必要があります。

クライアント要件-

  • Silverlight 4がインストールされたInternet Explorer。

SAP HANA-エクスポートとインポート

HANAエクスポートおよびインポートオプションにより、テーブル、情報モデル、ランドスケープを別のシステムまたは既存のシステムに移動できます。 すべてのテーブルと情報モデルを再作成する必要はありません。新しいシステムにエクスポートしたり、既存のターゲットシステムにインポートしたりするだけなので、労力を削減できます。

このオプションには、上部の[ファイル]メニューからアクセスするか、HANA studioのテーブルまたは情報モデルを右クリックしてアクセスできます。

説明とインポート

HANA Studioでテーブル/情報モデルをエクスポートする

[ファイル]メニュー→[エクスポート]→[次のオプションが表示されます-

宛先の説明

SAP HANAコンテンツのエクスポートオプション

デリバリーユニット

配達単位は単一のユニットであり、複数のパッケージにマッピングでき、単一のエンティティとしてエクスポートできるため、配達ユニットに割り当てられたすべてのパッケージを単一のユニットとして扱うことができます。

ユーザーはこのオプションを使用して、配信ユニットを構成するすべてのパッケージとそれに含まれる関連オブジェクトをHANAサーバーまたはローカルクライアントの場所にエクスポートできます。

ユーザーは、配信ユニットを使用する前に作成する必要があります。

これは、HANA Modeler→配信ユニット→システムの選択と次へ→作成→名前、バージョンなどの詳細を入力することで実行できます。 →OK→配送ユニットにパッケージを追加→完了

配送ユニット

デリバリーユニットが作成され、パッケージがそれに割り当てられると、ユーザーはエクスポートオプションを使用してパッケージのリストを見ることができます-

[ファイル]→[エクスポート]→[配信ユニット]→[配信ユニットを選択]に移動します。

デリバリーユニットに割り当てられているすべての荷物のリストを見ることができます。 それはエクスポート場所を選択するオプションを提供します-

  • サーバーにエクスポート
  • クライアントにエクスポート

配送ユニットを介してエクスポート

図に示すように、配信ユニットをHANAサーバーの場所またはクライアントの場所にエクスポートできます。

ユーザーは、「時間でフィルター」を使用してエクスポートを制限できます。つまり、上記の時間間隔内に更新される情報ビューのみがエクスポートされます。

デリバリーユニットとエクスポート場所を選択し、「次へ」→「完了」をクリックします。 これにより、選択したデリバリーユニットが指定した場所にエクスポートされます。

開発者モード

このオプションを使用して、個々のオブジェクトをローカルシステム内の場所にエクスポートできます。 ユーザーは、単一の情報ビューまたはビューとパッケージのグループを選択し、エクスポートおよび終了するローカルクライアントの場所を選択できます。

これは、以下のスナップショットに示されています。

開発者モード

サポートモード

これを使用して、SAPサポートの目的でデータとともにオブジェクトをエクスポートできます。 これは、要求されたときに使用できます。

-ユーザーが情報ビューを作成すると、エラーがスローされ、解決できません。 その場合、彼はこのオプションを使用して、データとともにビューをエクスポートし、デバッグ目的でSAPと共有できます。

サポートモード

  • SAP HANA Studioでのエクスポートオプション*-

    *Landscape* -あるシステムから別のシステムにランドスケープをエクスポートします。
    *Tables* -このオプションを使用して、テーブルをそのコンテンツとともにエクスポートできます。

SAP HANAコンテンツの下のインポートオプション

[ファイル]→[インポート]に移動すると、[インポート]の下にすべてのオプションが表示されます。

ローカルファイルからのデータ

これは、.xlsや.csvファイルなどのフラットファイルからデータをインポートするために使用されます。

インポート

Nexをクリック→ターゲットシステムの選択→インポートプロパティの定義

ローカルシステムを参照してソースファイルを選択します。 また、ヘッダー行を保持する場合のオプションも提供します。 また、既存のスキーマの下に新しいテーブルを作成するオプション、またはファイルから既存のテーブルにデータをインポートする場合のオプションも提供します。

ローカルファイル1からのデータ

[次へ]をクリックすると、主キーの定義、列のデータ型の変更、テーブルのストレージタイプの定義、および提案されたテーブルの構造の変更を行うオプションが表示されます。

ローカルファイル2からのデータ

[完了]をクリックすると、そのテーブルは、言及されたスキーマのテーブルのリストの下に表示されます。 データプレビューを実行し、テーブルのデータ定義をチェックできます。これは、.xlsファイルのデータ定義と同じになります。

ローカルファイルからデータをインポート

デリバリーユニット

[ファイル]→[インポート]→[配信ユニット]に移動して、配信ユニットを選択します。 サーバーまたはローカルクライアントから選択できます。

「非アクティブバージョンの上書き」を選択すると、存在するオブジェクトの非アクティブバージョンを上書きできます。 ユーザーが「オブジェクトのアクティブ化」を選択した場合、インポート後、インポートされたすべてのオブジェクトがデフォルトでアクティブ化されます。 ユーザーは、インポートされたビューのアクティベーションを手動でトリガーする必要はありません。

デリバリーユニット経由でインポート

[完了]をクリックし、正常に完了すると、ターゲットシステムに入力されます。

開発者モード

ビューがエクスポートされるローカルクライアントの場所を参照し、インポートするビューを選択すると、ユーザーは個々のビューまたはビューとパッケージのグループを選択し、[完了]をクリックできます。

メタデータの大量インポート

[ファイル]→[インポート]→[メタデータの一括インポート]→[次へ]に移動し、ソースシステムとターゲットシステムを選択します。

システムを一括インポート用に構成し、[完了]をクリックします。

メタデータの一括インポート

メタデータの選択的インポート

テーブルとターゲットスキーマを選択して、SAPアプリケーションからメタデータをインポートできます。

ファイル→インポート→メタデータの選択的インポート→次へに進みます

タイプ「SAPアプリケーション」のソース接続を選択します。 データストアはSAPアプリケーションタイプですでに作成されている必要があることに注意してください→次へをクリックします

メタデータの選択的インポート1 メタデータの選択的インポート2

インポートするテーブルを選択し、必要に応じてデータを検証します。 その後、[完了]をクリックします。

SAP HANA-レポートビュー

SAP HANAの情報モデリング機能を使用すると、さまざまな情報ビュー、属性ビュー、分析ビュー、計算ビューを作成できることがわかります。 これらのビューは、SAP Business Object、SAP Lumira、Design Studio、Office Analysisなどのさまざまなレポートツールや、MS Excelなどのサードパーティツールでも使用できます。

これらのレポートツールにより、ビジネスマネージャー、アナリスト、セールスマネージャー、上級管理職の従業員は、履歴情報を分析してビジネスシナリオを作成し、会社のビジネス戦略を決定できます。

これにより、さまざまなレポートツールによるHANAモデリングビューの使用、およびエンドユーザーにとって理解しやすいレポートとダッシュボードの生成が必要になります。

レポートと分析

SAPが実装されているほとんどの企業では、HANAのレポートは、リレーショナル接続とOLAP接続の助けを借りてSQLとMDXクエリの両方を使用するBIプラットフォームツールで実行されます。 Web Intelligence、Crystal Reports、Dashboard、Explorer、Office Analysisなど、さまざまなBIツールがあります。

HanaビューへのBi 4.0接続

レポーティングツール

Web IntelligenceとCrystal Reportsは、レポートに使用される最も一般的なBIツールです。 WebIは、ユニバースと呼ばれるセマンティックレイヤーを使用してデータソースに接続し、これらのユニバースはツールでのレポートに使用されます。 これらのユニバースは、ユニバースデザインツールUDTまたは情報デザインツールIDTを使用して設計されています。 IDTは、マルチソース対応のデータソースをサポートしています。 ただし、UDTは単一ソースのみをサポートします。

対話型ダッシュボードの設計に使用される主なツール-Design StudioおよびDashboard Designer。 Design Studioは、BIコンシューマサービスBICS接続を介してHANAビューを使用するダッシュボードを設計するための将来のツールです。 ダッシュボード設計(xcelsius)はIDTを使用して、リレーショナルまたはOLAP接続でHANAデータベースのスキーマを使用します。

SAP Lumiraには、HANAデータベースから直接データを接続またはロードする機能が組み込まれています。 LANAでHANAビューを直接使用して、ストーリーの視覚化と作成を行うことができます。

Office AnalysisはOLAP接続を使用して、HANA情報ビューに接続します。 このOLAP接続は、CMCまたはIDTで作成できます。

レポートツール

上記の図では、OLAP接続を使用してSAP HANAに直接接続および統合できるすべてのBIツールを実線で示しています。 また、IDAを使用してHANAに接続するリレーショナル接続が必要なツールを点線で示しています。

リレーショナル接続とOLAP接続

基本的には、テーブルまたは従来のデータベースのデータにアクセスする必要がある場合、接続はリレーショナル接続である必要がありますが、ソースがアプリケーションであり、データがキューブ(情報キューブ、情報モデルなどの多次元)に格納されている場合、 OLAP接続を使用します。

  • リレーショナル接続は、IDT/UDTでのみ作成できます。
  • OLAPは、IDTとCMCの両方で作成できます。

もう1つ注意すべきことは、リレーショナル接続は常にレポートから起動されるSQLステートメントを生成し、OLAP接続は通常MDXステートメントを作成することです

情報設計ツール

情報設計ツール(IDT)では、JDBCまたはODBCドライバーを使用してSAP HANAビューまたはテーブルへのリレーショナル接続を作成し、この接続を使用してユニバースを構築して、上の図に示すようにダッシュボードやWeb Intelligenceなどのクライアントツールへのアクセスを提供できます。

JDBCまたはODBCドライバーを使用して、SAP HANAへの直接接続を作成できます。

SAP HANA-Crystal Reports

エンタープライズ向けCrystal Reports

Crystal Reports for Enterpriseでは、インフォメーションデザインツールを使用して作成された既存のリレーショナル接続を使用して、SAP HANAデータにアクセスできます。

インフォメーションデザインツールまたはCMCを使用して作成されたOLAP接続を使用して、SAP HANAに接続することもできます。

デザインスタジオ

Design Studioは、情報設計ツールで作成された既存のOLAP接続またはOffice Analysisと同じCMCを使用して、SAP HANAデータにアクセスできます。

ダッシュボード

ダッシュボードは、リレーショナルユニバースを介してのみSAP HANAに接続できます。 SAP HANAでダッシュボードを使用しているお客様は、Design Studioで新しいダッシュボードを構築することを強くお勧めします。

Web Intelligence

Web Intelligenceは、Relational Universeを介してのみSAP HANAに接続できます。

SAP Lumira

Lumiraは、SAP HANAの分析ビューと計算ビューに直接接続できます。 また、リレーショナルユニバースを使用して、SAP BIプラットフォームを介してSAP HANAに接続することもできます。

OLAP用のOffice Analysisエディション

OLAPのOffice Analysisエディションでは、セントラル管理コンソールまたは情報設計ツールで定義されたOLAP接続を使用してSAP HANAに接続できます。

冒険者

JDBCドライバーを使用して、SAP HANAビューに基づいて情報スペースを作成できます。

CMCでのOLAP接続の作成

すべてのBIツール用のOLAP接続を作成できます。これは、分析用のOLAP、エンタープライズ用のCrystal Report、Design StudioなどのHANAビューの上で使用するものです。 IDTを介したリレーショナル接続は、Web IntelligenceとダッシュボードをHANAデータベースに接続するために使用されます。

これらの接続はCMCとIDTを使用して作成でき、両方の接続はBOリポジトリに保存されます。

ユーザー名とパスワードを使用してCMCにログインします。

接続のドロップダウンリストから、OLAP接続を選択します。 CMCで既に作成された接続も表示されます。 新しい接続を作成するには、緑色のアイコンに移動してこれをクリックします。

セントラル管理コンソール1

OLAP接続の名前と説明を入力します。 さまざまなBIプラットフォームツールでHANAビューに接続するために、複数の人がこの接続を使用できます。

プロバイダー-SAP HANA

サーバー-HANAサーバー名を入力してください

インスタンス-インスタンス番号

セントラル管理コンソール2

また、単一のキューブ(単一の分析ビューまたは計算ビューに接続することもできます)または完全なHANAシステムに接続するオプションも提供します。

[接続]をクリックし、ユーザー名とパスワードを入力してモデリングビューを選択します。

認証タイプ-CMCでOLAP接続を作成している間、3つのタイプの認証が可能です。

  • 事前定義-この接続の使用中に、ユーザー名とパスワードを再度要求することはありません。
  • プロンプト-ユーザー名とパスワードを尋ねるたびに
  • SSO -ユーザー固有
  • ユーザーの入力-HANAシステムのユーザー名とパスワードを保存し、既存の接続リストに保存して新しい接続を追加します。

次に、BIランチパッドを開いて、Office Analysis for OLAPなどのレポート用のすべてのBIプラットフォームツールを開き、接続の選択を求めます。 デフォルトでは、この接続の作成中に指定した場合は情報ビューが表示されます。それ以外の場合は、[次へ]をクリックしてフォルダー→ビューの選択(分析ビューまたは計算ビュー)に移動します。

  • HANAシステムとのSAP Lumira接続*

スタートプログラムからSAP Lumiraを開き、ファイルメニュー→新規→新しいデータセットの追加→SAP HANAに接続→次へをクリックします

SAP Lumira Connectivity

SAP HANAへの接続とSAP HANAからのダウンロードの違いは、HA​​NAシステムからBOリポジトリにデータをダウンロードし、HANAシステムの変更ではデータの更新が発生しないことです。 HANAサーバー名とインスタンス番号を入力します。 ユーザー名とパスワードを入力→接続をクリックします。

SAP Hanaに接続

すべてのビューが表示されます。 ビュー名で検索することができます→ビュー→次を選択します。 すべてのメジャーとディメンションが表示されます。 必要に応じてこれらの属性から選択することができます→作成オプションをクリックします。

SAP Lumiraには4つのタブがあります-

  • 準備-データを表示して、カスタム計算を実行できます。
  • 視覚化-グラフとチャートを追加できます。 X軸とY軸+記号をクリックして、属性を追加します。
  • 構成-このオプションは、一連の視覚化(ストーリー)を作成するために使用できます→ボードをクリックして、ボードの数を追加→作成→左側にすべての視覚化を表示します。 最初の視覚化をドラッグしてからページを追加してから、2番目の視覚化を追加します。
  • 共有-SAP HANAで構築されている場合、SAP Lumiraサーバーにのみ公開できます。 それ以外の場合は、SAP LumiraからSAP Community Network SCNまたはBIプラットフォームにストーリーを公開することもできます。

ファイルを保存して後で使用する→ファイル-保存に移動→ローカルを選択→保存

  • WebIおよびダッシュボードのHANAビューで使用するIDTでのリレーショナル接続の作成*-

BIプラットフォームクライアントツールに移動して、情報デザインツールを開きます。 新規→プロジェクトプロジェクト名を入力→完了をクリックします。

情報設計ツール

プロジェクト名を右クリック→新規に移動→リレーショナル接続を選択→接続/リソース名を入力→次へ→リストからSAPを選択してHANAシステムに接続→SAP HANA→JDBC/ODBCドライバーを選択→次へ→HANAシステムの詳細を入力→[次へ]および[完了]をクリックします。

リレーショナル接続

[接続のテスト]オプションをクリックして、この接続をテストすることもできます。

テスト

接続のテスト→成功。 次のステップでは、この接続をリポジトリに公開して、使用できるようにします。

接続名を右クリック→リポジトリへの接続の公開をクリック→BOリポジトリ名とパスワードの入力→接続→次へ→完了→はいをクリックします。

接続の公開

cns接続タイプを選択→これを右クリック→新規データファンデーションを選択→データファンデーションの名前を入力→次へ→シングルソース/マルチソース→次へ→完了をクリックします。.

New Data Foundation

HANAデータベースのすべてのテーブルが表示され、中央のペインにスキーマ名が表示されます。

HANAデータベースからマスターペインにすべてのテーブルをインポートして、ユニバースを作成します。 DimおよびFactテーブルをDimテーブルの主キーと結合して、スキーマを作成します。

スキーマ

結合をダブルクリックして、カーディナリティを検出→検出→OK→上部にあるすべて保存。 次に、BIアプリケーションツールで使用されるデータファンデーションに新しいビジネスレイヤーを作成する必要があります。

dfxを右クリックして、新しいビジネスレイヤー→名前の入力→完了→を選択します。 マスターペイン→の下にすべてのオブジェクトが自動的に表示されます。 ディメンションをメジャーに変更します(必要に応じてタイプとメジャーの投影を変更)→すべて保存。.

新しいビジネスレイヤー

bfxファイルを右クリック→[公開]→[リポジトリへ]をクリック→[次へ]→[完了]→[ユニバースが正常に公開されました]をクリックします。.

次に、BI LaunchpadからWebIレポートを開くか、BI PlatformクライアントツールからWebiリッチクライアント→新規→ユニバースを選択→TEST_SAP_HANA→OK。

WebIレポート

すべてのオブジェクトがクエリパネルに追加されます。 左ペインから属性とメジャーを選択し、それらを結果オブジェクトに追加できます。 *クエリの実行*はSQLクエリを実行し、以下に示すようにWebIでレポートの形式で出力が生成されます。

レポート1

SAP HANA-Excel統合

Microsoft Excelは、多くの組織で最も一般的なBIレポートおよび分析ツールと見なされています。 ビジネスマネージャーとアナリストはそれをHANAデータベースに接続して、分析用のピボットテーブルとチャートを作成できます。

MS ExcelをHANAに接続する

Excelを開き、[データ]タブに移動→他のソースから→[データ接続ウィザード]→[その他/詳細]をクリックし、[次へ]をクリック→データリンクプロパティが開きます。

MS ExcelをHANAに接続 データリンクプロパティ

このリストからSAP HANA MDXプロバイダーを選択して、任意のMDXデータソースに接続→HANAシステムの詳細(サーバー名、インスタンス、ユーザー名、パスワード)を入力→テスト接続→接続成功→OKをクリックします。

HANAシステムで利用可能なすべてのパッケージのリストがドロップダウンリストに表示されます。 情報ビューを選択し、[次へ]→[ピボットテーブル/その他を選択]→[OK]をクリックします。

ピボットテーブルの選択

'__情報ビューのすべての属性がMS Excelに追加されます。 表示されるようにレポートするさまざまな属性とメジャーを選択でき、上部のデザインオプションから円グラフや棒グラフなどのさまざまなグラフを選択できます。_

SAP HANA-セキュリティの概要

セキュリティとは、会社の重要なデータを不正なアクセスや使用から保護し、会社のポリシーに従ってコンプライアンスと基準が満たされるようにすることです。 SAP HANAにより、お客様はさまざまなセキュリティポリシーと手順を実装し、会社のコンプライアンス要件を満たすことができます。

SAP HANAは、単一のHANAシステムで複数のデータベースをサポートします。これは、マルチテナントデータベースコンテナーと呼ばれます。 HANAシステムには、複数のマルチテナントデータベースコンテナを含めることもできます。 複数コンテナシステムには、常に1つのシステムデータベースと任意の数のマルチテナントデータベースコンテナがあります。 この環境にインストールされるSAP HANAシステムは、単一のシステムID(SID)によって識別されます。 HANAシステムのデータベースコンテナは、SIDとデータベース名によって識別されます。 HANAスタジオとして知られるSAP HANAクライアントは、特定のデータベースに接続します。

SAP HANAは、認証、承認、暗号化、監査などのすべてのセキュリティ関連機能、および他のマルチテナントデータベースではサポートされていないアドオン機能を提供します。

セキュリティの概要

以下は、SAP HANAが提供するセキュリティ関連機能のリストです-

  • ユーザーおよびロール管理
  • 認証とSSO
  • 承認
  • ネットワークでのデータ通信の暗号化
  • 永続層でのデータの暗号化

マルチテナントHANAデータベースの追加機能-

  • データベースの分離-オペレーティングシステムメカニズムによるクロステナント攻撃の防止が含まれます
  • 構成変更ブラックリスト-テナントデータベース管理者が特定のシステムプロパティを変更できないようにする
  • 制限された機能-ファイルシステム、ネットワーク、または他のリソースへの直接アクセスを提供する特定のデータベース機能を無効にします。

SAP HANAユーザーおよびロール管理

SAP HANAユーザーおよびロール管理の構成は、HANAシステムのアーキテクチャに依存します。

  • SAP HANAがBIプラットフォームツールと統合され、レポートデータベースとして機能する場合、エンドユーザーとロールはアプリケーションサーバーで管理されます。
  • エンドユーザーがSAP HANAデータベースに直接接続する場合、HANAシステムのデータベース層のユーザーとロールは、エンドユーザーと管理者の両方に必要です。

HANAデータベースを使用するすべてのユーザーには、必要な特権を持つデータベースユーザーが必要です。 HANAシステムにアクセスするユーザーは、アクセス要件に応じて技術ユーザーまたはエンドユーザーのいずれかになります。 システムへのログオンに成功すると、必要な操作を実行するためのユーザーの承認が検証されます。 その操作の実行は、ユーザーに付与された特権に依存します。 これらの特権は、HANA Securityのロールを使用して付与できます。 HANA Studioは、HANAデータベースシステムのユーザーとロールを管理する強力なツールの1つです。

ユーザータイプ

ユーザーの種類は、セキュリティポリシーとユーザープロファイルに割り当てられたさまざまな特権によって異なります。 ユーザータイプは、技術的なデータベースユーザーでも、エンドユーザーがレポート目的またはデータ操作のためにHANAシステムにアクセスする必要がある場合もあります。

標準ユーザー

標準ユーザーは、独自のスキーマでオブジェクトを作成でき、システム情報モデルで読み取りアクセス権を持つユーザーです。 読み取りアクセスは、すべての標準ユーザーに割り当てられているPUBLICロールによって提供されます。

標準ユーザー

制限されたユーザー

制限付きユーザーとは、一部のアプリケーションでHANAシステムにアクセスするユーザーであり、HANAシステムに対するSQL特権を持たないユーザーです。 これらのユーザーが作成されると、最初はアクセスできません。

制限付きユーザーと標準ユーザーを比較する場合-

  • 制限されたユーザーは、HANAデータベースまたは独自のスキーマにオブジェクトを作成できません。
  • 標準ユーザーのようなプロファイルに追加された一般的なパブリックロールがないため、データベースのデータを表示するアクセス権はありません。
  • HTTP/HTTPSを使用してのみ、HANAデータベースに接続できます。

ユーザー管理とロール管理

テクニカルデータベースユーザーは、データベース内での新しいオブジェクトの作成、他のユーザー、パッケージ、アプリケーションなどへの特権の割り当てなどの管理目的でのみ使用されます。

SAP HANAユーザー管理アクティビティ

HANAシステムのビジネスニーズと構成に応じて、HANA studioなどのユーザー管理ツールを使用して実行できるさまざまなユーザーアクティビティがあります。

最も一般的な活動は次のとおりです-

  • ユーザーを作成する
  • ユーザーに役割を付与する
  • 役割の定義と作成
  • ユーザーを削除する
  • ユーザーパスワードのリセット
  • ログオン試行の失敗が多すぎる場合のユーザーの再アクティブ化
  • 必要なときにユーザーを無効にする

HANA Studioでユーザーを作成する方法は?

システム権限ROLE ADMINを持つデータベースユーザーのみが、HANA studioでユーザーとロールを作成できます。 HANAスタジオでユーザーとロールを作成するには、HANA管理者コンソールに移動します。 あなたは、システムビューにセキュリティタブが表示されます-

ユーザーの作成

セキュリティタブを展開すると、ユーザーとロールのオプションが表示されます。 新しいユーザーを作成するには、[ユーザー]を右クリックして[新しいユーザー]に移動します。 ユーザーおよびユーザーパラメーターを定義する新しいウィンドウが開きます。

ユーザー名(義務)を入力し、認証フィールドにパスワードを入力します。 パスワードが適用され、新しいユーザーのパスワードが保存されます。 制限ユーザーを作成することもできます。

指定されたロール名は、既存のユーザーまたはロールの名前と同一であってはなりません。 パスワードルールには、パスワードの最小長と、パスワードの一部である必要がある文字タイプ(下位、上位、数字、特殊文字)の定義が含まれます。

新しいユーザー

SAML、X509証明書、SAPログオンチケットなど、さまざまな認証方法を設定できます。 データベース内のユーザーは、さまざまなメカニズムによって認証されます-

パスワードを使用した内部認証メカニズム。

Kerberos、SAML、SAPログオンチケット、SAPアサーションチケット、X.509などの外部メカニズム。

ユーザーは、一度に複数のメカニズムによって認証されます。 ただし、Kerberosに対して有効なパスワードとプリンシパル名は一度に1つだけです。 ユーザーがデータベースインスタンスに接続して作業できるようにするには、1つの認証メカニズムを指定する必要があります。

また、ユーザーの有効期間を定義するオプションも提供されます。日付を選択することで有効期間を指定できます。 有効性の指定は、オプションのユーザーパラメーターです。

デフォルトでSAP HANAデータベースとともに提供されるユーザーには、SYS、SYSTEM、_SYS_REPO、_SYS_STATISTICSなどがあります。

これが完了したら、次の手順はユーザープロファイルの特権を定義することです。 ユーザープロファイルに追加できるさまざまな種類の特権があります。

ユーザーに付与されたロール

これは、組み込みのSAP.HANAロールをユーザープロファイルに追加するか、[ロール]タブで作成されたカスタムロールを追加するために使用されます。 カスタムロールを使用すると、アクセス要件ごとにロールを定義でき、これらのロールをユーザープロファイルに直接追加できます。 これにより、さまざまなアクセスタイプに対して毎回オブジェクトを覚えてユーザープロファイルに追加する必要がなくなります。

ユーザーに付与されたロール

*PUBLIC* -これは汎用ロールであり、デフォルトですべてのデータベースユーザーに割り当てられます。 このロールには、システムビューへの読み取り専用アクセスと、一部のプロシージャの実行権限が含まれています。 これらの役割を取り消すことはできません。

パブリック

モデリング

SAP HANAスタジオで情報モデラーを使用するために必要なすべての特権が含まれています。

システム権限

ユーザープロファイルに追加できるシステム権限にはさまざまな種類があります。 ユーザープロファイルにシステム権限を追加するには、+記号をクリックします。

システム権限は、バックアップ/復元、ユーザー管理、インスタンスの起動と停止などに使用されます。

コンテンツ管理者

これには、MODELINGロールと同様の特権が含まれていますが、このロールがこれらの特権を他のユーザーに付与できることも追加されています。 また、インポートされたオブジェクトを操作するリポジトリ権限も含まれています。

コンテンツ管理者

データ管理者

これは、オブジェクトのデータをユーザープロファイルに追加するために必要な一種の特権です。

データ管理者

以下は、サポートされている一般的なシステム権限です-

デバッガーの接続

別のユーザーによって呼び出されるプロシージャ呼び出しのデバッグを許可します。 さらに、対応するプロシージャのDEBUG特権が必要です。

監査管理者

以下の監査関連コマンドの実行を制御します-CREATE AUDIT POLICY、DROP AUDIT POLICY、ALTER AUDIT POLICY、および監査構成の変更。 また、AUDIT_LOGシステムビューへのアクセスを許可します。

監査オペレーター

次のコマンドの実行を許可します-ALTER SYSTEM CLEAR AUDIT LOG。 また、AUDIT_LOGシステムビューへのアクセスを許可します。

バックアップ管理者

バックアップおよびリカバリ手順を定義および開始するためのBACKUPおよびRECOVERYコマンドを許可します。

バックアップオペレーター

バックアッププロセスを開始するBACKUPコマンドを許可します。

カタログ読み取り

すべてのシステムビューへのフィルターなしの読み取り専用アクセスをユーザーに許可します。 通常、これらのビューのコンテンツは、アクセスしているユーザーの権限に基づいてフィルタリングされます。

スキーマを作成

CREATE SCHEMAコマンドを使用して、データベーススキーマの作成を許可します。 デフォルトでは、各ユーザーは1つのスキーマを所有しており、この特権により、ユーザーは追加のスキーマを作成できます。

構造化特権の作成

構造化特権(分析特権)の作成を許可します。 分析特権の所有者のみが、他のユーザーまたはロールにその特権をさらに付与または取り消すことができます。

資格管理者

クレデンシャルコマンド-CREATE/ALTER/DROP CREDENTIALを許可します。

データ管理者

システムビュー内のすべてのデータの読み取りを許可します。 また、SAP HANAデータベースでデータ定義言語(DDL)コマンドを実行できます。

この権限を持つユーザーは、アクセス権限を持たないデータ保存テーブルを選択または変更できませんが、テーブルを削除したり、テーブル定義を変更したりできます。

データベース管理者

CREATE、DROP、ALTER、RENAME、BACKUP、RECOVERYなど、マルチデータベース内のデータベースに関連するすべてのコマンドを許可します。

輸出する

EXPORT TABLEコマンドを使用して、データベース内のエクスポートアクティビティを許可します。

この特権に加えて、ユーザーはエクスポートするソーステーブルに対するSELECT特権を必要とすることに注意してください。

インポート

IMPORTコマンドを使用して、データベース内のインポートアクティビティを許可します。

この特権に加えて、ユーザーはインポートするターゲットテーブルに対するINSERT特権を必要とすることに注意してください。

Inifile Admin

システム設定の変更を許可します。

ライセンス管理者

SET SYSTEM LICENSEコマンドが新しいライセンスをインストールすることを許可します。

ログ管理者

ALTER SYSTEM LOGGING [ON | OFF]コマンドを許可して、ログフラッシュメカニズムを有効または無効にします。

管理者を監視する

EVENTのALTER SYSTEMコマンドを許可します。

オプティマイザー管理

SQL PLAN CACHEおよびALTER SYSTEM UPDATE STATISTICSコマンドに関するALTER SYSTEMコマンドを許可します。これらのコマンドは、クエリオプティマイザーの動作に影響を与えます。

リソース管理者

この権限は、システムリソースに関するコマンドを許可します。 たとえば、ALTER SYSTEM RECLAIM DATAVOLUMEおよびALTER SYSTEM RESET MONITORING VIEW。 また、管理コンソールで使用可能な多くのコマンドを許可します。

ロール管理者

この権限は、CREATE ROLEおよびDROP ROLEコマンドを使用してロールの作成と削除を許可します。 また、GRANTおよびREVOKEコマンドを使用して、ロールの付与と取り消しを許可します。

アクティブ化されたロール、つまり作成者が事前定義されたユーザー_SYS_REPOであるロールは、他のロールまたはユーザーに付与することも、直接ドロップすることもできません。 ROLE ADMIN特権を持っているユーザーでさえもそうすることはできません。 アクティブ化されたオブジェクトに関するドキュメントを確認してください。

セーブポイント管理者

ALTER SYSTEM SAVEPOINTコマンドを使用して、セーブポイントプロセスの実行を許可します。

SAP HANAデータベースのコンポーネントは、新しいシステム権限を作成できます。 これらの特権は、システム特権の最初の識別子としてcomponent-nameを使用し、2番目の識別子としてcomponent-privilege-nameを使用します。

オブジェクト/SQL特権

オブジェクト権限は、SQL権限とも呼ばれます。 これらの特権は、テーブル、ビュー、スキーマの選択、挿入、更新、削除などのオブジェクトへのアクセスを許可するために使用されます。

オブジェクトSQL特権

オブジェクト権限の可能なタイプは以下のとおりです-

  • ランタイムにのみ存在するデータベースオブジェクトのオブジェクト権限
  • 計算ビューなど、リポジトリで作成されたアクティブ化されたオブジェクトのオブジェクト権限
  • リポジトリで作成されたアクティブ化されたオブジェクトを含むスキーマのオブジェクト権限、
  • オブジェクト/SQL特権は、データベースオブジェクトに対するすべてのDDLおよびDML特権のコレクションです。

以下は、サポートされている一般的なオブジェクト権限です-

HANAデータベースには複数のデータベースオブジェクトがあるため、すべての権限がすべての種類のデータベースオブジェクトに適用できるわけではありません。

複数のデータオブジェクト

オブジェクト特権とデータベースオブジェクトへの適用性-

オブジェクト特権とその適用性

分析特権

場合によっては、同じビュー内のデータに、そのデータに関連する要件を持たない他のユーザーがアクセスできないようにする必要があります。

分析特権は、オブジェクトレベルでのHANA情報ビューへのアクセスを制限するために使用されます。 Analytic Privilegesで行および列レベルのセキュリティを適用できます。

分析特権は次の目的で使用されます-

  • 特定の値範囲に対する行および列レベルのセキュリティの割り当て。
  • ビューのモデリングのための行および列レベルのセキュリティの割り当て。

分析特権

パッケージの特権

SAP HANAリポジトリでは、特定のユーザーまたはロールにパッケージ認証を設定できます。 パッケージ権限は、分析ビューまたは計算ビュー、またはリポジトリオブジェクトへのデータモデルへのアクセスを許可するために使用されます。 リポジトリパッケージに割り当てられているすべての特権は、すべてのサブパッケージにも割り当てられています。 割り当てられたユーザーの承認を他のユーザーに渡すことができるかどうかについても言及できます。

パッケージ特権をユーザープロファイルに追加する手順-

  • HANA studioの[ユーザーの作成]で[パッケージ特権]タブをクリックし、[&plus; 1つ以上のパッケージを追加します。 複数のパッケージを選択するには、Ctrlキーを使用します。
  • [リポジトリパッケージの選択]ダイアログで、パッケージ名のすべてまたは一部を使用して、アクセスを許可するリポジトリパッケージを見つけます。
  • アクセスを許可する1つ以上のリポジトリパッケージを選択すると、選択したパッケージが[パッケージ権限]タブに表示されます。

パッケージ特権

以下に付与された権限は、オブジェクトを変更することをユーザーに許可するためにリポジトリパッケージで使用されます-

  • REPO.READ -選択したパッケージおよび設計時オブジェクト(ネイティブおよびインポート済みの両方)への読み取りアクセス
  • REPO.EDIT_NATIVE_OBJECTS -パッケージ内のオブジェクトを変更する権限。
  • 他者に付与-このオプションで「はい」を選択すると、割り当てられたユーザー認証が他のユーザーに渡されます。

アプリケーション特権

ユーザープロファイルのアプリケーション権限は、HANA XSアプリケーションへのアクセスの承認を定義するために使用されます。 これは、個々のユーザーまたはユーザーのグループに割り当てることができます。 アプリケーション特権を使用して、データベース管理者に高度な機能を提供したり、通常のユーザーに読み取り専用アクセスを提供するなど、同じアプリケーションに異なるレベルのアクセスを提供することもできます。

アプリケーション特権

ユーザープロファイルでアプリケーション固有の特権を定義するか、ユーザーのグループを追加するには、以下の特権を使用する必要があります-

  • アプリケーション特権ファイル(.xsprivileges)
  • アプリケーションアクセスファイル(.xsaccess)
  • 役割定義ファイル(<役割名> .hdbrole)

SAP HANA-認証

HANAデータベースにアクセスできるすべてのSAP HANAユーザーは、異なる認証方法で検証されます。 SAP HANAシステムはさまざまなタイプの認証方法をサポートしており、これらすべてのログイン方法はプロファイル作成時に構成されます。

以下は、SAP HANAでサポートされている認証方法のリストです-

  • ユーザー名パスワード
  • Kerberos
  • SAML 2.0
  • SAPログオンチケット
  • X.509

認証

ユーザー名パスワード

この方法では、HANAユーザーがデータベースにログインするためにユーザー名とパスワードを入力する必要があります。 このユーザープロファイルは、HANA Studioの[ユーザー管理]→[セキュリティ]タブで作成されます。

パスワードは、パスワードポリシー、つまり パスワードの長さ、複雑さ、小文字および大文字など。

組織のセキュリティ基準に従ってパスワードポリシーを変更できます。 パスワードポリシーは無効にできないことに注意してください。

ユーザー名パスワード

Kerberos

外部認証方法を使用してHANAデータベースシステムに接続するすべてのユーザーには、データベースユーザーも必要です。 外部ログインを内部データベースユーザーにマップする必要があります。

この方法により、ユーザーは、ネットワーク経由でJDBC/ODBCドライバーを使用するか、SAP Business Objectsのフロントエンドアプリケーションを使用して、HANAシステムを直接認証できます。

また、HANA XSエンジンを使用して、HANA拡張サービスでHTTPアクセスを許可します。 Kerberos認証にSPENGOメカニズムを使用します。

Kerberos

SAML

SAMLはSecurity Assertion Markup Languageの略で、ODBC/JDBCクライアントから直接HANAシステムにアクセスするユーザーの認証に使用できます。 また、HANA XSエンジンを介したHTTP経由のHANAシステムでのユーザー認証にも使用できます。

SAMLは認証目的にのみ使用され、承認には使用されません。

SAML

SAPログオンおよびアサーションチケット

SAPログオン/アサーションチケットを使用して、HANAシステムでユーザーを認証できます。 これらのチケットは、SAP Portalなどのチケットを発行するように構成されたSAPシステムにログインするときにユーザーに発行されます。 SAPログオンチケットで指定されたユーザーは、ユーザーのマッピングをサポートしないため、HANAシステムで作成する必要があります。

SAPログオンおよびアサーションチケット

X.509クライアント証明書

X.509証明書を使用して、HANA XSエンジンからのHTTPアクセス要求を介してHANAシステムにログインすることもできます。 ユーザーは、HANA XSシステムに格納されている信頼できる認証局から署名された証明書によって認証されます。

ユーザーマッピングのサポートがないため、信頼できる証明書のユーザーがHANAシステムに存在する必要があります。

クライアント証明書

HANAシステムでのシングルサインオン

シングルサインオンは、HANAシステムで構成できます。これにより、ユーザーはクライアントでの初期認証からHANAシステムにログインできます。 さまざまな認証方法とSSOを使用したクライアントアプリケーションでのユーザーログインにより、ユーザーはHANAシステムに直接アクセスできます。

SSOは、以下の構成方法で構成できます-

  • SAML
  • Kerberos
  • HANA XSエンジンからのHTTPアクセス用のX.509クライアント証明書
  • SAPログオン/アサーションチケット

SAP HANA-認証方法

ユーザーがHANAデータベースに接続してデータベース操作を実行しようとすると、承認がチェックされます。 ユーザーがJDBC/ODBCまたはHTTPを介してクライアントツールを使用してHANAデータベースに接続し、データベースオブジェクトに対していくつかの操作を実行する場合、対応するアクションは、ユーザーに許可されたアクセスによって決定されます。

ユーザーに付与される特権は、ユーザーに付与されたユーザープロファイルまたはロールに割り当てられたオブジェクト特権によって決定されます。 認可は、両方のアクセスの組み合わせです。 ユーザーがHANAデータベースで何らかの操作を実行しようとすると、システムは許可チェックを実行します。 必要な特権がすべて見つかると、システムはこのチェックを停止し、要求されたアクセスを許可します。

さまざまな種類の特権があり、ユーザーロールと管理で説明したように、SAP HANAで使用されます-

システム権限

これらは、ユーザーおよび制御システムのアクティビティに対するシステムおよびデータベースの承認に適用されます。 これらは、スキーマの作成、データのバックアップ、ユーザーとロールの作成などの管理タスクに使用されます。 システム権限は、リポジトリ操作の実行にも使用されます。

オブジェクト権限

それらは、データベース操作に適用可能であり、テーブル、スキーマなどのデータベースオブジェクトに適用されます。 これらは、テーブルやビューなどのデータベースオブジェクトを管理するために使用されます。 データベースオブジェクトに基づいて、選択、実行、変更、ドロップ、削除などのさまざまなアクションを定義できます。

また、SMARTデータアクセスを介してSAP HANAに接続されるリモートデータオブジェクトの制御にも使用されます。

分析特権

これらは、HANAリポジトリで作成されるすべてのパッケージ内のデータに適用できます。 これらは、属性ビュー、分析ビュー、計算ビューなどのパッケージ内で作成されるモデリングビューを制御するために使用されます。 HANAパッケージのモデリングビューで定義されている属性に行レベルおよび列レベルのセキュリティを適用します。

パッケージの特権

これらは、HANAデータベースのリポジトリで作成されたパッケージへのアクセスと使用を許可するために適用できます。 パッケージには、属性ビュー、分析ビュー、計算ビュー、およびHANAリポジトリデータベースで定義された分析特権などのさまざまなモデリングビューが含まれています。

アプリケーション特権

HTTPリクエストを介してHANAデータベースにアクセスするHANA XSアプリケーションに適用できます。 これらは、HANA XSエンジンで作成されたアプリケーションのアクセスを制御するために使用されます。

アプリケーション特権は、HANA studioを使用してユーザー/ロールに直接適用できますが、設計時にリポジトリで作成されたロールに適用することをお勧めします。

SAP HANAデータベースのリポジトリ認証

_SYS_REPOは、HANAリポジトリ内のすべてのオブジェクトを所有するユーザーです。 このユーザーは、リポジトリオブジェクトがHANAシステムでモデル化されているオブジェクトに対して外部的に承認される必要があります。 _SYS_REPOはすべてのオブジェクトの所有者であるため、これらのオブジェクトへのアクセスを許可するためにのみ使用でき、他のユーザーは_SYS_REPOユーザーとしてログインできません。

スキーマ「<SCHEMA_NAME>」のSELECTをGRANTオプション付きで_SYS_REPOに付与する

SAP HANA-ライセンス管理

HANAデータベースを使用するには、SAP HANAライセンス管理とキーが必要です。 HANAスタジオを使用して、HANAライセンスキーをインストールまたは削除できます。

ライセンスキーの種類

SAP HANAシステムは、2種類のライセンスキーをサポートしています-

  • 一時ライセンスキー-HANAデータベースをインストールすると、一時ライセンスキーが自動的にインストールされます。 これらのキーは90日間のみ有効であり、インストール後のこの90日間の期限が切れる前に、SAPマーケットプレイスに永久ライセンスキーを要求する必要があります。
  • 永久ライセンスキー-永久ライセンスキーは、事前に定義された有効期限までのみ有効です。 ライセンスキーは、ターゲットHANAインストールにライセンスされるメモリの量を指定します。 これらは、キーとリクエストタブの下のSAPマーケットプレイスからインストールできます。 永久ライセンスキーの有効期限が切れると、28日間のみ有効な一時ライセンスキーが発行されます。 この期間中は、永久ライセンスキーを再度インストールする必要があります。

HANAシステムには永続的なライセンスキーの2つのタイプがあります-

  • 非強制-非強制ライセンスキーがインストールされ、HANAシステムの使用量がライセンスのメモリ量を超える場合、この場合、SAP HANAの動作は影響を受けません。
  • 強制-強制ライセンスキーがインストールされ、HANAシステムの使用量がメモリのライセンス量を超えると、HANAシステムがロックされます。 この状況が発生した場合、HANAシステムを再起動するか、新しいライセンスキーを要求してインストールする必要があります。

システムのランドスケープ(スタンドアロン、HANAクラウド、HANA上のBWなど)に応じて、HANAシステムで使用できるさまざまなライセンスシナリオがあり、これらのモデルのすべてがHANAシステムインストールのメモリに基づいているわけではありません。

HANAのライセンスプロパティを確認する方法

HANAシステムを右クリック→プロパティ→ライセンス

ライセンスプロパティの確認

ライセンスの種類、開始日と有効期限、メモリ割り当て、およびSAP Market Placeを介して新しいライセンスを要求するために必要な情報(ハードウェアキー、システムID)について説明します。

[ライセンスキーのインストール]→[参照]→[パスの入力]は新しいライセンスキーのインストールに使用され、削除オプションは古い有効期限キーの削除に使用されます。

[ライセンス]の下の[すべてのライセンス]タブには、製品名、説明、ハードウェアキー、初回インストール時などが表示されます。

SAP HANA-監査

SAP HANA監査ポリシーは、監査対象のアクションと、監査に関連するためにアクションを実行する必要がある条件を示します。 監査ポリシーは、HANAシステムで実行されたアクティビティと、それらのアクティビティを誰がいつ実行したかを定義します。

SAP HANAデータベース監査機能により、HANAシステムで実行されるアクションを監視できます。 SAP HANA監査ポリシーを使用するには、HANAシステムで有効にする必要があります。 アクションが実行されると、ポリシーは監査イベントをトリガーして監査証跡に書き込みます。 監査証跡で監査エントリを削除することもできます。

複数のデータベースがある分散環境では、個々のシステムごとに監査ポリシーを有効にできます。 システムデータベースの場合、監査ポリシーはnameserver.iniファイルで定義され、テナントデータベースの場合、global.iniファイルで定義されます。

監査ポリシーの有効化

HANAシステムで監査ポリシーを定義するには、システム管理者-Audit Adminが必要です。

HANAシステムのセキュリティオプションに移動→監査

監査

[グローバル設定]→[監査ステータスを有効に設定します。

監査証跡ターゲットを選択することもできます。 次の監査証跡ターゲットが可能です-

  • Syslog (デフォルト)-Linuxオペレーティングシステムのログシステム。
  • データベーステーブル-内部データベーステーブル、Audit adminまたはAudit operatorシステム権限を持つユーザーは、このテーブルで選択操作のみを実行できます。
  • * CSVテキスト*-このタイプの監査証跡は、非実稼働環境でのテスト目的にのみ使用されます。

監査証跡ターゲット

[監査ポリシー]領域で新しい監査ポリシーを作成することも、[新しいポリシーの作成]を選択することもできます。 監査するポリシー名とアクションを入力します。

[展開]ボタンを使用して新しいポリシーを保存します。 新しいポリシーが自動的に有効になり、アクション条件が満たされると、監査証跡テーブルに監査エントリが作成されます。 ステータスを無効に変更してポリシーを無効にするか、ポリシーを削除することもできます。

SAP HANA-データ複製の概要

SAP HANAレプリケーションにより、ソースシステムからSAP HANAデータベースへのデータの移行が可能になります。 既存のSAPシステムからHANAにデータを移動する簡単な方法は、さまざまなデータ複製技術を使用することです。

システムレプリケーションは、コマンドラインまたはHANAスタジオを使用して、コンソールで設定できます。 このプロセスの間、プライマリECCまたはトランザクションシステムはオンラインのままでかまいません。 HANAシステムには3種類のデータ複製方法があります-

  • SAP LTレプリケーション方法
  • ETLツールSAPビジネスオブジェクトデータサービス(BODS)メソッド
  • 直接抽出接続方法(DXC)

SAP LTレプリケーション方法

SAP Landscape Transformation Replicationは、HANAシステムのトリガーベースのデータ複製方法です。 SAPおよびSAP以外のソースからリアルタイムデータまたはスケジュールベースのレプリケーションを複製するための完璧なソリューションです。 すべてのトリガーリクエストを処理するSAP LT Replicationサーバーがあります。 レプリケーションサーバーは、スタンドアロンサーバーとしてインストールすることも、SAP NW 7.02以降を搭載したSAPシステムで実行することもできます。

HANA DBとECCトランザクションシステムの間には、信頼できるRFC接続があります。これにより、HANAシステム環境でトリガーベースのデータ複製が可能になります。

SAP LTレプリケーション方法

SLTレプリケーションの利点

  • SLTレプリケーション方式では、複数のソースシステムから1つのHANAシステムへのデータレプリケーション、および1つのソースシステムから複数のHANAシステムへのデータレプリケーションが可能です。
  • SAP LTはトリガーベースのアプローチを使用します。 ソースシステムで測定可能なパフォーマンスへの影響はありません。
  • また、HANAデータベースにロードする前に、データ変換およびフィルタリング機能を提供します。
  • SAPおよび非SAPソースシステムから関連データのみをHANAに複製する、リアルタイムのデータ複製が可能です。
  • HANAシステムおよびHANAスタジオと完全に統合されています。

ECCシステムでの信頼できるRFC接続の作成

ソースSAPシステムAA1で、ターゲットシステムBB1に対して信頼できるRFCを設定します。 完了すると、AA1にログオンしていて、ユーザーがBB1で十分な権限を持っている場合、RFC接続を使用して、ユーザーとパスワードを再入力せずにBB1にログオンできます。

2つのSAPシステム間のRFC信頼/信頼関係、信頼システムから信頼システムへのRFCを使用すると、信頼システムへのログオンにパスワードは不要です。

SAPログオンを使用してSAP ECCシステムを開きます。 トランザクション番号sm59を入力します→これは新しい信頼できるRFC接続を作成するトランザクション番号です→3 ^ rd ^アイコンをクリックして新しい接続ウィザードを開きます→作成をクリックすると新しいウィンドウが開きます。

SAP ECCシステム

RFC宛先ECCHANA(RFC宛先の名前を入力)接続タイプ-3(ABAPシステムの場合)

技術設定に移動

ターゲットホスト-ECCシステム名、IPを入力し、システム番号を入力します。

技術設定1

[ログオンとセキュリティ]タブに移動し、言語、クライアント、ECCシステムのユーザー名とパスワードを入力します。

技術設定2

上部の[保存]オプションをクリックします。

接続先

[接続のテスト]をクリックすると、接続が正常にテストされます。

RFC接続テスト

RFC接続を構成するには

トランザクションの実行-ltr(RFC接続を設定するため)→新しいブラウザが開きます→ECCシステムのユーザー名とパスワードを入力してログオンします。

RFC接続の設定

[新規]→[新しいウィンドウが開きます]→[構成名を入力]→[次へ]→[RFC宛先(以前に作成された接続名)を入力]、[検索オプションを使用]を選択します。

構成の作成

[ターゲットシステムの指定]で、HANAシステムの管理ユーザー名とパスワード、ホスト名、インスタンス番号を入力し、[次へ]をクリックします。 007(000は不可)などのデータ転送ジョブの数を入力→次へ→構成の作成。

この接続を使用するには、HANA Studioにアクセスしてください-

HANA Studioに移動→データプロビジョニングをクリック→HANAシステムを選択

Hana System

ECCシステムからテーブルをロードするソースシステム(信頼できるRFC接続の名前)とターゲットスキーマ名を選択します。 HANAデータベースに移動するテーブルを選択→追加→終了。

ソースシステム

選択したテーブルは、HANAデータベースの下で選択したスキーマに移動します。

SAP HANA-ETLベースのレプリケーション

SAP HANA ETLベースのレプリケーションは、SAP Data Servicesを使用して、SAPまたは非SAPソースシステムからターゲットHANAデータベースにデータを移行します。 BODSシステムは、ソースシステムからターゲットシステムにデータを抽出、変換、ロードするために使用されるETLツールです。

アプリケーション層でビジネスデータを読み取ることができます。 Data Servicesでデータフローを定義し、複製ジョブをスケジュールし、Data Services Designerのデータストアでソースシステムとターゲットシステムを定義する必要があります。

SAP HANA Data Services ETLベースのレプリケーションの使用方法

Data Services Designerにログイン(リポジトリを選択)→データストアの作成

SAP HANA Data Services

SAP ECCシステムの場合、データベースをSAPアプリケーションとして選択し、ECCシステムのECCサーバー名、ユーザー名、パスワードを入力し、[詳細設定]タブでインスタンス番号、クライアント番号などの詳細を選択します。 そして適用します。

新しいデータストア

このデータストアはローカルオブジェクトライブラリの下に配置されます。これを展開すると、内部にテーブルはありません。

ローカルオブジェクトライブラリ

テーブルを右クリック→名前でインポート→ECCシステムからインポートするECCテーブルを入力(MARAはECCシステムのデフォルトテーブル)→インポート→テーブルを展開→MARA→データを右クリック データが表示される場合、データストア接続は問題ありません。

ここで、ターゲットシステムをHANAデータベースとして選択するには、新しいデータストアを作成します。 データストアの作成→データストア名SAP_HANA_TEST→データストアタイプ(データベース)→データベースタイプSAP HANA→データベースバージョンHANA1.x。

HANAシステムのHANAサーバー名、ユーザー名、パスワードを入力し、[OK]をクリックします。

新しいデータストアの作成

このデータストアはローカルオブジェクトライブラリに追加されます。 ソーステーブルからHANAデータベース内の特定のテーブルにデータを移動する場合は、テーブルを追加できます。 ターゲット表は、ソース表と同様のデータ型である必要があることに注意してください。

複製ジョブの作成

新規プロジェクトの作成→プロジェクト名の入力→プロジェクト名を右クリック→新規バッチジョブ→ジョブ名を入力。

複製ジョブの作成

右側のタブから、ワークフローを選択→ワークフロー名を入力→ダブルクリックしてバッチジョブの下に追加→データフローを入力→データフロー名を入力→ダブルクリックして、プロジェクトエリアの上部にあるすべて保存オプションを選択します

オブジェクトエリア

First Data Store ECC(MARA)から作業領域にテーブルをドラッグします。 それを選択し、右クリック→新規追加→テンプレートテーブルを使用して、HANA DBに同様のデータタイプの新しいテーブルを作成→テーブル名、データストアECC_HANA_TEST2を入力→所有者名(スキーマ名)→OK

テンプレートの作成

テーブルを前にドラッグして、両方のテーブルを接続し、すべて保存します。 バッチジョブに移動→右クリック→実行→はい→OK

SAP ECCテスト

レプリケーションジョブを実行すると、ジョブが正常に完了したことを確認するメッセージが表示されます。

HANA studioに移動し、スキーマを展開し、テーブルを開き、データを確認します。 これは、バッチジョブの手動実行です。

バッチジョブのスケジューリング

Data Services管理コンソールに移動して、バッチジョブをスケジュールすることもできます。 Data Services管理コンソールにログインします。

左側からリポジトリを選択→「バッチジョブ設定」タブに移動し、ジョブのリストが表示されます→スケジュールしたいジョブに対して→スケジュールの追加をクリックします→「スケジュール名」を入力し、(必要に応じて、[適用]をクリックします。

バッチジョブのスケジューリング

SAP HANA-ログベースのレプリケーション

これは、HANAシステムでのSybase Replicationとも呼ばれます。 このレプリケーション方法の主なコンポーネントは、SAPソースアプリケーションシステムの一部であるSybase Replication Agent、レプリケーションエージェント、およびSAP HANAシステムに実装されるSybase Replication Serverです。

ログベースのレプリケーション

Sybase Replicationメソッドの初期ロードは、SAP HANAのロードコントローラーによって開始され、管理者によってトリガーされます。 R3 Loadに通知して、初期ロードをHANAデータベースに転送します。 ソースシステムのR3ロードは、ソースシステムの選択したテーブルのデータをエクスポートし、このデータをHANAシステムのR3ロードコンポーネントに転送します。 ターゲットシステムのR3ロードにより、データがSAP HANAデータベースにインポートされます。

SAPホストエージェントは、ソースシステムと、ソースシステムの一部であるターゲットシステム間の認証を管理します。 Sybase Replication Agentは、初期ロード時にデータの変更を検出し、すべての変更が完了するようにします。 ソースシステムのテーブルのエントリの変更、更新、削除が行われると、テーブルログが作成されます。 このテーブルログは、ソースシステムからHANAデータベースにデータを移動します。

初期ロード後のデルタ複製

デルタレプリケーションは、初期ロードとレプリケーションが完了すると、ソースシステムのデータの変更をリアルタイムでキャプチャします。 上記の方法を使用して、ソースシステムのすべての変更がキャプチャされ、ソースシステムからHANAデータベースに複製されます。

この方法はSAP HANAレプリケーションの最初の製品の一部でしたが、ライセンスの問題と複雑さのために位置付け/サポートされなくなり、SLTも同じ機能を提供します。

注意-このメソッドは、データソースとしてのSAP ERPシステムとデータベースとしてのDB2のみをサポートします。

SAP HANA-DXCメソッド

直接抽出接続データ複製は、SAP HANAへの単純なHTTP(S)接続を介して、SAP Business Suiteシステムに組み込まれた既存の抽出、変換、およびロードメカニズムを再利用します。 これは、バッチ駆動型のデータ複製技術です。 これは、データ抽出の機能が制限された抽出、変換、およびロードの方法と見なされます。

DXCはバッチ駆動プロセスであり、多くの場合、DXCを一定の間隔で使用してデータを抽出するだけで十分です。 バッチジョブの実行間隔を設定できます。例:20分ごと。ほとんどの場合、特定の時間間隔でこれらのバッチジョブを使用してデータを抽出するだけで十分です。

DXCデータ複製の利点

  • この方法では、SAP HANAシステムランドスケープに追加のサーバーまたはアプリケーションは必要ありません。
  • DXCメソッドは、ソースシステムですべてのビジネス抽出ロジックを適用した後にデータがHANAに送信されるため、SAP HANAのデータモデリングの複雑さを軽減します。
  • SAP HANA実装プロジェクトのスケジュールをスピードアップします
  • SAP Business SuiteからSAP HANAに意味的に豊富なデータを提供します
  • SAP HANAへの単純なHTTP(S)接続を介して、SAP Business Suiteシステムに組み込まれた既存の独自の抽出、変換、およびロードメカニズムを再利用します。

DXCデータ複製の制限

  • データソースには、抽出、変換、および読み込みのための事前定義されたメカニズムが必要です。そうでない場合は、定義する必要があります。
  • 少なくともSP以下のNet Weaver 7.0以上に基づくBusiness Suite Systemが必要です:リリース700 SAPKW70021(2008年11月のSPスタック19)。

DXCデータ複製の構成

  • HANA Studioの[構成]タブでXS Engineサービスを有効にする*-システムのHANAスタジオの[管理者]タブに移動します。 [構成]→[xsengine.ini]に移動し、インスタンス値を1に設定します。

DXCデータ複製の設定

  • HANA StudioでICM Webディスパッチャーサービスを有効にする*-[設定]→[webdispatcher.ini]に移動し、インスタンス値を1に設定します。

ICM Webディスパッチャーサービスの有効化

HANAシステムでICM Webディスパッチャーサービスを有効にします。 Webディスパッチャは、HANAシステムでのデータの読み込みと読み込みにICMメソッドを使用します。

  • SAP HANA Direct Extractor接続のセットアップ*-DXCデリバリーユニットをSAP HANAにダウンロードします。/usr/sap/HDB/SYS/global/hdb/contentの場所にユニットをインポートできます。

SAP HANAコンテンツノードの[インポート]ダイアログを使用してユニットをインポートする→DXCを利用するようにXSアプリケーションサーバーを構成する→application_container値をlibxsdxcに変更する

  • SAP BWでのHTTP接続の作成*-トランザクションコードSM59を使用して、SAP BWでHTTP接続を作成する必要があります。

入力パラメータ-RFC接続の名前、HANAホスト名、および<インスタンス番号>を入力します

入力パラメータ

[ログオン]タブで、基本認証方法を使用してHANAスタジオで作成されたDXCユーザーを入力します-

セキュリティタブ

  • HANAのBWパラメータの設定*-トランザクションSE 38を使用してBWで次のパラメータを設定する必要があります。 パラメータリスト-

BWパラメータの設定

  • PSA_TO_HDB_DESTINATION -着信データ(SM 59を使用して作成された接続名)を移動する必要がある場所を指定する必要があります
  • PSA_TO_HDB_SCHEMA -複製されたデータを割り当てる必要があるスキーマ
  • PSA_TO_HDB -すべてのデータソースをHANAに複製するグローバル。 SYSTEM – DXCを使用するために指定されたクライアント。 DATASOURCE –指定されたデータソースのみが使用されます
  • PSA_TO_HDB_DATASOURCETABLE -DXCに使用されるデータソースのリストを持つテーブル名を指定する必要があります。

データソースの複製

RSA5を使用してECCにデータソースをインストールします。

指定されたアプリケーションコンポーネントを使用してメタデータを複製します(データソースバージョン7.0が必要です。3.5バージョンのデータソースがある場合は、それを移行する必要があります。 SAP BWでデータソースをアクティブにします。 SAP BWでデータソースをアクティブにすると、定義済みスキーマに次のテーブルが作成されます-

  • /BIC/A <データソース> 00 – IMDSOアクティブテーブル */BIC/A <データソース> 40 –IMDSOアクティベーションキュー */BIC/A <データソース> 70 –レコードモード処理テーブル */BIC/A <データソース> 80 –要求およびパケットID情報の表 */BIC/A <データソース> A0 –タイムスタンプテーブルのリクエスト * RSODSO_IMOLOG-IMDSO関連テーブル。 DXCに関連するすべてのデータソースに関する情報を格納します。

これで、データが有効化されると、テーブル/BIC/A0FI_AA_2000に正常にロードされます。

SAP HANA-CTLメソッド

[カタログ]タブで[SAP HANA Studio]→[スキーマの作成]を開きます。 <ここから始めます>

データを準備し、csv形式で保存します。 今、次の構文で「ctl」拡張子を持つファイルを作成します-

---------------------------------------
import data into table Schema."Table name"
from 'file.csv'
records delimited by '\n'
fields delimited by ','
Optionally enclosed by '"'
error log 'table.err'
-----------------------------------------

この「ctl」ファイルをFTPに転送し、このファイルを実行してデータをインポートします-

「table.ctl」からインポート

HANA Studio→カタログ→スキーマ→表→コンテンツの表示に移動して、表のデータを確認します

SAP HANA-MDXプロバイダー

MDXプロバイダーは、MS ExcelをSAP HANAデータベースシステムに接続するために使用されます。 HANAシステムをExcelに接続するドライバーを提供し、さらにデータモデリングに使用されます。 Microsoft Office Excel 2010/2013を使用して、32ビットと64ビットの両方のWindowsのHANAと接続できます。

SAP HANAは、SQLとMDXの両方のクエリ言語をサポートしています。 両方の言語を使用できます。SQLおよびODBOのJDBCとODBCは、MDX処理に使用されます。 Excel Pivotテーブルは、クエリ言語としてMDXを使用して、SAP HANAシステムからデータを読み取ります。 MDXは、MicrosoftのODBO(OLAPのOLE DB)仕様の一部として定義されており、データの選択、計算、レイアウトに使用されます。 MDXは多次元データモデルをサポートし、レポートと分析の要件をサポートします。

MDXプロバイダーを使用すると、SAPおよび非SAPレポートツールによってHANAスタジオで定義された情報ビューを使用できます。 既存の物理テーブルとスキーマは、情報モデルのデータ基盤を提供します。

MDXプロバイダー

接続するデータソースのリストからSAP HANA MDXプロバイダーを選択したら、ホスト名、インスタンス番号、ユーザー名、パスワードなどのHANAシステムの詳細を渡します。

データソース

接続が成功したら、パッケージ名→HANAモデリングビューを選択して、ピボットテーブルを生成できます。

データ接続ウィザード

MDXは、HANAデータベースに緊密に統合されています。 HANAデータベースの接続およびセッション管理は、HANAによって実行されるステートメントを処理します。 これらのステートメントが実行されると、MDXインターフェイスによって解析され、MDXステートメントごとに計算モデルが生成されます。 この計算モデルは、MDXの標準結果を生成する実行計画を作成します。 これらの結果は、OLAPクライアントによって直接消費されます。

HANAデータベースへのMDX接続を行うには、HANAクライアントツールが必要です。 このクライアントツールは、SAPマーケットプレイスからダウンロードできます。 HANAクライアントのインストールが完了すると、MS ExcelのデータソースのリストにSAP HANA MDXプロバイダーのオプションが表示されます。

SAP HANA-監視とアラート

SAP HANAアラート監視は、HANAシステムで実行されているシステムリソースとサービスのステータスを監視するために使用されます。 アラート監視は、CPU使用率、ディスクがいっぱい、FSがしきい値に達するなどの重要なアラートの処理に使用されます HANAシステムの監視コンポーネントは、HANAデータベースのすべてのコンポーネントの正常性、使用状況、パフォーマンスに関する情報を継続的に収集します。 コンポーネントのいずれかが設定されたしきい値に違反すると、アラートを生成します。

HANAシステムで発生したアラートの優先度は、問題の重大度を示し、コンポーネントで実行されるチェックに依存します。 例-CPU使用率が80%の場合、優先度の低いアラートが発生します。 ただし、96%に達すると、システムは優先度の高いアラートを生成します。

システムモニターは、HANAシステムを監視し、すべてのSAP HANAシステムコンポーネントの可用性を検証する最も一般的な方法です。 システムモニターは、HANAシステムのすべての主要なコンポーネントとサービスを確認するために使用されます。

システムモニター

管理エディターで個々のシステムの詳細にドリルダウンすることもできます。 データディスク、ログディスク、トレースディスク、リソースの使用に関するアラートを優先的に通知します。

HDB

管理者エディターの[アラート]タブは、HANAシステムの現在およびすべてのアラートを確認するために使用されます。

概要

また、アラートが発生した時間、アラートの説明、アラートの優先度などについても説明します。

SAP HANA監視ダッシュボードは、システムの健全性と構成の重要な側面を伝えます-

設定とモニタリング

  • 高および中優先度のアラート。
  • メモリとCPU使用率
  • データのバックアップ

SAP HANA-永続レイヤー

SAP HANAデータベース永続化レイヤーは、すべてのトランザクションのログを管理して、標準データのバックアップとシステムの復元機能を提供します。

再起動後、またはシステムがクラッシュし、トランザクションが完全にまたは完全に元に戻された後、データベースを最新のコミット状態に復元できるようにします。 SAP HANA Persistent Layerはインデックスサーバーの一部であり、HANAシステムのデータボリュームとトランザクションログボリュームがあり、メモリ内のデータはこれらのボリュームに定期的に保存されます。 HANAシステムには、独自の永続性を持つサービスがあります。 また、最後の保存ポイントからのすべてのデータベーストランザクションの保存ポイントとログも提供します。

SAP HANAデータベースに永続層が必要なのはなぜですか?

  • メインメモリは揮発性であるため、再起動中または停電中にデータが失われます。
  • データは永続的なメディアに保存する必要があります。
  • バックアップと復元が利用可能です。
  • 再起動後にデータベースが最新のコミット状態に復元され、トランザクションが完全に実行されるか、完全に取り消されることが保証されます。

データおよびトランザクションログボリューム

データベースは常に最新の状態に復元でき、データベース内のデータに対するこれらの変更が定期的にディスクにコピーされるようにします。 データの変更と特定のトランザクションイベントを含むログファイルも定期的にディスクに保存されます。 システムのデータとログはログボリュームに保存されます。

データボリュームには、SQLデータとUNDOログ情報、およびSAP HANA情報モデリングデータが格納されます。 この情報は、ブロックと呼ばれるデータページに保存されます。 これらのブロックは、一定の時間間隔でデータボリュームに書き込まれます。これは、セーブポイントと呼ばれます。

ログボリュームには、データの変更に関する情報が保存されます。 2つのログポイント間で行われた変更は、ログボリュームに書き込まれ、ログエントリと呼ばれます。 トランザクションがコミットされると、ログバッファに保存されます。

セーブポイント

SAP HANAデータベースでは、変更されたデータはメモリからディスクに自動的に保存されます。 これらの定期的な間隔はセーブポイントと呼ばれ、デフォルトでは5分ごとに発生するように設定されています。 SAP HANAデータベースの永続層は、これらのセーブポイントを定期的に実行します。 この操作中に、変更されたデータがディスクに書き込まれ、REDOログもディスクに保存されます。

セーブポイントに属するデータは、ディスク上のデータの一貫した状態を示し、次のセーブポイント操作が完了するまでそこに残ります。 再実行ログエントリは、永続データに対するすべての変更のログボリュームに書き込まれます。 データベースが再起動した場合、最後に完了したセーブポイントのデータをデータボリュームから読み取り、ログボリュームにREDOログエントリを書き込むことができます。

セーブポイントの頻度は、global.iniファイルで構成できます。 セーブポイントは、データベースのシャットダウンやシステムの再起動などの他の操作によって開始できます。 また、以下のコマンドを実行してセーブポイントを実行することができます-

ALTER System SAVEPOINT

データとREDOログをログボリュームに保存するには、これらをキャプチャするのに十分なディスクスペースがあることを確認する必要があります。そうしないと、システムはディスクフルイベントを発行し、データベースは動作を停止します。

HANAシステムのインストール中に、次のデフォルトディレクトリがデータボリュームとログボリュームの保存場所として作成されます-

  • /usr/sap/<SID>/SYS/global/hdb/data */usr/sap/<SID>/SYS/global/hdb/log

これらのディレクトリはglobal.iniファイルで定義されており、後の段階で変更できます。

セーブポイントは、HANAシステムで実行されるトランザクションのパフォーマンスに影響を与えないことに注意してください。 セーブポイント操作中、トランザクションは通常どおり実行され続けます。 HANAシステムが適切なハードウェア上で実行されている場合、システムのパフォーマンスに対するセーブポイントの影響は無視できます。

SAP HANA-バックアップとリカバリ

SAP HANAバックアップとリカバリは、データベースに障害が発生した場合にHANAシステムのバックアップとシステムのリカバリを実行するために使用されます。

概要タブ

現在実行中のデータバックアップと最後に成功したデータバックアップのステータスを示します。

概要タブ

[今すぐバックアップ]オプションを使用して、データバックアップウィザードを実行できます。

構成タブ

バックアップ間隔設定、ファイルベースのデータバックアップ設定、ログベースのデータバックアップ設定について説明します。

構成タブ

バックアップ間隔の設定

Backint設定には、データ用のサードパーティツールを使用し、バックアップエージェントの構成でバックアップするオプションがあります。

Backintエージェントのパラメーターファイルを指定して、サードパーティのバックアップツールへの接続を構成します。

バックアップ間隔設定

ファイルおよびログベースのデータバックアップ設定

ファイルベースのデータバックアップ設定は、HANAシステムでデータバックアップを保存するフォルダーを示します。 バックアップフォルダを変更できます。

データバックアップファイルのサイズを制限することもできます。 システムデータのバックアップがこの設定ファイルサイズを超えると、複数のファイルに分割されます。

バックアップ設定

ログバックアップ設定は、外部サーバーでログバックアップを保存する場所を宛先フォルダーに指示します。 ログバックアップの宛先タイプを選択できます

ファイル-システムにバックアップを保存するための十分なスペースを確保します

Backint-ファイルシステム上に存在する特別な名前付きパイプですが、ディスク領域を必要としません。

バックアップ間隔はドロップダウンから選択できます。 新しいログバックアップが書き​​込まれる前に経過できる最長時間を示します。 バックアップ間隔:秒、分、時間単位で指定できます。

自動ログバックアップオプションを有効にする:ログ領域を空けておくのに役立ちます。 このログ領域を無効にすると、引き続き領域がいっぱいになり、データベースがハングする可能性があります。

バックアップウィザードを開きます-システムのバックアップを実行します。

バックアップウィザードを使用して、バックアップ設定を指定します。 バックアップの種類、宛先の種類、バックアップの宛先フォルダ、バックアップのプレフィックス、バックアップのサイズなどを示します。

HDBのバックアップ(HANA)

[次へ]→[バックアップ設定の確認]→[完了]をクリックしたとき

システムHDBのバックアップ

システムバックアップを実行し、各サーバーのバックアップを完了する時間を通知します。

HANAシステムの回復

SAP HANAデータベースを回復するには、データベースをシャットダウンする必要があります。 したがって、リカバリ中、エンドユーザーまたはSAPアプリケーションはデータベースにアクセスできません。

次の状況では、SAP HANAデータベースの回復が必要です-

  • データ領域のディスクが使用できないか、ログ領域のディスクが使用できません。
  • 論理エラーの結果として、特定の時点でデータベースをその状態にリセットする必要があります。
  • データベースのコピーを作成します。

HANAシステムを回復する方法は?

HANAシステムを選択→右クリック→Back and Recovery→Recover System

ハナシステムの回復

HANAシステムでのリカバリーのタイプ

*Most Recent State* -現在の時間にできるだけ近い時間までデータベースを回復するために使用されます。 このリカバリでは、上記のタイプのリカバリを実行するために最後のデータバックアップとログ領域が必要なので、データバックアップとログバックアップが利用可能でなければなりません。

特定の時点-特定の時点までデータベースを回復するために使用されます。 このリカバリでは、上記のタイプのリカバリを実行するために最後のデータバックアップとログ領域が必要なので、データバックアップとログバックアップが利用可能でなければなりません。

特定のデータバックアップ-指定されたデータバックアップにデータベースを回復するために使用されます。 上記の種類の回復オプションには、特定のデータのバックアップが必要です。

特定のログ位置-この回復タイプは、以前の回復が失敗した例外的な場合に使用できる高度なオプションです。

注意-リカバリウィザードを実行するには、HANAシステムの管理者権限が必要です。

SAP HANA-高可用性

SAP HANAは、システム障害およびソフトウェアエラーのビジネス継続性と災害復旧のメカニズムを提供します。 HANAシステムの高可用性は、データセンターの停電などの災害、火災、洪水などの自然災害の場合にビジネスの継続性を実現するのに役立つ一連のプラクティスを定義します。 またはハードウェア障害。

SAP HANAの高可用性は、耐障害性を提供​​し、システムの機能損失を最小限に抑えて、システム停止後にシステム操作を再開できます。

次の図は、HANAシステムの高可用性のフェーズを示しています-

障害に備えて第1フェーズが準備されています。 障害は、自動的に、または管理アクションによって検出できます。 データがバックアップされ、スタンバイシステムが操作を引き継ぎます。 復旧プロセスには、障害のあるシステムと以前の構成に復元される元のシステムの修復が含まれます。

高可用性

HANAシステムで高可用性を実現するには、他のコンポーネントに障害が発生した場合に機能および使用する必要のない追加のコンポーネントを含めることが重要です。 ハードウェアの冗長性、ネットワークの冗長性、データセンターの冗長性が含まれます。 SAP HANAは、次のようにハードウェアとソフトウェアの冗長性のいくつかのレベルを提供します-

HANAシステムハードウェアの冗長性

SAP HANAアプライアンスベンダーは、冗長電源とファン、エラー修正メモリ、完全冗長ネットワークスイッチとルーター、無停電電源(UPS)など、冗長ハードウェア、ソフトウェア、ネットワークコンポーネントの複数のレイヤーを提供しています。 ディスクストレージシステムは、電源障害が発生した場合でも書き込みを保証し、ストライピングおよびミラーリング機能を使用して、ディスク障害からの自動回復の冗長性を提供します。

SAP HANAソフトウェアの冗長性

SAP HANAはSUSE Linux Enterprise 11 for SAPに基づいており、セキュリティの事前構成が含まれています。

SAP HANAシステムソフトウェアには、停止(キルまたはクラッシュ)が検出された場合に、構成されたサービス(インデックスサーバー、ネームサーバーなど)を自動的に再起動するウォッチドッグ機能が含まれています。

SAP HANAの永続性の冗長性

SAP HANAは、トランザクションログ、セーブポイント、スナップショットの永続性を提供し、システムの再起動と障害からの回復を、最小限の遅延で、データの損失なしにサポートします。

HANAシステムのスタンバイとフェールオーバー

SAP HANAシステムには、プライマリシステムに障害が発生した場合にフェールオーバーに使用される個別のスタンバイホストが含まれます。 これにより、停止からの回復時間が短縮されるため、HANAシステムの可用性が向上します。

SAP HANA-ログ構成

SAP HANAシステムは、アプリケーションデータまたはデータベースカタログを変更するすべてのトランザクションをログエントリに記録し、ログ領域に保存します。 ログ領域のこれらのログエントリを使用して、SQLステートメントをロールバックまたは繰り返します。 ログファイルはHANAシステムで利用でき、管理者エディターの診断ファイルページのHANAスタジオからアクセスできます。

ログ設定

ログバックアッププロセス中、ログセグメントの実際のデータのみがログ領域からサービス固有のログバックアップファイルまたはサードパーティのバックアップツールに書き込まれます。

システム障害の後、データベースを目的の状態に復元するために、ログバックアップからログエントリをやり直す必要がある場合があります。

永続性を備えたデータベースサービスが停止した場合、それが再起動されることを確認することが重要です。そうしないと、サービスが停止する前の時点までしか回復できません。

ログバックアップタイムアウトの構成

ログバックアップタイムアウトは、この間隔でコミットが行われた場合にログセグメントがバックアップされる間隔を決定します。 SAP HANAスタジオのバックアップコンソールを使用して、ログバックアップタイムアウトを設定できます-

構成ログバックアップタイムアウト

global.ini構成ファイルでlog_backup_timeout_s間隔を構成することもできます。

「ファイル」へのログバックアップおよびバックアップモード「通常」は、SAP HANAシステムのインストール後の自動ログバックアップ機能のデフォルト設定です。 自動ログバックアップは、少なくとも1つの完全なデータバックアップが実行された場合にのみ機能します。

最初の完全なデータバックアップが実行されると、自動ログバックアップ機能がアクティブになります。 SAP HANAスタジオを使用して、自動ログバックアップ機能を有効/無効にすることができます。 自動ログバックアップを有効にしておくことをお勧めします。有効にしないと、ログ領域が引き続きいっぱいになります。 ログ領域がいっぱいになると、HANAシステムでデータベースがフリーズする可能性があります。

ログバックアップ設定

global.ini構成ファイルのpersistenceセクションでenable_auto_log_backupパラメーターを変更することもできます。

SAP HANA-SQLの概要

SQLは、構造化照会言語の略です。

これは、データベースと通信するための標準化された言語です。 SQLは、データの取得、データベース内のデータの保存または操作に使用されます。

SQLステートメントは、次の機能を実行します-

  • データの定義と操作
  • システムマネジメント
  • セッション管理
  • トランザクション管理
  • スキーマの定義と操作

開発者がデータベースにデータをプッシュできるようにするSQL拡張機能のセットは、* SQLスクリプト*と呼ばれます。

データ操作言語(DML)

DMLステートメントは、スキーマオブジェクト内のデータを管理するために使用されます。 いくつかの例-

  • SELECT -データベースからデータを取得する
  • INSERT -データをテーブルに挿入します
  • UPDATE -テーブル内の既存のデータを更新します

データ定義言語(DDL)

DDLステートメントは、データベース構造またはスキーマを定義するために使用されます。 いくつかの例-

  • CREATE -データベースにオブジェクトを作成します
  • ALTER -データベースの構造を変更します
  • DROP -データベースからオブジェクトを削除する

データ制御言語(DCL)

DCLステートメントのいくつかの例は-

  • GRANT -データベースへのユーザーのアクセス権限を付与します
  • REVOKE -GRANTコマンドで与えられたアクセス権を撤回する

SQLが必要な理由

SAP HANA Modelerで情報ビューを作成するとき、一部のOLTPアプリケーションの上に作成します。 バックエンドのこれらはすべてSQLで実行されます。 データベースはこの言語のみを理解します。

レポートがビジネス要件を満たすかどうかをテストするには、出力が要件に従っている場合、データベースでSQLステートメントを実行する必要があります。

HANA計算ビューは、グラフィカルまたはSQLスクリプトを使用して、2つの方法で作成できます。 より複雑な計算ビューを作成する場合、直接SQLスクリプトを使用する必要があります。

HANA StudioでSQLコンソールを開く方法

HANAシステムを選択し、システムビューで[SQLコンソール]オプションをクリックします。 [カタログ]タブまたは任意のスキーマ名を右クリックして、SQLコンソールを開くこともできます。

SQLコンソール

SAP HANAは、リレーショナルデータベースとしてもOLAPデータベースとしても機能します。 HANAでBWを使用する場合、BWおよびHANAでキューブを作成します。これらはリレーショナルデータベースとして機能し、常にSQLステートメントを生成します。 ただし、OLAP接続を使用してHANAビューに直接アクセスすると、OLAPデータベースとして機能し、MDXが生成されます。

SAP HANA-データ型

テーブル作成オプションを使用して、SAP HANAで行または列ストアテーブルを作成できます。 テーブルを作成するには、データ定義create tableステートメントを実行するか、HANA studioのグ​​ラフィカルオプションを使用します。

テーブルを作成するときは、テーブル内の属性も定義する必要があります。

  • HANA Studio SQLコンソールでテーブルを作成するSQLステートメント*-
Create column Table TEST (
   ID INTEGER,
   NAME VARCHAR(10),
   PRIMARY KEY (ID)
);
  • GUIオプションを使用したHANAスタジオでのテーブルの作成*-

GUIオプション

テーブルを作成するときは、列の名前とSQLデータ型を定義する必要があります。 Dimensionフィールドは、値の長さと、それを主キーとして定義するKeyオプションを示します。

SAP HANAは、テーブル内の次のデータ型をサポートしています-

データ型

SAP HANAは7つのカテゴリのSQLデータ型をサポートしており、列に格納する必要があるデータの種類によって異なります。

  • 数値
  • 文字/文字列
  • ブール値
  • 日付時刻
  • バイナリ
  • ラージオブジェクト
  • 多値

次の表は、各カテゴリのデータ型のリストを示しています-

データ型カテゴリ

日付時刻

これらのデータ型は、HANAデータベースのテーブルに日付と時刻を格納するために使用されます。

  • DATE -データ型は年、月、日の情報で構成され、列の日付値を表します。 日付データ型のデフォルト形式はYYYY-MM-DDです。
  • TIME -データ型は、HANAデータベースのテーブルの時間、分、秒の値で構成されます。 時間データ型のデフォルト形式は、HH:MI:SSです。
  • SECOND DATE -データ型は、HANAデータベースのテーブルの年、月、日、時間、分、秒の値で構成されます。 SECONDDATEデータ型のデフォルト形式はYYYY-MM-DD HH:MM:SSです。
  • TIMESTAMP -データ型は、HANAデータベースのテーブルの日付と時刻の情報で構成されます。 TIMESTAMPデータ型のデフォルト形式はYYYY-MM-DD HH:MM:SS:FFnです。FFnは秒の小数部を表します。

数値

  • TinyINT -8ビットの符号なし整数を格納します。 最小値:0および最大値:255
  • SMALLINT -16ビット符号付き整数を格納します。 最小値:-32,768および最大値:32,767
  • 整数-32ビット符号付き整数を格納します。 最小値:-2,147,483,648および最大値:2,147,483,648
  • BIGINT -64ビット符号付き整数を格納します。 最小値:-9,223,372,036,854,775,808および最大値:9,223,372,036,854,775,808
  • SMALL -10進数および10進数:最小値:-10 ^ 38 +1および最大値:10 ^ 38 -1
  • REAL -最小値:-3.40E + 38および最大値:3.40E + 38
  • DOUBLE -64ビットの浮動小数点数を格納します。 最小値:-1.7976931348623157E308および最大値:1.7976931348623157E308

ブール値

ブールデータ型はブール値を格納します。ブール値はTRUE、FALSEです

キャラクター

  • Varchar -最大8000文字。
  • Nvarchar -最大4000文字
  • ALPHANUM -英数字を保存します。 整数の値は1〜127です。
  • SHORTTEXT -テキスト検索機能と文字列検索機能をサポートする可変長文字列を保存します。

バイナリ

バイナリタイプは、バイナリデータのバイトを格納するために使用されます。

*VARBINARY* -バイナリデータをバイト単位で保存します。 最大整数長は1〜5000です。

ラージオブジェクト

LARGEOBJECTSは、テキストドキュメントや画像などの大量のデータを格納するために使用されます。

  • NCLOB -大きなUNICODE文字オブジェクトを保存します。
  • BLOB -大量のバイナリデータを保存します。
  • CLOB -大量のASCII文字データを保存します。
  • TEXT -テキスト検索機能を有効にします。 このデータ型は、列ストアテーブルに対してのみ定義でき、行ストアテーブルに対しては定義できません。
  • BINTEXT -テキスト検索機能をサポートしていますが、バイナリデータを挿入することは可能です。

多値

複数値のデータ型は、同じデータ型の値のコレクションを保存するために使用されます。

アレイ

配列には、同じデータ型の値のコレクションが格納されます。 null値を含めることもできます。

SAP HANA-SQLオペレーター

演算子は、比較や算術演算などの操作を実行するために、主にSQL文でWHERE句とともに使用される特殊文字です。 SQLクエリで条件を渡すために使用されます。

以下に示す演算子タイプは、HANAのSQLステートメントで使用できます-

  • 算術演算子
  • 比較/関係演算子
  • 論理演算子
  • 集合演算子

算術演算子

算術演算子は、加算、減算、乗算、除算、パーセントなどの単純な計算機能を実行するために使用されます。

Operator Description
+ Addition − Adds values on either side of the operator
- Subtraction − Subtracts right hand operand from left hand operand
* Multiplication − Multiplies values on either side of the operator
/ Division − Divides left hand operand by right hand operand
% Modulus − Divides left hand operand by right hand operand and returns remainder

比較演算子

比較演算子は、SQLステートメントの値を比較するために使用されます。

Operator Description
= Checks if the values of two operands are equal or not, if yes then condition becomes true.
!= Checks if the values of two operands are equal or not, if values are not equal then condition becomes true.
<> Checks if the values of two operands are equal or not, if values are not equal then condition becomes true.
> Checks if the value of left operand is greater than the value of right operand, if yes then condition becomes true.
< Checks if the value of left operand is less than the value of right operand, if yes then condition becomes true.
>= Checks if the value of left operand is greater than or equal to the value of right operand, if yes then condition becomes true.
Checks if the value of left operand is less than or equal to the value of right operand, if yes then condition becomes true.
!< Checks if the value of left operand is not less than the value of right operand, if yes then condition becomes true.
!> Checks if the value of left operand is not greater than the value of right operand, if yes then condition becomes true.

論理演算子

論理演算子は、SQLステートメントで複数の条件を渡すために使用されるか、条件の結果を操作するために使用されます。

Operator Description
ALL The ALL Operator is used to compare a value to all values in another value set.
AND The AND operator allows the existence of multiple conditions in an SQL statement’s WHERE clause.
ANY The ANY operator is used to compare a value to any applicable value in the list according to the condition.
BETWEEN The BETWEEN operator is used to search for values that are within a set of values, given the minimum value and the maximum value.
EXISTS The EXISTS operator is used to search for the presence of a row in a specified table that meets certain criteria.
IN The IN operator is used to compare a value to a list of literal values that have been specified.
LIKE The LIKE operator is used to compare a value to similar values using wildcard operators.
NOT The NOT operator reverses the meaning of the logical operator with which it is used. Eg − NOT EXISTS, NOT BETWEEN, NOT IN, etc.* This is a negate operator*.
OR The OR operator is used to compare multiple conditions in an SQL statement’s WHERE clause.
IS NULL The NULL operator is used to compare a value with a NULL value.
UNIQUE The UNIQUE operator searches every row of a specified table for uniqueness (no duplicates).

集合演算子

集合演算子は、2つのクエリの結果を1つの結果に結合するために使用されます。 データ型は両方のテーブルで同じである必要があります。

  • UNION -2つ以上のSelectステートメントの結果を結合します。 ただし、重複する行は削除されます。
  • UNION ALL -この演算子はUnionに似ていますが、重複行も表示します。
  • INTERSECT -交差操作は、2つのSELECTステートメントを結合するために使用され、両方のSELECTステートメントに共通するレコードを返します。 Intersectの場合、列とデータ型の数は両方のテーブルで同じでなければなりません。
  • MINUS -マイナス演算は、2つのSELECTステートメントの結果を結合し、結果の最初のセットに属し、最初の出力から2番目のステートメントの行を削除する結果のみを返します。

SAP HANA-SQL関数

SAP HANAデータベースによって提供されるさまざまなSQL関数があります-

  • 数値関数
  • 文字列関数
  • フルテキスト関数
  • 日時関数
  • 集約関数
  • データ型変換関数
  • ウィンドウ関数
  • シリーズデータ関数
  • その他の機能

数値関数

これらはSQLの組み込み数値関数であり、スクリプトで使用します。 数値または数値文字を含む文字列を取り、数値を返します。

  • ABS -数値引数の絶対値を返します。
Example − SELECT ABS (-1) "abs" FROM TEST;
abs
1

ACOS、ASIN、ATAN、ATAN2(これらの関数は、引数の三角関数値を返します)

  • BINTOHEX -バイナリ値を16進値に変換します。
  • BITAND -渡された引数のビットに対してAND演算を実行します。
  • BITCOUNT -引数の設定ビット数のカウントを実行します。
  • BITNOT -引数のビットに対してビット単位のNOT演算を実行します。
  • BITOR -渡された引数のビットに対してOR演算を実行します。
  • BITSET -<start_bit>位置から<target_num>のビットを1に設定するために使用されます。
  • BITUNSET -<start_bit>位置から<target_num>のビットを0に設定するために使用されます。
  • BITXOR -渡された引数のビットに対してXOR演算を実行します。
  • CEIL -渡された値以上の最初の整数を返します。
  • COS、COSH、COT((これらの関数は引数の三角関数値を返します)
  • EXP -自然対数eの底を渡された値で累乗した結果を返します。
  • FLOOR -数値引数よりも大きくない最大の整数を返します。
  • HEXTOBIN -16進値を2進値に変換します。
  • LN -引数の自然対数を返します。
  • LOG -渡された正の値のアルゴリズム値を返します。 ベース値とログ値の両方が正でなければなりません。

他のさまざまな数値関数も使用できます-MOD、POWER、RAND、ROUND、SIGN、SIN、SINH、SQRT、TAN、TANH、UMINUS

文字列関数

HANAでは、SQLスクリプトを使用してさまざまなSQL文字列関数を使用できます。 最も一般的な文字列関数は-

  • ASCII -渡された文字列の整数ASCII値を返します。
  • CHAR -渡されたASCII値に関連付けられた文字を返します。
  • CONCAT -連結演算子であり、渡された結合文字列を返します。
  • LCASE -文字列のすべての文字を小文字に変換します。
  • LEFT -指定された値に従って、渡された文字列の最初の文字を返します。
  • LENGTH -渡された文字列の文字数を返します。
  • LOCATE -渡された文字列内の部分文字列の位置を返します。
  • LOWER -文字列内のすべての文字を小文字に変換します。
  • NCHAR -渡された整数値でUnicode文字を返します。
  • REPLACE -渡された元の文字列で検索文字列のすべての出現を検索し、それらを置換文字列で置き換えます。
  • RIGHT -指定された文字列の右端に渡された値の文字を返します。
  • UPPER -渡された文字列のすべての文字を大文字に変換します。
  • UCASE -UPPER関数と同じです。 渡された文字列のすべての文字を大文字に変換します。

使用できる他の文字列関数は-LPAD、LTRIM、RTRIM、STRTOBIN、SUBSTR_AFTER、SUBSTR_BEFORE、SUBSTRING、TRIM、UNICODE、RPAD、BINTOSTRです。

日時関数

SQLスクリプトのHANAで使用できるさまざまな日時関数があります。 最も一般的な日付時刻関数は-

  • CURRENT_DATE -現在のローカルシステムの日付を返します。
  • CURRENT_TIME -現在のローカルシステム時刻を返します。
  • CURRENT_TIMESTAMP -現在のローカルシステムのタイムスタンプの詳細(YYYY-MM-DD HH:MM:SS:FF)を返します。
  • CURRENT_UTCDATE -現在のUTC(グリニッジ標準日)日付を返します。
  • CURRENT_UTCTIME -現在のUTC(グリニッジ標準時)時間を返します。
  • CURRENT_UTCTIMESTAMP
  • DAYOFMONTH -引数に渡された日付の日の整数値を返します。
  • HOUR -引数で渡された時間の時間の整数値を返します。
  • YEAR -渡された日付の年の値を返します。

その他の日付時刻関数は、− DAYOFYEAR、DAYNAME、DAYS_BETWEEN、EXTRACT、NANO100_BETWEEN、NEXT_DAY、NOW、QUARTER、SECOND、SECONDS_BETWEEN、UTCTOLOCAL、WEEK、WEEKDAY、WORKDAYS_BETWEEN、MONWE、LAST_DAY、MONT、MONTH、MONTH、MONTH、LAST_DAY、MONTH、MONTH、MONTH ADD_SECONDS、ADD_WORKDAYS

データ型変換関数

これらの関数は、あるデータ型を別のデータ型に変換したり、変換が可能かどうかをチェックしたりするために使用されます。

SQLスクリプトのHANAで使用される最も一般的なデータ型変換関数-

  • CAST -指定されたデータ型に変換された式の値を返します。
  • TO_ALPHANUM -渡された値をALPHANUMデータ型に変換します
  • TO_REAL -値をREALデータ型に変換します。
  • TO_TIME -渡された時間文字列をTIMEデータ型に変換します。
  • TO_CLOB -値をCLOBデータ型に変換します。

他の同様のデータ型変換関数は次のとおりです-TO_BIGINT、TO_BINARY、TO_BLOB、TO_DATE、TO_DATS、TO_DECIMAL、TO_DOUBLE、TO_FIXEDCHAR、TO_INT、TO_INTEGER、TO_NCLOB、TO_NVARCHAR、TO_TIMESTAMP、TO_TINYINT、TO_VARCHAR、TO_SECONDEDATE、TO_ALL

HANA SQLスクリプトで使用できるさまざまなWindowsおよびその他の関数もあります。

  • Current_Schema -現在のスキーマ名を含む文字列を返します。
  • Session_User -現在のセッションのユーザー名を返します

SAP HANA-SQL式

式は、値を返す句を評価するために使用されます。 HANAで使用できるさまざまなSQL式があります-

  • ケース表現
  • 関数式
  • 集計式
  • 式のサブクエリ

ケース表現

これは、SQL式で複数の条件を渡すために使用されます。 SQLステートメントでプロシージャーを使用せずにIF-ELSE-THENロジックを使用できます。

SELECT COUNT( CASE WHEN sal < 2000 THEN 1 ELSE NULL END ) count1,
COUNT( CASE WHEN sal BETWEEN 2001 AND 4000 THEN 1 ELSE NULL END ) count2,
COUNT( CASE WHEN sal > 4000 THEN 1 ELSE NULL END ) count3 FROM emp;

このステートメントは、渡された条件ごとに整数値を持つcount1、count2、count3を返します。

関数式

関数式には、式で使用されるSQL組み込み関数が含まれます。

集計式

集計関数は、合計、パーセント、最小、最大、カウント、モード、中央値などの複雑な計算を実行するために使用されます。 集計式は集計関数を使用して、複数の値から単一の値を計算します。

集計関数-合計、カウント、最小、最大。 これらはメジャー値(ファクト)に適用され、常にディメンションに関連付けられます。

一般的な集約関数は次のとおりです-

  • 平均()
  • カウント ()
  • 最大()
  • 中央値()
  • 最小()
  • モード()
  • 合計()

式のサブクエリ

式としてのサブクエリはSelectステートメントです。 式で使用される場合、ゼロまたは単一の値を返します。

サブクエリは、取得するデータをさらに制限する条件としてメインクエリで使用されるデータを返すために使用されます。

サブクエリは、=、<、>、> =、⇐、IN、BETWEENなどの演算子とともにSELECT、INSERT、UPDATE、およびDELETEステートメントで使用できます。

サブクエリが従わなければならないいくつかのルールがあります-

  • サブクエリは括弧で囲む必要があります。
  • サブクエリは、選択された列を比較するサブクエリのメインクエリに複数の列がある場合を除き、SELECT句に1つの列しか含めることができません。
  • メインクエリはORDER BYを使用できますが、ORDER BYはサブクエリでは使用できません。 GROUP BYを使用して、サブクエリのORDER BYと同じ機能を実行できます。
  • 複数の行を返すサブクエリは、IN演算子などの複数の値演算子でのみ使用できます。
  • SELECTリストには、BLOB、ARRAY、CLOB、またはNCLOBに評価される値への参照を含めることはできません。
  • サブクエリをすぐにセット関数に含めることはできません。 *BETWEEN演算子は、サブクエリでは使用できません。ただし、BETWEEN演算子はサブクエリ内で使用できます。

SELECTステートメントを使用したサブクエリ

サブクエリは、SELECTステートメントで最も頻繁に使用されます。 基本的な構文は次のとおりです-

SELECT* FROM CUSTOMERS
WHERE ID IN (SELECT ID
FROM CUSTOMERS
WHERE SALARY > 4500) ;
+----+----------+-----+---------+----------+
| ID | NAME     | AGE | ADDRESS | SALARY   |
+----+----------+-----+---------+----------+
| 4  | Chaitali | 25  | Mumbai  | 6500.00  |
| 5  | Hardik   | 27  | Bhopal  | 8500.00  |
| 7  | Muffy    | 24  | Indore  | 10000.00 |
+----+----------+-----+---------+----------+

SAP HANA-SQLストアドプロシージャ

プロシージャを使用すると、SQLステートメントを1つのブロックにグループ化できます。 ストアドプロシージャは、アプリケーション全体で特定の結果を得るために使用されます。 特定のタスクを実行するために使用されるSQLステートメントとロジックのセットは、SQLストアドプロシージャに格納されます。 これらのストアドプロシージャは、そのタスクを実行するためにアプリケーションによって実行されます。

ストアドプロシージャは、出力パラメーター(整数または文字)またはカーソル変数の形式でデータを返すことができます。 また、他のストアドプロシージャで使用されるSelectステートメントのセットになることもあります。

ストアドプロシージャは一連のSQLステートメントを含み、1つのステートメントセットからの結果が実行される次のステートメントセットを決定するため、パフォーマンスの最適化にも使用されます。 ストアドプロシージャにより、ユーザーはデータベース内のテーブルの複雑さと詳細を確認できなくなります。 ストアドプロシージャには特定のビジネスロジックが含まれているため、ユーザーはプロシージャ名を実行または呼び出す必要があります。

個々のステートメントを再発行し続ける必要はありませんが、データベースプロシージャを参照できます。

プロシージャを作成するサンプルステートメント

Create procedure prc_name (in inp integer, out opt "EFASION"."ARTICLE_LOOKUP")
as
begin
opt = select * from "EFASION"."ARTICLE_LOOKUP" where article_id = :inp ;
end;

SAP HANA-SQLシーケンス

シーケンスは、1、2、3の整数のセットであり、オンデマンドで順番に生成されます。 多くのアプリケーションではテーブルの各行に一意の値を含める必要があるため、シーケンスはデータベースで頻繁に使用され、シーケンスを使用すると簡単に生成できます。

AUTO_INCREMENTカラムを使用する

MySQLでシーケンスを使用する最も簡単な方法は、列をAUTO_INCREMENTとして定義し、残りをMySQLに任せることです。

次の例を試してください。 これによりテーブルが作成され、その後、MySQLによって自動インクリメントされるためレコードIDを提供する必要がないこのテーブルにいくつかの行が挿入されます。

mysql> CREATE TABLE INSECT
   -> (
   -> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
   -> PRIMARY KEY (id),
   -> name VARCHAR(30) NOT NULL, # type of insect
   -> date DATE NOT NULL, # date collected
   -> origin VARCHAR(30) NOT NULL # where collected
);

Query OK, 0 rows affected (0.02 sec)

mysql> INSERT INTO INSECT (id,name,date,origin) VALUES
   -> (NULL,'housefly','2001-09-10','kitchen'),
   -> (NULL,'millipede','2001-09-10','driveway'),
   -> (NULL,'grasshopper','2001-09-10','front yard');

Query OK, 3 rows affected (0.02 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql> SELECT * FROM INSECT ORDER BY id;
+----+-------------+------------+------------+
| id | name        | date       | origin     |
+----+-------------+------------+------------+
| 1  | housefly    | 2001-09-10 | kitchen    |
| 2  | millipede   | 2001-09-10 | driveway   |
| 3  | grasshopper | 2001-09-10 | front yard |
+----+-------------+------------+------------+
3 rows in set (0.00 sec)

AUTO_INCREMENT値を取得

LAST_INSERT_ID()はSQL関数であるため、SQLステートメントの発行方法を理解している任意のクライアント内から使用できます。 それ以外の場合、PERLおよびPHPスクリプトは、最後のレコードの自動インクリメント値を取得するための排他的な関数を提供します。

PERLの例

mysql_insertid属性を使用して、クエリによって生成されたAUTO_INCREMENT値を取得します。 この属性は、クエリの発行方法に応じて、データベースハンドルまたはステートメントハンドルを介してアクセスされます。 次の例は、データベースハンドルを介してそれを参照します-

$dbh->do ("INSERT INTO INSECT (name,date,origin)
VALUES('moth','2001-09-14','windowsill')");
my $seq = $dbh->{mysql_insertid};

PHPの例

AUTO_INCREMENT値を生成するクエリを発行した後、mysql_insert_id()を呼び出して値を取得します-

mysql_query ("INSERT INTO INSECT (name,date,origin)
VALUES('moth','2001-09-14','windowsill')", $conn_id);
$seq = mysql_insert_id ($conn_id);

既存のシーケンスの番号を付け直す

テーブルから多くのレコードを削除し、すべてのレコードの順序を変更したい場合があります。 これは簡単なトリックを使用して実行できますが、テーブルが他のテーブルと結合している場合は、慎重に行う必要があります。

AUTO_INCREMENTカラムの順序変更が避けられないと判断した場合、それを行う方法はテーブルからカラムを削除してから再度追加することです。 次の例は、この手法を使用して昆虫テーブルのID値に番号を付け直す方法を示しています-

mysql> ALTER TABLE INSECT DROP id;
mysql> ALTER TABLE insect
   -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST,
   -> ADD PRIMARY KEY (id);

特定の値でシーケンスを開始する

デフォルトでは、MySQLはシーケンスを1から開始しますが、テーブルの作成時に他の番号も指定できます。 以下は、MySQLが100からシーケンスを開始する例です。

mysql> CREATE TABLE INSECT
   -> (
   -> id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100,
   -> PRIMARY KEY (id),
   -> name VARCHAR(30) NOT NULL, # type of insect
   -> date DATE NOT NULL, # date collected
   -> origin VARCHAR(30) NOT NULL # where collected
);

または、テーブルを作成してから、ALTER TABLEで初期シーケンス値を設定できます。

SAP HANA-SQLトリガー

トリガーは保存されたプログラムで、イベントが発生すると自動的に実行または起動されます。 トリガーは、実際には、次のイベントのいずれかに応答して実行されるように書かれています-

  • データベース操作(DML)ステートメント(DELETE、INSERT、またはUPDATE)。
  • データベース定義(DDL)ステートメント(CREATE、ALTER、またはDROP)。
  • データベース操作(SERVERERROR、LOGON、LOGOFF、STARTUP、またはSHUTDOWN)。

トリガーは、イベントが関連付けられているテーブル、ビュー、スキーマ、またはデータベースで定義できます。

トリガーの利点

トリガーは、次の目的のために書くことができます-

  • いくつかの派生列値を自動的に生成する
  • 参照整合性の強制
  • イベントログとテーブルアクセスに関する情報の保存
  • 監査
  • テーブルの同期複製
  • セキュリティ許可を課す
  • 無効なトランザクションの防止

SAP HANA-SQLシノニム

SQLシノニムは、データベース内のテーブルまたはスキーマオブジェクトのエイリアスです。 これらは、オブジェクトの名前または場所に加えられた変更からクライアントアプリケーションを保護するために使用されます。

シノニムを使用すると、表を所有するユーザーと、表またはオブジェクトを保持するデータベースに関係なく、アプリケーションが機能できます。

シノニムの作成ステートメントを使用して、テーブル、ビュー、パッケージ、プロシージャ、オブジェクトなどのシノニムを作成します。

Server1にあるefashionのCustomerテーブルがあります。 Server2からこれにアクセスするには、クライアントアプリケーションはServer1.efashion.Customerとして名前を使用する必要があります。 次に、Customerテーブルの場所を変更します。変更を反映するには、クライアントアプリケーションを変更する必要があります。

これらに対処するために、Server1上のテーブルに対して、Server2上のCustomerテーブルCust_Tableのシノニムを作成できます。 そのため、クライアントアプリケーションは、このテーブルを参照するために単一部分の名前Cust_Tableを使用する必要があります。 このテーブルの場所が変更された場合、テーブルの新しい場所を指すようにシノニムを変更する必要があります。

ALTER SYNONYMステートメントがないため、シノニムCust_Tableを削除し、同じ名前でシノニムを再作成して、シノニムがCustomerテーブルの新しい場所を指すようにする必要があります。

パブリックシノニム

パブリックシノニムは、データベース内のPUBLICスキーマによって所有されています。 パブリックシノニムは、データベース内のすべてのユーザーが参照できます。 これらは、アプリケーション所有者がテーブルおよびプロシージャやパッケージなどの他のオブジェクト用に作成するため、アプリケーションのユーザーはオブジェクトを見ることができます。

構文

CREATE PUBLIC SYNONYM Cust_table for efashion.Customer;

PUBLICシノニムを作成するには、示されているようにキーワードPUBLICを使用する必要があります。

プライベートシノニム

プライベートシノニムは、データベーススキーマで使用され、テーブル、プロシージャ、ビュー、またはその他のデータベースオブジェクトの本当の名前を隠します。

プライベートシノニムは、テーブルまたはオブジェクトを所有するスキーマによってのみ参照できます。

構文

CREATE SYNONYM Cust_table FOR efashion.Customer;

シノニムを削除する

シノニムはDROP Synonymコマンドを使用して削除できます。 パブリックシノニムを削除する場合は、dropステートメントでキーワード public を使用する必要があります。

構文

DROP PUBLIC Synonym Cust_table;
DROP Synonym Cust_table;

SAP HANA-SQL Explain Plan

SQL EXPLAIN PLANは、SQLステートメントの詳細な説明を生成するために使用されます。 これらは、SAP HANAデータベースがSQLステートメントを実行するために従う実行計画を評価するために使用されます。

EXPLAIN PLANの結果は、評価のためにEXPLAIN_PLAN_TABLEに格納されます。 Explain Planを使用するには、渡されるSQLクエリがデータ操作言語(DML)である必要があります。

一般的なDMLステートメント

  • SELECT -データベースからデータを取得する
  • INSERT -データをテーブルに挿入します
  • UPDATE -テーブル内の既存のデータを更新します

SQL Explain Planは、DDLおよびDCL SQLステートメントでは使用できません。

データベースのEXPLAIN PLAN TABLE

データベースのEXPLAIN PLAN_TABLEは複数の列で構成されます。 いくつかの一般的な列名-OPERATOR_NAME、OPERATOR_ID、PARENT_OPERATOR_ID、LEVEL、POSITIONなど。

COLUMN SEARCH値は、列エンジン演算子の開始位置を示します。

ROW SEARCH値は、行エンジンオペレーターの開始位置を示します。

SQLクエリのEXPLAIN PLAN STATEMENTを作成するには

EXPLAIN PLAN SET STATEMENT_NAME = ‘statement_name’ FOR <SQL DML statement>

EXPLAIN PLAN TABLEの値を表示するには

SELECT Operator_Name, Operator_ID
FROM explain_plan_table
WHERE statement_name = 'statement_name';

EXPLAIN PLAN TABLEのステートメントを削除するには

DELETE FROM explain_plan_table WHERE statement_name = 'TPC-H Q10';

SAP HANA-SQLデータプロファイリング

SQL Data Profilingタスクは、複数のデータソースからのデータを理解および分析するために使用されます。 誤った不完全なデータを削除し、データウェアハウスにロードされる前にデータ品質の問題を防ぐために使用されます。

ここにSQLデータプロファイリングタスクの利点があります-

  • ソースデータをより効果的に分析するのに役立ちます。
  • ソースデータをよりよく理解するのに役立ちます。
  • 不正確で不完全なデータを削除し、データウェアハウスにロードする前にデータ品質を向上させます。
  • 抽出、変換、および読み込みタスクで使用されます。

データプロファイリングタスクは、データソースを理解し、修正が必要なデータの問題を特定するのに役立つプロファイルをチェックします。

Integration Servicesパッケージ内のデータプロファイリングタスクを使用して、SQL Serverに格納されているデータのプロファイルを作成し、データ品質に関する潜在的な問題を特定できます。

-データプロファイリングタスクはSQL Serverデータソースでのみ機能し、他のファイルベースまたはサードパーティのデータソースをサポートしません。

アクセス要件

データプロファイリングタスクを含むパッケージを実行するには、ユーザーアカウントにtempdbデータベースに対するCREATE TABLE権限を持つ読み取り/書き込み権限が必要です。

データプロファイラービューアー

Data Profile Viewerは、プロファイラーの出力を確認するために使用されます。 データプロファイルビューアは、プロファイル出力で特定されたデータ品質の問題を理解するのに役立つドリルダウン機能もサポートしています。 このドリルダウン機能は、元のデータソースにライブクエリを送信します。

データプロファイリングタスクのセットアップと確認

データプロファイリングタスクのセットアップ

これには、プロファイルを計算するためのデータプロファイリングタスクを含むパッケージの実行が含まれます。 タスクは、出力をXML形式でファイルまたはパッケージ変数に保存します。

プロファイルの確認

データプロファイルを表示するには、出力をファイルに送信してから、データプロファイルビューアーを使用します。 このビューアは、オプションのドリルダウン機能を備えた概要および詳細形式の両方でプロファイル出力を表示するスタンドアロンユーティリティです。

データプロファイリング-構成オプション

データプロファイリングタスクには、これらの便利な構成オプションがあります-

ワイルドカード列

プロファイルリクエストの設定中、タスクは列名の代わりに「*」ワイルドカードを受け入れます。 これにより、構成が簡素化され、見慣れないデータの特性を見つけやすくなります。 タスクが実行されると、タスクは適切なデータ型を持つすべての列のプロファイルを作成します。

クイックプロファイル

[クイックプロファイル]を選択して、タスクをすばやく構成できます。 クイックプロファイルは、すべてのデフォルトのプロファイルと設定を使用して、テーブルまたはビューのプロファイルを作成します。

データプロファイリングタスクは、8つの異なるデータプロファイルを計算できます。 これらのプロファイルのうち5つは個々の列をチェックし、残りの3つは複数列または列間の関係を分析します。

データプロファイリング-タスク出力

データプロファイリングタスクは、選択したプロファイルをDataProfile.xsdスキーマのような構造のXML形式に出力します。

スキーマのローカルコピーを保存し、Microsoft Visual Studioまたは別のスキーマエディター、XMLエディター、またはメモ帳などのテキストエディターでスキーマのローカルコピーを表示できます。

SAP HANA-SQLスクリプト

開発者が複雑なロジックをデータベースに渡すことができるHANAデータベースのSQLステートメントのセットは、SQLスクリプトと呼ばれます。 SQLスクリプトは、SQL拡張機能のコレクションとして知られています。 これらの拡張機能は、データ拡張機能、関数拡張機能、およびプロシージャ拡張機能です。

SQLスクリプトはストアドファンクションとプロシージャをサポートしており、アプリケーションロジックの複雑な部分をデータベースにプッシュできます。

SQLスクリプトを使用する主な利点は、SAP HANAデータベース内で複雑な計算を実行できることです。 単一のクエリの代わりにSQLスクリプトを使用すると、関数は複数の値を返すことができます。 複雑なSQL関数は、さらに小さな関数に分解できます。 SQLスクリプトは、単一のSQLステートメントでは使用できない制御ロジックを提供します。

SQLスクリプト

SQLスクリプトは、DB層でスクリプトを実行することにより、HANAでパフォーマンスの最適化を実現するために使用されます-

  • データベース層でSQLスクリプトを実行することにより、データベースからアプリケーションに大量のデータを転送する必要がなくなります。
  • 計算はデータベースレイヤーで実行され、列操作、クエリの並列処理などのHANAデータベースの利点が得られます。

情報モデラーとの統合

情報モデラーでSQLスクリプトを使用している間、以下に示す手順に適用されます-

  • 入力パラメーターは、スカラーまたは表タイプにすることができます。
  • 出力パラメーターはテーブル型である必要があります。
  • 署名に必要なテーブルタイプは自動的に生成されます。

計算ビューを使用したSQLスクリプト

SQLスクリプトは、スクリプトベースの計算ビューを作成するために使用されます。 既存の生のテーブルまたは列ストアに対してSQLステートメントを入力します。 出力構造を定義し、ビューをアクティブ化すると、構造ごとにテーブルタイプが作成されます。

SQLスクリプトを使用して計算ビューを作成する方法は?

  • SAP HANAスタジオを起動します*。 コンテンツノードを展開し、新しい計算ビューを作成するパッケージを選択します。 右クリック→新しい計算ビューナビゲーションパスの終わり→名前と説明を入力します。

SAP HANA Studioの起動

計算ビューのタイプを選択→タイプドロップダウンリストから、SQLビュー→計算ビューの出力パラメーターの命名規則の必要性に基づいて、パラメーターの大文字と小文字の区別をTrueまたはFalseに設定→完了を選択します。

計算ビュータイプの選択

デフォルトスキーマの選択-セマンティクスノードを選択→[ビュープロパティ]タブを選択→[デフォルトスキーマ]ドロップダウンリストで、デフォルトスキーマを選択します。

デフォルトスキーマの選択

  • SemanticsノードでSQL Scriptノードを選択します*→出力構造を定義します。 出力ペインで、[ターゲットの作成]を選択します。 必要な出力パラメーターを追加し、その長さとタイプを指定します。

セマンティクスノード

既存の情報ビューまたはカタログテーブルまたはテーブル関数の一部である複数の列をスクリプトベースの計算ビューの出力構造に追加するには-

出力ペインで、ナビゲーションパスの開始新規次のナビゲーションステップナビゲーションパスの終了から列を追加→出力に追加する列を含むオブジェクトの名前を選択→ドロップダウンリストから1つ以上のオブジェクトを選択→次を選択します。

[ソース]ペインで、出力に追加する列を選択します。→選択した列を出力に追加するには、それらの列を選択して[追加]を選択します。 オブジェクトのすべての列を出力に追加するには、オブジェクトを選択して、追加→終了を選択します。

スクリプトベースの計算ビューをアクティブ化-SAP HANA Modelerパースペクティブで-保存およびアクティブ化-現在のビューをアクティブ化し、影響を受けるオブジェクトのアクティブなバージョンが存在する場合、影響を受けるオブジェクトを再デプロイします。 それ以外の場合、現在のビューのみがアクティブになります。

すべてを保存してアクティブ化-必要なオブジェクトおよび影響を受けるオブジェクトとともに現在のビューをアクティブ化します。

  • SAP HANA開発パースペクティブ*-プロジェクトエクスプローラービューで、必要なオブジェクトを選択します。 コンテキストメニューで、ナビゲーションパスの開始チーム次のナビゲーションステップ有効化ナビゲーションパスの終了を選択します。

HANA Information ModelerのSQLスクリプトは、GUIオプションを使用して作成できない複雑な計算ビューを作成するために使用されます。 Sap-hana-questions-answers