このブログは、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 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 ファーストガイダンス – SAP IQのための容易なインストーラー - 「Q」 (プレビューコピーについては、roland.kramer@sap.com にお問い合わせください。)
SAP IQ DBインストールルーチンもまた、ILMやネイティブSAP IQベースのストレージの「デファクトスタンダード」として、ハイパースケーラーストレージタイプのS3や、Swift、HDFS、ADLS、Spark、SAP Voraなどの既存の代替とすることができる機能性を持っています。
ここでの主な利点は、例えばオーケストレーションのみをハイパースケーラーAzure AKS にデプロイしたSAP Data Intelligence 3.0など)に残しておきながら、法令に準拠するためにオンプレミスにデータストレージを自社の施設に実装できることです。
データの圧縮に関しては、Oracle、IBM DB6、MSSQLやSAP HANAなどの従来のデータベースによる生データ、あるいはすでに圧縮されたデータの圧縮であっても、SAP IQはデータフットプリントをさらに削減することができます。
SAP IQ – 超大規模DB分析のための完全なプラットフォーム
SAP IQ – 超大規模DB分析のための多用途のアプリケーションサービス
SAP IQ – クエリエンジンのスケールアウト – 分散クエリ処理 (DQP)
・リーダーノード:
UDF(ユーザ定義関数)を含め、クエリを受信して開始します。
任意のノードがリーダーになることができ、クエリごとに1つのリーダーがワーカーノードに処理を分散します。同時に複数のリーダーノードとなることができます(異なる複雑なクエリを同時に処理可能)。
リーダーノードは、それ自体でクエリを処理することができます。
・ワーカーノード:
リーダーから作業の指示を受けるノード クエリごとに任意のワーカーノードが割り当てられ、同じワーカーノードが複数のクエリを処理することもできます。
リーダーがそれ自体でクエリの処理を完了することができない場合にのみ、ワーカーノードが参加します。
SAP IQ シンプレックスサーバー アーキテクチャー – SAP IQ データベース
SAP IQの主要な機能の1つは、大量の非構造化データの格納と、このデータを構造化されたデータと同様に分析する機能です。
非構造化データ分析オプション機能は、SAP IQの機能を拡張して、データベース内のバイナリラージオブジェクト(BLOB)および characterラージオブジェクト(CLOB)のデータ型をもつカラムに格納し、全文検索することを可能にします。
格納するデータの種類の増加とともに、ラージオブジェクト(LOB)データをリレーショナルデータベースに格納するニーズも増加します。
LOBデータは次のいずれかになります。
・非構造化データ – データベースは、単にデータを保存したり取得したりします。
・半構造化データ – データベースはデータ構造をサポートし、サポートする関数(文字列関数など)を提供します。
SAP IQでは英語をはじめとする分かち書きされた言語を格納する際に、それぞれの語(word) に対してインデックスを追加し、全文検索と同様の検索処理を可能にします。
またURLやメールアドレス、ログデータのような区切りの既定があるものにも有効なため、これらのデータを格納して、分析するのにも有効です。
SAP IQ では、 データを追加、変更、または削除する方法を選択することができます。
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 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 は、様々な種類のフォーマット、サービス、または API でデータを操作できます。その一例として、HTTP/HTTPS 組み込みサーバと組み合わせた 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}
OData、HTTP/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 を確認したり、簡単な方法で独自のサービスを作成することができるようになっています。
IQ 用 DBACOCKPIT (SAP NetWeaver ベース)
お客様の要件に合わせた用途に 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 新機能)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
14 | |
11 | |
11 | |
11 | |
9 | |
9 | |
8 | |
6 | |
6 | |
6 |