Skip to Content
Business Trends

SAP (Sybase) IQ – 隠れたイッピン…

.
.
.
SAP News: SAP ASE and SAP IQ: The Next Generation (November 2019)
.
Sybase IQは2013年に他のデータベース(ASE、レプリケーションサーバー(REP)、イベントストリーミングプラットフォームなど)とともにSAPに統合されました。これらは現在、他のSAP製品に組み込まれています。ドキュメント– SAP First Guidance – SAP NLS Solution with SAP IQ - を参照いただくと、SAP BWにSAP IQを連携させて運用する事が可能になります。まずこのドキュメントを読んでから、以下のSAP IQの概要に進むことでより理解が深めることができます。
.
                                                              Getting Started With SAP IQ 
.
プライマリ(主系)データベース(HANAに限定されません)から古くなった履歴データを移動する事で、データの配置を最適化する標準的な方法として、SAP IQを使用したニアラインストレージ(NLS)の実装は、すべてのお客様にとって標準的な方法と言えます。
残念なことに、過去数年間、IQの主な機能は「SAP HANAの高い検索性能」の背後に隠れて、SAPの多くのお客様はSAP IQが持っている独自の機能性をご存知ありません。SAP IQの機能的な最大制限値は大規模システムに非常に有効です。
SAP IQがブラックボックス(Dynamic Tieringの起動の困難さ)であったり、未知のアーキテクチャであるがゆえにハードルが高いと認識される理由は、インストールがまだソフトウェアプロビジョニングマネージャー(SWPM)に統合されていないという事が原因かもしれません。
このギャップは、SAP IQの簡単なインストーラである「Q」(SAP Hostagentに基づいており、Linux SLESおよびRed Hatで使用可能)によって少し前に解決されました。使用されたコンポーネントはここからダウンロードでき、ハイパースケーラーまたはオンプレミスのLinux VMで使用できます。
.
                                                       Q – the easy SAP IQ database installer
.
「Q」によるSAP IQ DBインストールルーチンは、ネイティブSAP IQベースのオブジェクトストレージのとしても利用でき、S3、Swift、HDFS、ADLS、Spark/Voraなどの既存のHyperscalerストレージタイプの代替とすることができる機能性を持ちます。
ここでの主な利点はAzure AKSのようなハイパースケーラーにデプロイしたSAP Data Intelligence 3.0と、オンプレミスにSAP IQによるデータストレージを配置して、法令に準拠した状態にすることができることです。
.
.

カラムベースの圧縮– SAP IQの高い機能性

Oracle、IBM DB2 UDB、MSSQLなどの従来のデータベースによる生データに比べ、またはすでに圧縮されたデータの圧縮に比較しても、多くの場合SAP IQはデータフットプリントをさらに削減できます。
.
.
.
.
a.
  • 高速なデータのローディング:完全に並列化されたバルクデータロード
  • 他をリードするクエリエンジン:複雑なアドホックワークロードにおいて高い機能性を持つSQLクエリ処理
  • データ圧縮:先駆的な圧縮、インデックス作成の技術
  • スケールアウトへの対応:ペタバイト規模のデータボリュームで分析が可能な動的スケールアウト
  • セキュリティ:包括的なセキュリティ機能
  • TCOの低減:コモディティなブレードサーバに導入可能で、管理負荷を低減
  • 拡張性:データベース内でR言語を使用した分析フレームワーク
  • 柔軟性:ストレージと処理系の分離
.

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

                                         IQ – 超大規模DB分析のための完全なプラットフォーム
.
.
                         IQ – 超大規模DB分析のための多用途のアプリケーションサービス
.
.
                                      IQ – クエリエンジンのスケールアウト – 分散クエリ処理
.
.
超並列処理
.
  • リーダーノード:
UDF(ユーザ定義関数)を含むクエリを受信して開始します
任意のノードがリーダーになることができ、クエリごとに1つのリーダーがワーカーノードに処理を分散します。同時に複数のリーダーノードとなることができます(異なる複雑なクエリを同時に処理可能)。
リーダーノードは、それ自体でクエリを処理する事ができます
  • ワーカーノード:
リーダーから作業の指示を受けるノード
クエリごとに任意のワーカーノードが割り当てられ、同じワーカーノードが複数のクエリを処理する事もできます
リーダーがそれ自体でクエリの処理を完了することができない場合にのみ、ワーカーノードが参加します

シンプレックスサーバーアーキテクチャ:多用途に適合可能なSAP IQシングルノードの基本構成

                                        IQ simplex server architecture – SAP IQ database

.


非構造化コンテンツの分析

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

                                             SAP IQ Administration: Unstructured Data Analytics
.
非構造化データ分析機能は、SAP IQの機能を拡張して、データベース内のバイナリラージオブジェクト(BLOB)および characterラージオブジェクト(CLOB)のデータ型をもつカラムに格納し、全文検索することを可能にします。
格納するデータの種類の増加とともに、ラージオブジェクト(LOB)データをリレーショナルデータベースに格納するニーズも出てくることと思います。 LOBデータは次のいずれかになります。
非構造化データ – データベースは、単にデータを保存したり取得したりします。
半構造化データ – データベースはデータ構造をサポートし、サポートする関数(文字列関数など)を提供します。

SAP IQでは英語をはじめとする分かち書きされた言語を格納する際に、それぞれの語(word)に対してインデックスを追加し、全文検索と同様の検索処理を可能にします。またURLやメールアドレス、ログデータのような区切りの既定があるものにも有効なため、これらのデータを格納して、分析するのにも有効です。


データ投入の負荷を管理 – データ格納方法を選択可能

                                             SAP IQ Administration: Load Management
.
SAP IQのデータの追加、変更、削除する方法を要件により選択します。
  • CSVファイル等のフラットファイルからテーブルを高速に一括ロードするには、SAP IQの拡張 SQLステートメント「LOAD TABLE」を使用します。
  • 指定した値を1行ずつテーブルに挿入するには、SQLステートメントINSERTを使用します。
  • テーブル(別のデータベースにあるテーブルを含む)から選択された行を挿入するには、SQLステートメントINSERT SELECTを使用します。
  • テーブルから特定の行の変更、削除には、UPDATE、DELETEステートメントを使用します。これらは標準的な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 を参照してください。
.
.

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)
-xs https(port=1443;IDENTITY=/sapmnt/NLS/exe/sec/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に組み込まれているSQL Anywhere(SAP IQのSQLインターフェイスでも使用されています)の追加機能を使用するためのさまざまなオプションがあります。 これらすべての機能を利用するためのガイドとして以下のマニュアルをご参照下さい。
.
                                                Picture Gallery based on HTTP/OData service
.
非構造化データの機能を数分以内に素早く表示するサンプルが、Gallery Exampleです。これは様々な種類の写真を保存して分析するための小さなアプリケーションです。このディレクトリ内には、JSON を一例に、いくつかの SQL スクリプトを用意しています。サンプルでは、データベースサーバーをウェブクライアントとして使用しています。これらのサンプルの SQL スクリプトを SAP IQ 用の対話型 SQL クライアントから実行することができます。SAP IQのSQLクライアントのインストールに関しては Installing SAP IQ Client Software.を参照してください。
.
  すべてのSampleがSAPのオンラインヘルプに説明されているわけではありません。上記のインストールディレクトリにあるExampleにわかりやすく、すぐにテストできるようになっています。SAP IQ Cockpitを使用して、コンパイルしたObjectsを確認したり、簡単な方法で独自のサービスを作成することができるようになっています。
.
                                                                       SAP IQ Cockpit
.
このブログの記事はSAP IQのほん一部にすぎません。お客様の要件に合わせた用途にSAP IQを使用するために、下に示すようなハイブリッドシナリオでSAP IQをご利用いただく事が可能ですが、他にもお伝えすべきより事項があり、以下のブログが参考になります。
.
.
このブログで、SAP Data Intelligenceを使用して、どのようにビッグデータを処理するためにSAP IQとオーケストレーションすることができるかを確認することができます。
                                                   Intelligent Data Orchestration Platform
.
SAP Data Intelligenceについては、以下をご参照ください。
.
.

謝辞:  本ブログの内容はRoland Kramer執筆の「SAP (Sybase) IQ – the hidden treasure …」に基づいています.ここに謝意を表します.

Acknowledgments: The content of this blog is based on “SAP (Sybase) IQ – the hidden treasure…” written by Roland Kramer. I would like to thank you.

Be the first to leave a comment
You must be Logged on to comment or reply to a post.