SQLはすごい ノーコードの裏にSQLあり
本記事はCDataが提供する「CData Software Blog」に掲載された「ノーコードの裏にSQL あり:ノーコードの最大の成功事例SQL?」を再編集したものです。
こちらのCoral さんの記事コーディングを不要にする「ノーコード・スタートアップ」が注目される理由 にある通り、ノーコードってここ数年のトレンドワードです。
coralcap.co
ノーコードツールでよく聞くのはkintone のようなWeb DB + フォームのようなツール、仕様書からコードが自動生成されるアプリ開発ツール、アプリケーション連携・iPaaS などですが、筆者が例に出したのは意外にも「SQL」でした。
個人的には、ノーコーディングの最大の成功事例は、データベースにアクセスするための「SQL」ではないかと思います。今でこそSQLはエンジニアにとっても熟達に時間のかかる専門スキルと見なされていると思いますが、マーケターやセールス担当者がインサイトを得るために、エンジニアに依頼せずとも「コーディング不要」で使えるツールでもあります。SQLがなければ、データ構造やディスク、メモリ、最近ならネットワークのアクセス特性を考慮しつつ、データにアクセスするプログラミングが必要になります。SQLはデータの利用を大幅に民主化しました。
何とスバラシイ。SQL はそう、偉大なのです。
ここはひとつCData から見た(我田引水で)SQL のノーコードツールでの使われ方と、クラウド時代の方向性について書いてみます。行く末のところでは、元記事でも書かれていたiPaaS などでの使われ方にも話がつながります。
SQL はすごい。ノーコードの裏にSQL あり。
筆者の観点とは、すこし違うかもしれませんが、SQL はすごい。
SQL はRDB をクエリするために開発された言語で、すでに40年以上スタンダードとして使われています。ロジックやUI を組むプログラミング言語は数あれど、データのクエリ言語はおそらく8-9割以上は、SQL が使われています。
「ノーコード」という言葉が知られていないころからもコーディングが不要なツールは多くありました。そして例外なくそれらのツールではSQL が裏で使われています。つまり、ツールのUI からはコーディング無しで設定し、プログラムの内部では指示がSQL に変換されてデータの処理を行っています。これらのツールを非エンジニア(非プログラマー)が利用できるのも、GUI からSQL が自動生成されているからに他ならないのです。
長く親しまれているノーコードツールでは:
・BI ツール:
Power BI、Tableau などのBI ツールでは、データソースであるCSV やDB を接続し、あとはBI のGUI 操作でデータの加工やグラフへのバインドや条件設定を行います。当然バックエンドのデータとのやりとりはSQL です。
Power BI でのGUI からのSQL 操作
・Access:
エンタープライズのデータ処理の基本はAccess という方も多い(かった)です。Access も各カラムにフィルタやソート条件を設定したりして、好みのデータセットを作ることができ、Access アプリ上で利用できます。中ではやはり、SQL を自動生成しています。
・ETL: ASTERIA Warp、DataSpider、Informatica、Talend などいろいろなツールがありますが、すべてではないですが、ビジュアルなフローで作成したCRUD 処理は内部ではSQL が使われているケースが多いです。
・アプリ開発ツール:
FileMaker、Magic などの海外製品、Wagby などの国産製品があります。これらの製品もユーザーはSQL の記述はしない場合が多いですが、やはり内部は例外なくSQL で動いています。
SQL がノーコードの最大の成功例と呼ばれる理由がよくわかります。ノーコードツールは例外なく「UI 操作からSQL を自動生成」して動いているといえます。
クラウド時代ではSQL はどうなる?
オンプレ時代にはコーディングをしてもノーコードツールでもSQL(テーブルデータ)が万能でした。ところがSaaS 全盛のこの時代ではデータ処理は、REST API(JSON) が主流。商品データは、あるSaaS、顧客マスターは別のSaaS、在庫情報はオンプレ、など業務に必要なデータがアクセス方法の異なる場所に分散しています。
ノーコードツールでは、当然分散した複数のデータを統合して利用する必要性がでてきました。しかし、REST API はアーキテクチャスタイルであり、プロトコルではないので、各SaaS へのデータ連携方法が別々になってしまっています。「UI からSQL を自動生成」していたノーコードツールからすれば、データソース毎に異なるデータアクセスロジックを開発しなければなりません。ノーコードツールの競争力・差別化ポイントは、UI の使いやすさ・ロジックの組みやすさであるはずですが、データ接続先を幅広くカバーすることに開発リソースを割かなければならなくなっています。
200種類以上のSaaS・NoSQL をがSQL でアクセス可能に
CData Software では、200 種類以上のSaaS・NoSQL に対して、標準SQL でのアクセスを可能にするODBC/JDBC/ADO のドライバー製品を開発、提供しています。
CData Driver で複数のSaaS をSQL に標準化
上記のようなノーコードツールから、RDB だけでなくSalesforce、kintone といったSaaS データに対しても、SQL でアクセスできるようになります。「UI からSQL を自動生成」という構造のノーコードツールからデータアクセス方法が異なる複数のSaaS にアクセスするには、このドライバーを利用したアクセスは理想的です。
CData が対応する200+ のSaaS・NoSQL データソース
実は、すでに多くのノーコードツールにCData のドライバーはOEM 組込みされています。ノーコードツールベンダーは、自社製品のコアの価値の強化に開発を集中し、データ接続先の対応はドライバーに任せることができます。
このような形で多くのノーコードツールベンダーがクラウド時代に対応しています。
クラウドネイティブなノーコードツールでもSQL インターフェースが使える?
記事にもあるように、ノーコードツールでもクラウドネイティブなスタートアップが多く出てきました。
ユーザーが複数のSaaS に分散されたデータをクラウドで使う方法はいくつかあります:
1.クラウドデータストレージにデータを投げる ETL ツールやELT ツールで、複数のデータをクエリ可能な形にしてクラウドから利用できるデータストレージに投げて、そこからデータを利用する。
2.Zapier やAnyflow などのiPaaS の利用
3.Microsoft Power Apps のようなノーコードアプリ開発
4.クラウドBI、クラウドETL のコネクタを使う
ただし、これらのiPaaS やクラウドベースのノーコーディングツールでもデータ接続先の拡充は大きな負担となっています。
CData Connect Cloud は、インストール不要のデータハブサービス
CData では、Connect Cloud という製品を提供しています。CData Connect Cloud では、100種類のデータソースに対してクラウド上でもSQL インターフェースでデータをクエリできるサービスです。2~4 までのノーコードサービスには、クラウド上のMySQL やSQL Server にアクセスするインターフェースがあります。そのインターフェースからCData の対応する200種類を超えるデータにSQL でアクセスが可能になります。
https://www.cdata.com/jp/cloud/
このように、CData では、クラウド時代のノーコードのデータ連携先の拡充をサポートします。