Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Sawa_Ito
Product and Topic Expert
Product and Topic Expert
0 Kudos

このブログは、2022 年 2 月 21 日に SAP ジャパン公式ブログに掲載されたものを SAP ジャパン公式ブログ閉鎖に伴い転載したものです。




このブログは、 Roland Kramer が執筆したブログ 「SAP (Sybase) IQ – the hidden treasure …」(2022 年 9 月 20 日更新版) の抄訳です。またこちらの更新版です。

オリジナルは更新されている可能性がありますのでご確認ください。

文中のヘルプマニュアルへのリンクは日本語のマニュアルへリンクしています。最新の情報は上部のプルダウンメニューより最新版を選択してください。




 

本ブログコンテンツ



 

 

 

 

 

 

 

 

 



 

 


 

 

SAP データ値の式


 

sap.com 製品ページ:データ管理戦略のための Sybase 製品

FAQ – SAP® Adaptive Server Enterprise および SAP IQ ソフトウェア: 次世代
ブログ –
 次世代の SAP Adaptive Server Enterprise (SAP ASE) および SAP IQ
ブログ –  次の章: データをスーパーパワーに変える
LinkedIn –
オンプレミスの SAP IQ 顧客に対する SAP の取り組み(2020 年 5 月)

 


Sybase IQは2013年に他のデータベースASE、Replication Server(REP)、イベントストリーミングプラットフォームなどとともにSAPに吸収されました。
SAP IQの概要についてはこちらをご参照ください。

 

SAP IQ の利用を開始する







 

 

 

SAP IQの主な利用ケース


SAP Information Lifecycle Management (ILM) –SAP IQを利用したSAP Information Lifecycle Management(ILM)



 

 

 

 

SAP nearline storage for BW (NLS) – 全ての SAP BW、SAP BW/4HANA リリースの SAP ニアラインストレージ(NLS)ソリューション – SAP IQ



 

 

 

インターナル データレイクとしてのSAP IQデータベース

テーブル機能 V2 を備えた DI パイプライン


 

SAP オンラインヘルプ: SAP Data Intelligence – サポートされている接続タイプ – Table Producer V2 (new with DI 3.2)(英語)




プライマリ(主系)データベース(HANAに限定されません)から古くなったヒストリカルデータを移動する標準的な方法に関して言えば、SAP IQを使用したニアラインストレージ(NLS)の実装は、すべてのSAPのお客様にとってデファクトスタンダードと言えます。

残念なことに、過去数年間、SAP IQの主な機能は「SAP HANAの壁」の背後に隠れていたため、SAPの多くのお客様はSAP IQ を非常に特別なものにしているその独自の機能性をご存知ありません。
SAP IQの機能的な最大制限値もまたその1つで大規模システムにたいへん有効です。

SAP IQがブラックボックスまたは、未知のものとして扱われている最大の理由は、インストールがまだソフトウェアプロビジョニングマネージャー(SWPM)に統合されていないからかもしれません(Dynamic Tieringがあまり使われていないことを思い出してください)。

このギャップは、SAP IQの簡単なインストーラである「Q」(SAP Hostagentに基づいており、Linux SLESおよびRed Hatで使用可能)によって少し前に解決されています。
使用されたコンポーネントはここからダウンロードでき、ハイパースケーラーまたはオンプレミスのLinux VMで使用できます。






 

 

 

SAP IQ – Q – SAP IQ データベースのための容易なインストーラー


 

SAP ファーストガイダンス – SAP IQのための容易なインストーラー - 「Q」 (プレビューコピーについては、roland.kramer@sap.com にお問い合わせください。)

 SAP IQのための容易なインストーラー - 「Q」


 

SAP IQ DBインストールルーチンもまた、ILMやネイティブSAP IQベースのストレージの「デファクトスタンダード」として、ハイパースケーラーストレージタイプのS3や、Swift、HDFS、ADLS、Spark、SAP Voraなどの既存の代替とすることができる機能性を持っています。

ここでの主な利点は、例えばオーケストレーションのみをハイパースケーラーAzure AKS にデプロイしたSAP Data Intelligence 3.0など)に残しておきながら、法令に準拠するためにオンプレミスにデータストレージを自社の施設に実装できることです。






 

 

 

SAP IQ – カラムベースの圧縮– SAP IQ に勝るもののない高い機能性

 

データの圧縮に関しては、Oracle、IBM DB6、MSSQLやSAP HANAなどの従来のデータベースによる生データ、あるいはすでに圧縮されたデータの圧縮であっても、SAP IQはデータフットプリントをさらに削減することができます。




 

 

 

    • データの高速ローディング:完全に並列化されたバルクデータロード

 

    • 他をリードするクエリエンジン:複雑なアドホックワークロードにおいて高い機能性を持つSQLクエリ処理

 

    • データ圧縮:先駆的な圧縮、インデックス作成の技術

 

    • スケールアウトへの対応:ペタバイト規模のデータボリュームで分析が可能な動的スケールアウト

 

    • セキュリティ:包括的なセキュリティ機能

 

    • TCOの低減:コモディティなブレードサーバに導入可能で、管理負荷を低減

 

    • 拡張性:In-database 分析フレームワーク

 

    • 柔軟性:ストレージと処理系の分離








 

 

 

SAP IQ – XLDB(Extremely Large Database:超大規模DB)分析のための完全なプラットフォーム

 

 

SAP IQ – 超大規模DB分析のための完全なプラットフォーム

 

SAP IQ – 超大規模DB分析のための多用途のアプリケーションサービス

 

 SAP IQ – クエリエンジンのスケールアウト – 分散クエリ処理 (DQP)


 

超並列処理 (MPP: Massively parallel processing)


・リーダーノード:
UDF(ユーザ定義関数)を含め、クエリを受信して開始します。
任意のノードがリーダーになることができ、クエリごとに1つのリーダーがワーカーノードに処理を分散します。同時に複数のリーダーノードとなることができます(異なる複雑なクエリを同時に処理可能)。
リーダーノードは、それ自体でクエリを処理することができます。

・ワーカーノード:
リーダーから作業の指示を受けるノード クエリごとに任意のワーカーノードが割り当てられ、同じワーカーノードが複数のクエリを処理することもできます。
リーダーがそれ自体でクエリの処理を完了することができない場合にのみ、ワーカーノードが参加します。






 

 

 

SAP IQ – あらゆる目的にフィットするシンプレックスサーバーアーキテクチャー – SAP IQシングルノードの基本構成


 

 

SAP IQ シンプレックスサーバー アーキテクチャー – SAP IQ データベース


 






 

 

 

SAP IQ – 非構造化コンテンツ – 構造化分析


 

SAP IQの主要な機能の1つは、大量の非構造化データの格納と、このデータを構造化されたデータと同様に分析する機能です。

 

SAP IQ 管理:非構造化データ分析


 

非構造化データ分析オプション機能は、SAP IQの機能を拡張して、データベース内のバイナリラージオブジェクト(BLOB)および characterラージオブジェクト(CLOB)のデータ型をもつカラムに格納し、全文検索することを可能にします。

格納するデータの種類の増加とともに、ラージオブジェクト(LOB)データをリレーショナルデータベースに格納するニーズも増加します。
LOBデータは次のいずれかになります。

・非構造化データ – データベースは、単にデータを保存したり取得したりします。
・半構造化データ – データベースはデータ構造をサポートし、サポートする関数(文字列関数など)を提供します。

SAP IQでは英語をはじめとする分かち書きされた言語を格納する際に、それぞれの語(word) に対してインデックスを追加し、全文検索と同様の検索処理を可能にします。

またURLやメールアドレス、ログデータのような区切りの既定があるものにも有効なため、これらのデータを格納して、分析するのにも有効です。

 






 

 

 

SAP IQ – データロード管理 – RDBMS ではなくユーザーが決定します


 

 

SAP IQ 管理:ロード管理


 

SAP IQ では、 データを追加、変更、または削除する方法を選択することができます

    • CSVファイル等のフラットファイルからテーブルを高速・効率的に一括ロードするには、SAP IQの拡張 SQL文LOAD TABLEを使用します。

 

    • 指定した値を1行ずつテーブルに挿入するにはSQL文INSERTとVALUESオプションを使用します。

 

    • テーブル(別のデータベースにあるテーブルを含む)から選択された行を挿入するには、SQL文INSERT SELECTを使用します。

 

    • テーブルから指定した行を削除するには、DELETE文を使用します。

 

    • テーブルの特定の行を変更するには、UPDATE文を使用します。これらは標準的なANSI SQLの構文と同じ構文を使用することができます。



SAP IQに格納されているデータを抽出する場合には、データをバイナリ形式またはASCII形式でエクスポートすることができます。
また、そのエクスポートファイルを別のSAP IQデータベースにインポート(ロード)することもできます。
この機能は、大量のデータを移動する場合、または他のシステムにロードするために使用する出力ファイルが必要な場合に使用します。

標準のSQLクライアントツール、Interactive SQLから、さまざまな形式でデータを別のデータベースにエクスポートしたり、出力としてテキストファイルを作成することができます。
SQLコマンドの出力をファイルにリダイレクトすることもできます。

SAP IQ は、Parquetフォーマットファイルのテーブルへの読み込みをサポートしています– parquetjs

Parquet は、Apache Hadoop 向けに設計された効率的なオープンソースのカラム指向形式のファイルフォーマットです。
SAP IQ のLOAD TABLE 文を使って parquet フォーマットのテーブルをロードできます。

Parquet の詳細については、 https://parquet.apache.org を参照してください。

Note 2748429 – IQ 16x でのサポート JSON の機能要求 — SAP IQ
Note 3213101 – SAP IQ は Apache ‘Parquet’ 形式へのデータ抽出をサポートしますか?– SAP IQ

SAP IQ に高速に読み込むために、JSON ファイルを Parquet 形式に変換するパイプラインを簡単に構築することができます。
こちらのブログを参照してください(英語)– SAP Data Intelligence Hub – connecting the Dots …

 






 

 

 

SAP IQ – SAP IQdemo データベース


 

SAP Help – The IQdemo Database Note 3156521 – “データベースサーバが見つかりません” で IQ デモデータベースの作成に失敗する

SAP IQ を使い慣れていないようであれば、SAP IQdemo データベースは SAP IQ のコンセプトや利用方法を理解するのにとても便利です。デフォルトでは、データベースを作成するための全てのリソースが$IQDIR16/demo ディレクトリ下の SAP IQ バイナリで提供されています。

sq1adm@server:/usr/sap/SQ1/data/db> env | grep IQDIR16

IQDIR16=/usr/sap/SQ1/SIQ02/IQ-16_1

sq1adm@server:/usr/sap/SQ1/data/db> cd $IQDIR16/demo

sq1adm@server:/usr/sap/SQ1/SIQ02/IQ-16_1/demo


IQdemo データベースは、最初にmkiqdemo.sh スクリプトで作成する必要があります(もしすでにサーバー内に稼働中の他のSAP IQデータベースがある場合には、他のリソースから IQdemo を独立させるためにパラメーター -port を必ず指定してください。)

sq1adm@server:/usr/sap/SQ1/SIQ02/IQ-16_1/demo> ./mkiqdemo.sh -dba dba -pwd changeit -demodir /usr/sap/SQ1/SIQ02/IQ-16_1/demo/ -port 34238 -share -y

sq1adm@server:/usr/sap/SQ1/SIQ02/IQ-16_1/demo>start_iq @iqdemo.cfg iqdemo.db

sq1adm@server:/usr/sap/SQ1/SIQ02/IQ-16_1/demo> iqdsn -y -w "IQdemo" -c "UID=DBA;PWD=changeit;ServerName=<server>_iqdemo;DBN=IQdemo; Host='<server>.domain.ext:34238'"

Configuration "IQdemo" written to file /usr/sap/SQ1/home/.odbc.ini

sq1adm@server:/usr/sap/SQ1/SIQ02/IQ-16_1/demo> dbping -d -c dsn=IQdemo

Ping database successful.

sq1adm@server:/usr/sap/SQ1/SIQ02/IQ-16_1/demo> dbisql -c dsn=IQdemo -nogui

(dba)>


sp_iqlmconfig コマンドで IQdemo データベースをチェックしてください。

(dba)> sp_iqlmconfig

Property                             Value

-------------------------------------------------------------

Licence Notice                       SAP License Key

Edition                              EE

License Type                         CP

Application Type                     IQ

IQ_CORE License Count in use         16 (CPU core based)

Optional license in use : IQ_UDA     No (Allowed)

Optional license in use : IQ_LOB     No (Allowed)

Optional license in use: IQ_SECURITY No (Allowed)

Optional license in use: IQ_MPXNODE  No

Optional license in use: IQ_VLDBMGMT No (Allowed)

IQ_VLDBMGMT License Count in use     0 (Max Allowed : 4)

Optional license in use: IQ_UDF      No (Allowed)

Optional license in use: IQ_IDA      No (Allowed)

Optional license in use: IQ_URIDA    No (Allowed)

Email Severity                       NONE

SMTP Host                            smtp

SMTP Port                            25

Email Sender                         <sid>adm@cloudapp.net

Email Recipients                     <sid>adm@cloudapp.net

(19 rows)

(dba)>


SAP IQ データベースの設定はこれで完了です。

 






 

 

 

SAP IQ – データベースだけでなく多用途に利用が可能なサーバー


 

SAP IQ は、様々な種類のフォーマット、サービス、または API でデータを操作できます。その一例として、HTTP/HTTPS 組み込みサーバと組み合わせた OData サービスの利用が可能です。

 

 

SAP IQにおけるODATA サーバの設定方法


 

追加のサーバー機能を有効にするには、設定ファイル “SAP IQ DB名”.cfg に以下のサーバーオプションを追記して SAP IQ サーバーを再起動します。 なお、ポート番号やディレクトリパスは環境に応じて任意に変更してください。



-xs odata{port=1180}

-xs http{port=1080;MaxRequestSize=3m}

-xs https{port=1443;IDENTITY=/sapmnt/<SID>/SIQ<nr>/security/rsaserver.id;IDENTITY_PASSWORD=test;FIPS=yes}


 

ODataHTTP/S、および SQL Anywhere アプリケーション(後述)のテストを行うサンプルは、以下の SAP IQ インストールディレクトリにあります。

 

/sapmnt/<SID>/SIQ<nr>/IQ-16_1/samples/certificates

/sapmnt/<SID>/SIQ<nr>/IQ-16_1/samples/sqlanywhere/http

/sapmnt/<SID>/SIQ<nr>/IQ-16_1/sdk/php/examples


 

さらに、追加機能を使用するためのさまざまなオプションがSAP IQに組み込まれているSAP SQL Anywhereサーバー(SAP IQのSQLインターフェイスでも使用されています)で提供されています。 これらすべての機能を利用するには、以下のマニュアルをご参照下さい。

SAP Help セクション – HTTP Web サービスの例 – OData サーバーの例 – SAP IQ 空間データ処理機能

HTTP/OData sサービスをベースとしたPicture Gallery


 

非構造化データの機能を数分以内に素早く表示するサンプルが、Gallery Exampleです。
これは様々な種類の写真を保存して分析するための小さなアプリケーションです。
このディレクトリ内には、JSON の例など、いくつかの SQL スクリプトを用意しています。
このサンプルでは、データベースサーバーをWebクライアントとして使用しています。
これらのサンプルの全ての SQL スクリプトをSAP IQ 用のInteractive SQLクライアントから実行することができます。
SAP IQ の SQL クライアントのインストールに関しては SAP IQ クライアントソフトのインストールを参照してください。


 



 

すべてのサンプルが SAP のオンラインヘルプに説明されているわけではありませんが、上記のインストールディレクトリにある Example はわかりやすく、すぐにテストできるようになっています。
SAP IQ Cockpit を使用して、コンパイルした Objects を確認したり、簡単な方法で独自のサービスを作成することができるようになっています。


 

SAP IQ Cockpit


 

IQ 用 DBACOCKPIT (SAP NetWeaver ベース)


 

 






 

 

 

このブログで紹介した内容は SAP IQ の一部にすぎません…


お客様の要件に合わせた用途に SAP IQ を使用したり、下に示すようなハイブリッドシナリオでSAP IQ を組み込む方法はたくさんあります。

Blog: Unified Data Integration for SAP
このブログでは、SAP Data Intelligenceを使用して、どのようにビッグデータを処理するためにSAP IQとオーケストレーションすることができるかを確認することができます。

SAP データピラミッドとデータ値式


 

SAP インテリジェント データ オーケストレーション プラットフォーム


 

SAP オンラインヘルプ(英語): SAP Data Intelligence – サポートされている接続の種類 – テーブルプロデューサー v2 (DI 3.2 新機能)

 

 

SAP Data Intelligence の統合