[CSVエクスポート vs. API連携] SaaSのデータ統合・データ取得について理解する
オンプレミスやSaaSのデータを統合し、透過的なダッシュボードを作成したり、部門ごとのレポートを作成したいというニーズをお持ちの組織は多いのではないでしょうか。今回は、データソースからデータをCSVで取得する場合と、API連携でデータ取得をおこなう場合を比較します。
目次
CSV形式とは
CSV(Comma Separated Values)とは、数字や文字列をカンマ区切りで表現するデータ形式です。
例えば、顧客データのCSVは以下の形式です。
顧客ID,氏名,性別,住所,生年月日,メールアドレス
0001,田中太郎,男,東京都,1900/1/1,tanaka@xxx
0002,...
カンマ区切りのテキストファイルなので、テキストエディタやExcel、Googleスプレッドシートなどで作成、編集が可能です。
CSVデータの抽出方法
CSVデータは、データベースから直接エクスポートしたり、SaaSであれば画面上のGUIからダウンロード可能です。
データベースの場合は、エクスポートしたいデータをSQL文で指定し、そのSQLによって該当のデータをエクスポートします。SQL文を書かなくても、テーブルのデータをそのままエクスポートできるケースもあるでしょう。
SaaSの場合は、画面上に「CSVのエクスポート」などのボタンが用意されていることが多く、そのボタンをクリックすると抽出できます。ボタンのクリックだけで抽出が完了するため、データベースと比べて専門的な知識が必要ありません。
CSV形式のメリットとデメリット
CSVでのデータ連携のメリットは、「簡単」であるということです。CSVファイルをダウンロードし、そのファイルを編集加工して、出力する、または別なシステムにインポートするという流れです。エンジニアでなくても作業の手順が想像しやすく、Excelやテキストエディタのみで作業が完了できるケースが多いでしょう。
これに対してデメリットですが、「そもそもCSVでデータを入手できない」場合が多数あります。オンプレミスのシステムのデータ、データベースなどであれば、容易に入手できますが、SaaSによってはデータのCSV出力が行えない、または行えるが必要なデータ項目が入手できないといった場合もあります。
また、自動化を行いたい場合でも、自身で自動化するためのプログラムを新たに作成する、RPAを導入してその処理手順を1から入力するといった作業が必要となります。よって、効率化、自動化には限界があります。
API連携でのデータ取得
API(Application Programming Interface)とは、サービス間をつなぐインターフェースのことです。
APIによるデータ取得は、以下の手順でおこなわれます。
- データ取得をしたいサービスで認証をおこなう
- 認証で取得したトークンを使い、APIリソースに必要なパラメータとともにリクエストする
- レスポンスとしてデータが返ってくる
オンプレミス環境に対するAPI連携
オンプレミス環境に対してAPI連携をする場合、独自にAPIを開発する必要があります。APIはAWSやAzureなどのクラウド環境に構築し、クラウドとオンプレミス間でHTTP通信をさせなければなりません。APIを利用するときは、クラウド上のAPIリソースにアクセスすることでオンプレミス環境に連携が可能です。
SaaSに対するAPI連携
SaaSに対するAPI連携は、SaaS側で提供されているAPIを呼び出すことで実現できます。APIを利用するためには、APIリソースへアクセスするためのプログラムを開発する必要があり、サービス側でそのプログラムを呼び出す必要があります。
データフォーマット
API連携は、JSONやXML形式でやり取りされるケースが多いです。
JSON(JavaScript Object Notation)は、名前のとおりJavaScriptのオブジェクト構成をもとにしたデータフォーマットで、多くのAPIで活用されています。以下のように、入れ子構造になっています。
{
"customer": [
{
"id": "0001",
"name": "田中太郎",
"male": "男",
"address": "東京都",
"birthdate": "1990/1/1",
"mail": "tanaka@xxx"
}
]
}
XML(Extensible Markup Language)とは、HTMLをベースにして構成されるデータ定義です。以下のようにタグで表現されます。
<?xml version="1.0" encoding="Shift_JIS" ?>
<customer>
<id>0001</id>
<name>田中太郎</name>
<male>男</male>
<address>東京都</address>
<birthdate>1990/1/1</birthdate>
<mail>tanaka@xxx</mail>
</customer>
API連携のメリットとデメリット
API連携には、以下のメリットがあります。
- リアルタイムなデータ連携が可能
- 管理の手間が減る
- コストの削減
API連携はスケジュールを設定しておくと、自動で連携がおこなわれるため、頻度によっては、ほぼリアルタイムのデータを閲覧できます。
また、API連携はデータの入手を容易に自動化できます。このため、手動作業が発生することによる管理工数の削減やヒューマンエラーの削減も可能となります。そして、手動作業が少ないということは、人件費の削減にもつながります。
一方で、API連携には以下のデメリットがあります。
- 依存しすぎると業務継続が問題が生じる場合がある
API連携を前提としたシステム設計にした場合、例えばSaaS側でAPIの廃止や修正を行った場合、システムの稼働が困難になり、業務へ大きな影響を与えてしまう場合もあります。とはいえ、ユーザーの利便性を極端に損ねることはユーザーの離反を招くので、SaaS事業者がユーザーに大きなデメリットを生じる変更を一方的に行うリスクは、低いといえます。
自動化を考慮するとAPI連携を選ぶべき
自動化をするのであれば、CSV連携よりもAPI連携を選ぶべきです。
CSV連携は、CSVのエクスポートやインポートを手作業で実施しなければならない、または手動で自動化のプログラムを一から作成しなければならないため、自動化のメリットを大きく享受できません。
API連携は、連携先が提供しているAPIを呼び出すプログラムを開発する必要があるものの、一度開発すればスケジュール実行などを仕込むことで自動化が可能です。
自動化はヒューマンエラーの防止に加え、作業工数の削減にもつながるため、積極的に活用すると良いでしょう。
データ連携をSaaSとして利用するという選択肢
データ連携は、手動で実施するとさまざまなコストが発生するため、SaaSのETLツールの活用がおすすめです。
SaaSのETLツールを活用すると、自身でプログラミングをする必要がなく、仕様変更にともなう改修対応はツール側がおこなうためメンテナンスが必要ありません。
弊社で提供するクラウド型のETLツールの「Reckoner」は、プログラミングが不要、GUI上ですべてを完結できるため、データフローの構築をスムーズに実現できます。さらに、SaaSでの提供となるため、インフラ構築が不要でサーバーなどの管理も必要ありません。
現在Reckonerでは無料トライアルを受け付けているため、これからデータ連携を自動化したいと考えている企業様はぜひご利用ください。
また、ETLツールについて詳しく知りたい、ETLツールの選び方を知りたいという方はこちらの「ETLツールとは?選び方やメリットを解説」をぜひご覧ください。