AWS AppSyncとAmazon DynamoDBについて

AWS AppSyncとAmazon DynamoDBについて

この記事では、AWS AppSyncとAmazon DynamoDBの2つのサービスについて説明した後、その使い方についても紹介していきたいと思います。

AWS AppSyncとは

AWS AppSyncは、アプリケーション開発において複数のデバイスからデータベース操作やデータの処理といったアプリケーションのバックエンドを提供するフルマネージド型のサービスです。また、AppSyncはGraphQLをベースとしているため、データへの問い合わせにはGraphQLを用いることとなります。GraphQLとはFacebookにより開発されたオープンソースの問い合わせ言語のことです。AppSyncを用いることでリレーショナルデータベースはもちろんのこと、NoSQLデータベースなどのデータベース上で用途や目的に合わせてアプリケーションを作成することが可能です。

AWS AppSyncを用いることで出来ることをもう少し具体的に説明します。まず、リアルタイムでの開発および同期を用いたオフラインプログラミングモデルの構築が行えます。数百万台におよぶ複数のデバイスからのリアルタイムでのアクセスが可能になるため、時・場所・デバイスを選ばずリアルタイムでの開発が可能であり、また、GraphQL subscriptionを用いてデータのどの部分を利用するかをリアルタイムで指定したり、特定のデータのみをリアルタイムで更新する、といったことも可能です。オフラインでもアプリケーションデータにアクセスしデータの追加や更新も実行できます。デバイスがオフラインの時に行った作業はAppSyncに接続した際に自動的に変更・更新が行われます。さらに、オフライン時のデータキャッシュ方法や、様々なネットワーク条件におけるキャッシュ更新の管理方法を独自に設定することも可能です。AppSyncを用いることでデータ要件をGraphQLを用いて指定することで、必要なデータだけを取得出来ることもAppSyncの強みです。

AWS AppSyncはGraphQLベースのAPIを作成し、作成したAPIに合わせたデータベースを自動的に作成してくれます。APIとはApplication Programming Interfaceの略称で、ソフトウェアとソフトウェア、アプリケーションとアプリケーションの間をつなぐ機能です。APIを利用することで外部の第三者が開発したソフトウェアやアプリケーションと連携し、その機能の一部を自身のプログラムに応用することが可能になります。これにより、元々自信で全て作成していたプログラムの一部をAPIを利用することで開発の効率化を図ることが出来ます。また、APIは信頼に値する有名な企業が公開している場合も多く、そういった企業のAPIを利用すれば一から自分でセキュリティレベルの高いシステムを構築する必要がありません。ユーザー側からしても、そういった有名企業のセキュリティを用いた方が安心しやすい、といったメリットもあります。API連携の例としては、SNSやアプリ会員の登録時にGoogleアカウントやその他のアカウントでログインが行えたことはないでしょうか?ああいったログイン処理の仕方もAPI連携を利用しています。Googleサイドから公開されているAPIを利用してログイン認証を行っています。AWS AppSyncはGraphQLを利用することでこうしたAPIの作成、利用を可能にしています。

Amazon DynamoDBとは

Amazon DynamoDBとは、データの格納と取得に特化したフルマネージド型のNoSQLデータベースを提供するサービスです。データの格納と取得に特化している、ということもありデータの書き込み、読み込み速度は1桁ミリ秒以下の絵遅延で行えるなど、高速での読み書きが可能です。NoSQLデータベースであるため、データの構造がリレーショナルデータベースとは異なり、「値」とその値を呼び出すための「Key」をだけを格納するというシンプルな構造をしています。データ数が膨大になりがちな昨今において、既に稼働しているリレーショナルデータベースにおいて、データが大きくなるとパフォーマンスに問題が生じていましたが、Amazon DynamoDBは容量が無制限であるため、どれだけデータ量が増えてもパフォーマンスの劣化は起こりません。IoTやゲーム業界など、データ量が多く、低遅延のシステムが望まれる業界で多く利用されます。一方で、リレーショナルデータベースとは異なりテーブル同士の結合が出来ない、単独のソフトウェアとしての利用が難しいといったデメリットもあるので、どういったシステムにデータベースを組み込むかによって判断が必要になってきます。高速で安定したデータベースを提供するのがAmazon DynamoDBの特徴と言えます。

AWS AppSyncとAmazon DynamoDBのつながり

AppSyncではGraphQLベースでAPIを作成し、また、APIに合わせてデータベースを作成することも可能です。この作成するデータベースにAmazon DynamoDBを利用することが可能です。

終わりに

ここまでお読みいただきありがとうございます。いかがだったでしょうか。今回はAWS AppSyncとAmazon DynamoDBを中心に紹介をさせて頂きました。データベースを利用することが多くなってきている昨今において、データベースと言えばリレーショナルデータベース!と考えてしまっている方も多いのではないでしょうか。データベースと一括りにしてしまっても、その種類や活用方法は多岐にわたります。ご自身が開発されているシステムに合わせて適したデータベースを選択することが大事です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

前の記事

EC2について

次の記事

Amazon SNSとCoudWatchの使い方