CData の取り扱うJDBC、ODBC、ADO などの各ドライバーは、オンプレサーバーはデスクトップでのBI、ETL ツールからのSaaS 連携で使われています。BI やETL ツールには、多くの場合JDBC などのインターフェースがあり、CData JDBC Driver を配置して接続設定をするだけで、100 を超えるSaaS への連携を実現できます。
クラウド時代になり、BI ツールやデータ連携ツールがクラウドにシフトしています。CData のドライバーはサービスとして提供されるクラウドミドルウェアでどうやって使われているのでしょうか?
この記事では、クラウドBI やiPaaS でサードパーティのDriver を使う構成を4パターンに分けて紹介します。
エンドユーザーの方は、クラウドBI やiPaaS 選定時に、足りないデータソースについて外部からドライバー/コネクタを使える方法があるのか?、可能な場合どれぐらいの負荷(設定やホスティング)が必要なのかを確認する目安になるでしょう。
クラウドBI ベンダーやiPaaS ベンダーの方には、自社サービスがどのようなパターンで連携可能データを拡充できるかを検討する一助になればと思います。
パターン分けのポイント
まずは、クラウドBI やiPaaS から外部Driver / コネクタを使ってデータ連携先を拡充する際に考えるポイントは大きく二つあります。クラウドネイティブにするかオンプレハイブリッドにするか、つまりオンプレミスDB に接続できるか、それともオンプレミスDB への接続は無視するかです。もう一つは、ユーザーがどれぐらい手を動かすかです。ユーザーがサードパーティドライバーを使っていることに気づかないものから、ユーザーがホスティングをする必要があるものまであります。
この、2つのポイントを軸に4つのパターンに分けたものが以下の図になります。それぞれのパターンで実際の利用例を交えながら解説します。
① Driver OEM 方式
ツールベンダーがデータにアクセスするDriver を組み込んでユーザーが自由にデータソースを利用できる方式です。
クラウド対応っぽさ:★★★★★
CData Software では、100種類以上のSaaS およびNoSQL に標準SQL でアクセス可能なドライバーを提供しています。これらのドライバーを組み込むことでツールベンダーは一挙にクラウド連携先を拡充することができます。やはり標準対応データソースとして100+ の接続先を出せるのはマーケティング効果大。オンプレミスDB対応:★
オンプレDB には接続ができません。
①方式のベンダーの多くは、同時に③方式を提供することで、オンプレDB 連携を実現しています。ベンダー開発の容易さ:★★★
ベンダー側では、汎用JDBC やODBC などのインターフェースを用意し、CData Drivers を組み込む開発が必要です。CData Drivers はJDBC であれば標準JDBC に準拠していますので、組み込み開発の負荷は、通常のRDB のJDBC Driver を組み込む程度です。また、認証などを接続プロパティで行うため、2-3のドライバーの組み込みを行えば、続くドライバーの組み込みは負荷がほとんどありません。ユーザーの使いやすさ★★★★★
ユーザーの負荷がゼロのソリューションです。ユーザーはサービス上のメニューから接続したいデータソースを選択して認証クレデンシャルを入力するだけです。
実際の利用例:
ウイングアーク1st のMotionBoard
www.cdata.com
ほかにも多くのクラウドBI、iPaaS にてCData Drivers が利用されています。
② JDBC Driver アップロード方式
ツールベンダー側ではJDBC Driver は準備せずに、ユーザーが自分の使いたいJDBC Drivers をブラウザからアップロードする方式です。
クラウド対応っぽさ:★★ ユーザーがつなぎたいクラウドにつながるJDBC Driver を持っている必要があります。マーケティング的に「こんな多様なSaaS・NoSQL につなげます」とアピールできないところが残念なところです。実際はJDBC Driver のアップロードがきればSaaS にもつながるのですが、サポートされている/いないのリスクもあります。
オンプレミスDB対応:★ オンプレDB には基本的にアクセスできません。別途クラウドストレージにDB からデータをロードする方法がある場合あり。
ベンダー開発の容易さ:★ ベンダー側では汎用JDBC Driver のインターフェースとドライバーのローディング周辺のストレージやUI を開発する必要があります。S3、Azure、GCP のストレージを使えばそうむずかしくなく実装ができると思います。
ユーザーの使いやすさ★★★ ユーザーは、JDBC の.jar ファイルをアップロードする作業が必要です。まったくの開発未経験者だと難しいかもしれません。RDB になれた情シスやインテグレータの方でればアップロードと接続設定は難しくありません。
実際の利用例:
Cloud Data Fusion で Salesforce から BigQuery へデータ連携
AWS Glue Jobs からMarketo Data にJDBC 経由でデータ連携
BigQuery DataをYellowfin に繋いでみた
③ オンプレミスGateway 方式
特定のBI ツールやiPaaS とだけ連携するために作られたサーバーモジュールであるオンプレミスGateway をユーザー側にインストールして稼働させる方式。
クラウド対応っぽさ:★★
基本的にオンプレミスDB のデータに連携するためのモジュールであり、クラウド接続っぽさはない。実はCData JDBC Drivers をオンプレミスGateway で使えばCData が対応する100+ のSaaS・NoSQL との接続は可能。オンプレミスDB対応:★★★★★
オンプレDB への接続を主な目的としており、オンプレミスDB のデータをセキュアにクラウドBI、iPaas で利用することができます。ベンダー開発の容易さ:★★
ベンダーはオンプレミスGateway モジュールを開発する必要あり。汎用インターフェースではなく、オンプレミスGateway と自社のクラウドサーバーとの個別の接続であり、オープンなプラットフォームと比べると格段に開発は小さい。ユーザーの使いやすさ★★
ユーザーは、オンプレミスGateway をインストールしてサーバーとして稼働させる必要があります。設定自体はむずかしくない(CData Drivers でクラウドにつなぐ場合でも)。やはり、ホスティング部分が負荷としては大きく、サーバーマシンとサーバーを管理できるリソースが必要。
実際の利用例:
Informatica Intelligent Cloud Servicesでkintone JDBC Driverを使う
データ仮想化基盤 Denodo Platform でSQLServer・kintone・Salesforceの顧客データを仮想データ統合してみた
CData Power BI Connector の使い方(kintone データをPower BI でビジュアライズ)
④ REST API 方式
ツール側にREST API のインターフェースを用意するもの。より標準化されたOAI(Open API Initiative、Swagger)やOData 形式のメタデータやドキュメントを使ったインターフェースとなっている。
クラウドっぽさ:★★★
「あらゆるREST API」や「OData / Swagger 対応」という言い方は非常にクラウド連携に強い印象を与える。が、実際に標準でOData やSwagger に対応しているAPI は多くなく、REST モドキAPI だと動かない。CData API Server などの標準OData/OAI API サーバーで再ホストが必要な場合が多い。オンプレミスDB対応:★★★★★
オンプレDB でも、REST API エンドポイント化することでオンプレミス対応が可能。ベンダー開発の容易さ:★★★
ベンダー側では、標準OData やSwagger 定義を受けるインターフェースの構築が必要。CData のOData Driver を使えば、OData ベースのREST API をメタデータやクエリを含め簡単に実装が可能です。Swagger 向けのDriver は今後のリリースにご期待ください。ユーザーの使いやすさ★
REST API を開発、ホスティングする必要があるので、ユーザーの開発負荷は高いです。しかもOData やSwagger などの標準に準拠したAPI を開発する必要があります。CData API Server を使うことで、ノーコードでRDB からREST API を生成することが可能です。CData API Server を使った場合は★★かなと。とはいえ開発とホスティングは必要です。
実際の利用例:
Sansan のIFTTT Flows をAzure App Service からキックする
CData APIServer と AppSheet でモバイルアプリを作成してみる
SAP Lumira でMarketo のOData Feeds を取り込み
データ可視化ソリューション「Reveal」からSalesforce に接続して顧客データを分析する方法
まとめ
このようにクラウドBI やiPaas では、ネイティブ対応されていないデータソースに対応する仕組みが用意されています。多くの方法はJDBC などの標準データ連携技術に準拠しており、CData Drivers を利用することで主要なクラウドやパッケージにデータ連携が可能です。
ちなみに各ベンダーがそれぞれひとつづつの方式だけに対応してい訳ではありません。多数の連携パターンが提供されている場合には目的に合ったものを選んで使いましょう。