企画広告

DynamoDBとAthenaが分析を変える Salesforceとのコネクタでビジネスへの適用も容易に

ZDNET Japan Ad Special

2023-02-15 11:00

 これからのビジネスシーンでは、データの分析と活用が今まで以上に重要になってくる。ただし、これまでの事業活動の蓄積とデータを取得できるテクノロジーの進化によって、企業内には膨大な量のデータが散在している。さらにそれがリアルタイムで増え続ける中で、データの海から有用なインサイトを導き出すのは容易ではない。そのような状況で、エンタープライズ領域でコスト効率よくデータ分析をするためにはどうすればよいか。

 そこへの1つの解として、オンラインイベント「ZDNET Japan Digital Strategy Forum データ活用がもたらす深化した顧客関係」において、大規模なトランザクションデータを蓄積し分析できるコスト効率良いアーキテクチャとして、Amazon Web Services(以下、AWS)の「Amazon DynamoDB(以下、DynamoDB)」および「Amazon Athena(以下、Athena)」の活用が提案された。またその際の実践的なアプローチとして、多くの企業がビジネスや顧客データ管理に活用しているSalesforce上で、DynamoDBなどに蓄積されたリアルタイムデータを使うためのユースケースも併せて紹介されている。

大規模アプリケーションのデータ管理に適した「DynamoDB」

 デジタル化の進展に伴って取得可能なデータの量と種類が増え、現在はそこから様々な角度でのデータ分析が可能になっている。そのような高度な分析要求に対して、データを蓄積するデータベース(DB)領域では、従来の基幹システム向けに活用していたリレーショナルデータベース(RDB)だけでは不十分となり、昨今ではそれぞれのワークロードに最適化された様々なDBが登場している。

 例えばAWSは、ビジネスとして限られたコストの中で必要な性能を最大化するための適材適所な「Purpose-built databases」として、現在9種類のマネージドDBサービスを提供している。その中で、昨今のインターネットスケールな大規模ビジネスアプリケーションのデータ分析と活用に適したDBが、キーバリュー型NoSQL DBのDynamoDBである。

 「DynamoDBはシンプルなトランザクションやクエリが大量に発生するOLTP(オンライントランザクション処理)ユースケース向けで、かつミッションクリティカル性が要求されるシステム用に設計されたDBです。サーバーレスでの利用が可能で、銀行・金融や、Amazon.comをはじめとする小売、ゲーム、アドテックなど、データ分析が必要な幅広い業種で使用されています」と、アマゾン ウェブ サービス ジャパン Database事業本部 Sr. Database Specialist Solutions Architectの堤勇人氏は説明する。

 DynamoDBの特徴は、「スケーラブル」「サーバー管理が不要」「エンタープライズ対応」の3点である。「リクエストが多くなっても低レイテンシーで稼働し、オートスケーリングで使った分だけ払う料金体系のため運用コストも抑えられます。企業ユース向けに、ACIDトランザクション保証やバックアップ・リカバリーの仕組みが備わり、従来のDBエンジニアが利用しやすいように、SQL互換言語もサポートしています」(堤氏)

 ただしDynamoDBが担うのはデータの蓄積までで、データ分析の際はデータをAmazon S3にエクスポートし、他のAWSサービスを使って分析をする。その際に抑えておくべき考え方が、「複雑でアドホックな分析をするクエリは別の基盤に任せるという割り切り」(堤氏)であるという。

高度な分析が可能なマネージドサービス「Athena」

 そこで“別の基盤”となるAWSアーキテクチャが、Athenaである。Athenaは、S3に保存されたデータに直接クエリ可能なサーバーレスのサービスである。「AthenaはAWSが提供するデータ分析基盤の1つです。データソースとDBを選んでSQLクエリを記述すると実行結果が返ってくる仕組みで、データを取り込んでクエリを掛けるデータウェアハウスとは異なります。セットアップ費用が不要で、実行したクエリの分しか料金がかからないコスト効率が良いサービスです」と堤氏は特徴を説明する。

 さらに多くの標準データ形式のサポートと、多様なデータソースとのコネクタによって、AWS内のサービスや他のクラウド、SaaS、オンプレミスのデータにもアクセスできる。独自のコネクタを作ることも可能であり、データソースコネクタをうまく活用することで、Athena単体だけで様々な分析が行える。

 Athenaを利用する際には、AWSのマネジメントコンソールのクエリエディタの画面で、そのままクエリを打つことができるほか、SDKを用いてプログラム上からSQLを実行することも可能である。ユースケースとしては、アナリストのアドホックな分析、複数のデータソースがある中からのデータ統合やETL処理などがある。

 「昨今の企業では、データを統合してデータ分析をして、そこからインサイトを得ることが必須のビジネス手順となっていますが、まさにそこでAthenaが使われています」(堤氏)

 このような観点から、DynamoDBとAthenaの組み合わせは、昨今のエンタープライズシステムにおけるデータ分析のベストプラクティス的な方法論の一つと表現できる。分析用にサーバーをプロビジョニングして使い終えたら落とすという作業が必要なく、使う時だけ自動でプロビジョニングしてくれるので、コストパフォーマンスも高い。ITエンジニアは、ビジネスを加速させるにあたり優先度が高いテクニックとして、DynamoDBとAthenaを適材適所で使い分ける方法論を理解しておくべきである。

DynamoDBとAthenaの特性を踏まえた上での使い分けが重要となる<br>(画面右はアマゾン ウェブ サービス ジャパン Database事業本部 Sr. Database Specialist Solutions Architectの堤勇人氏)
DynamoDBとAthenaの特性を踏まえた上での使い分けが重要となる
(画面右はアマゾン ウェブ サービス ジャパン Database事業本部 Sr. Database Specialist Solutions Architectの堤勇人氏)

AWSのデータ活用を促進する「Salesforce Connect アダプタ」

 さらにこのベストプラクティスをビジネスシーンで活用しやすくするためのソリューションとして、AWS向けの「Salesforce Connect アダプタ」が用意されている。AWSとSalesforceとのパートナーシップに基づいて開発された同アダプタを利用することで、カスタム開発をしなくても、Salesforceの画面でAWS上のデータ活用が簡単に行えるようになる。

 AWS上のデータをSalesforceで活用するケースを想定すると、例えばAWS上のECサイトに注文履歴のデータがあり、SalesforceのCRMやコールセンターシステムに取引先DB、問い合わせ情報DBがあるとする。その際にAWS上でリアルタイムに更新されていく情報を営業活動やコンタクトセンター対応に生かしたい場合、一般的には、①Salesforce 上に注文履歴のコピーを持ち、AWSで更新や追加がされたらその都度Salesforceにコピーしてくる、②Salesforceから都度コールアウトしてAWS上のデータを取得して画面表示する――という2つの形がある。ただしそれらを実践する際には、同期の頻度や間隔の検討、APIや画面表示のための開発など諸々の作業が必要になる。

 このようなユースケースにおいて、Salesforce Connectアダプタを使うと、接続方式や連携方法を考えずとも、設定だけでデータにシームレスに繋げることができる。Salesforceの中に持っているデータは「オブジェクト」と呼ばれているが、AWS上にあるデータをSalesforce Connectを使って繋ぐと、「外部オブジェクト」という形で他のSalesforce上のオブジェクトと同じように扱えるようになる。

 アーキテクチャとしては、「データそのものは持たず、テーブルの構造情報・メタデータだけを持ち、必要なタイミングで都度外部へアクセスしていく構成になっています。Salesforce Connectで繋いでおけば、画面を表示したタイミングや何らかの処理のタイミングで、裏でリアルタイムに繋いで最新のデータを取ってくる形です」と、セールスフォース・ジャパン ソリューション・エンジニアリング統括本部 Platform Specialist 田中直美氏は説明する。

 Salesforce Connect自体はSalesforceが以前から提供している機能であるが、先般のSalesforceとAWSの協業強化に伴い、AWS用のアダプタが続々と開発されている状況だ。「昨年夏にDynamoDB向けのアダプタをリリースし、今冬にAthena向けアダプタを提供開始しました。また今後は、リレーショナルDBの『Amazon RDS』向けアダプタも提供 する予定です」(田中氏)

ノーコードで簡単にアプリケーションを開発

 Salesforce Connectのユースケースとして田中氏は、①最新のAWS上のデータをSalesforceで活用する、②AWS上のデータを基に判断をして処理を自動化する、③AWSにアーカイブした過去の顧客対応履歴データの参照――という3つを挙げる。AWS上のデータを活用したアプリケーションを、ノーコードで簡単にSalesforce上に開発することができるが、その際には、AWS上のデータを単にSalesforce上に持ってきて画面に表示するだけでなく、Salesforceのデータに紐づけて管理や処理をするアプリケーションを作ることができる。また、ローコードツールの「フロー」を活用して、例えばAWS上の注文データに基づいた顧客ランク判定と変更処理を自動で行い、Slackで担当者に通知するなどのアクションに繋げることもできるという。

Salesforce Connectを活用することでSalesforce活用に様々なメリットが生まれる(画面右はセールスフォース・ジャパン ソリューション・エンジニアリング統括本部 Platform Specialist 田中直美氏)
Salesforce Connectを活用することでSalesforce活用に様々なメリットが生まれる
(画面右はセールスフォース・ジャパン ソリューション・エンジニアリング統括本部 Platform Specialist 田中直美氏)

 現在、各企業の中では複数のクラウド環境を利用することが当たり前になっている。そういった様々な環境に広がっているクラウドアプリケーションのデータをうまく連携させることで、システムをユーザー、自社双方にとってより使いやすく価値のあるものへと昇華させていくことができる。

 その中でAWSとSalesforceのユーザーは、Salesforce Connectによって大規模ユーザーに対応するアプリケーションをAWS上で運用し、膨大なデータの保管や分析をAWS側に委ねつつ、そこで得られる最新のデータや分析結果を社内での顧客接点管理や顧客体験の向上に活用することができるようになった。そしてその際には、柔軟にSalesforce側のアプリケーションを構築、追加開発でき、データ活用による深化した顧客関係が実現する。

 今後データを活用してビジネスをスケールしていくにあたっては、AWS上でのデータ活用とSalesforceによる顧客管理という組み合わせが、有効な選択肢になるはずである。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]