【AWSセッション】今だから知りたいAWSのデータベース2020基礎

みなさま、こんにちは。
スカイアーチネットワークスの西日本営業課です。

毎年5月~6月に東京と大阪で開催されているAWS Summitですが、
今年はコロナウイルスの影響もあり、オンラインで開催されました。

今回は、そのAWS Summitで公開された
「今だから知りたいAWSのデータベース2020 基礎」
というライブセッションのまとめをご紹介します。

1年前までITとは無縁のメーカーに勤めていた私にとっても
理解しやすく、特にAWSをこれから勉強していく方に
おすすめしたい内容でした。

そもそもAWS Summitとは?

AWS Summitとは、世界中で開催されているAWSのイベントの1つで
日本で開催されるAWS関連イベントの中では最大規模のものとなります。

AWSの最新サービスやその活用方法、既存サービスの事例などについての
講座や展示が行われるため、AWSに関するさまざまな知識を
得る事ができる機会となっています。

★こんな方にオススメです★
・これからAWSに触れていきたい方
・AWSの最新情報をキャッチアップしたい方

ライブセッション基本情報

ライブセッション名:今だから知りたいAWSのデータベース2020 基礎
登壇者:アマゾンウェブサービスジャパン株式会社 パートナー技術本部
ソリューションアーキテクト 髙橋 敏行様
時間:33分間
概要:AWS におけるデータベースは、適材適所の選択が重要です。
2020 年現在、AWS ではリレーショナルデータベース、key-value、ドキュメント、
インメモリ、グラフ、時系列、台帳データベースを含む専用データベースエンジン
から選択できます。本セッションではデータベースサービスの概要をお伝えし、
AWS におけるデータベースの基礎をお伝えいたします。

受講しようと思った経緯

私が今回このライブセッションを受講しようと思ったきっかけは
AWS認定ソリューションアーキテクト-アソシエイトの取得に役立ちそうだったからです。

AWS認定プラクティショナーは無事に取得できたのですが
次の段階にあたるソリューションアーキテクトの試験では
AWSサービスに対するより深く、技術的な知識が必要となります。
もちろんAWSのデータベースも多く出題されます。

また、AWSのデータベースはよく使うサービスなので、しっかり学ぶことで
お客様への提案の質・幅も格段に向上すると考えました。

ライブセッション内容

【アジェンダ】

1、イントロダクション
2、マネージドサービスとデータベース
3、目的別のデータベースサービス – Purpose Built
4、データカテゴリとデータベース
5、事例のご紹介
6、まとめ

【マネージドサービスとデータベース】

▼オンプレミス(例:社内に置いてある物理のサーバ)のデータベースの運用の課題点
オンプレミスのデータベースの運用管理は、複雑で時間とコストがかかります。
特に、以下のようなタスクや問題点が発生するため
データベースを個人で管理するのはなかなか大変です。

・ハードウェアとソフトウェアのインストール、設定、パッチ適⽤、バックアップ
・パフォーマンスと⾼可⽤性の問題
・コンピュートとストレージのためのキャパシティプランニングと
クラスタ(データベースで記録できるデータ量の単位)のスケーリング
・セキュリティとコンプライアンス(※)
※データベースでは、非常に機微なデータを扱うことが多いため、
セキュリティやコンプライアンスの要件に対応する業務が発生します。

下にあるグラフにもあるように、本来データベース管理者が注力すべき
スクリプティングやコーディング、パフォーマンスチューニング以外のタスクが
かなり多くあることがわかります。

▼AWSにおけるマネージドサービス
オンプレミスではなく、AWSを利用すると
先ほど紹介したようなデータベース管理者のタスクを、
以下の表にある通りAWSにほとんど任せることができます。

このようなサービスを「マネージドサービス」と言います。
AWSにはデータベース以外にも、このようなマネージドサービスが多くあります。
オンプレミスを利用していた方からすると、自分で管理する部分が大幅に減るので、
他の業務に注力できます。

【目的別のデータベースサービス – Purpose Built】

▼Purpose Builtについて
AWSのデータベースは利用用途によって最適なデータベースを選べるように、
数多くのデータベースの種類が用意されています。
AWSでは、その考え方を「Purpose Built」と言います。
Purpose Builtの意味ですが、「目的別に作られた専用のもの」という意味になります。

例えば、車のトラックの場合、「製品を運ぶトラック」や「土を運ぶトラック」、
「乗用車としてのトラック」など、目的によって使うトラックが変わります。

下の図にあるように、AWSのデータベースには、様々な用途に応じたデータベースがあります。
データベース毎の特徴や詳細は、後ほどご紹介します。

▼Amazon.comでのデータベース用途例
Amazon.comでのAWSのデータベース活用例を少しご紹介します。

Amazon.comではもともとOracleのデータベースを使っていました。
しかし、コスト削減、パフォーマンス向上、より速い革新を実現するために、
2016年にOracleからAWSに移行しました。

その結果、Purpose Builtの考えに沿ったデータベースを選択したことによって、
ワークロードに最適なデータベースエンジンを提供でき、
コストとユーザー体験の最適化を実現しました。

【データカテゴリとデータベース】

ここからは先ほど少し触れたデータカテゴリと
AWSのデータベースの種類のご紹介になります。
数が多いので、特徴とユースケースに要点を絞って記載します。

▼Amazon Relational Database Service(Relationalデータ)

・Relationalデータとは?

①たかしさんは100円、ゆきさんは1000円持っています。
②たかしさんはゆきさんから1000円もらいました。
③たかしさんの所持金は1100円になり、ゆきさんの所持金は0円になりました。

上記のように、データのやり取りをする流れや関係性のことをRelationalデータと言います。
さらにそのデータを記録してくれるのがRelationalデータベースになります。

・Amazon Relational Database Serviceのユースケース
 ⇒一般的なシステムの基幹、従来のアプリケーション、ERP、CRM、eコマースなど

・Amazon Relational Database Serviceの特徴
 ⇒6つのデータベースエンジンを選択可能(MySQLやPostgreSQL等)
⇒ハードウェアやソフトウェアのメンテナンスが不要/やりやすい。
⇒数クリックでデータベースのサイズを拡張可能
⇒マルチAZ構成(データベースを別々の場所に配置し、
お互い同期することで可用性を高める構成)にすると
災害時、障害発生時でもサービス断が起きにくいため安心。
⇒保管時と伝送中のデータの暗号化が可能:業界標準、保証プログラムに対応。

▼Amazon DynamoDB(Key-value)

・Key-valueとは?
 ⇒キーとバリューという非常にシンプルな構造になっており、バリュー(値)が欲しい場合は、
キーを使ってデータを取ってくるといったデータの取り出し方をします。
⇒シンプルな構造なおかげもあり、パフォーマンスやスケーラビリティが優れています。

・Amazon DynamoDBのユースケース
 ⇒トラフィックの多いウェブアプリ、eコマースシステム、ゲームアプリケーション

・Amazon DynamoDBの特徴
 ⇒データベースのスケール(大きさ)が無制限なのでいくらでも使える。
⇒サーバレス(お客様がサーバを意識する必要が全くない)なので、
ソフトウェアのパッチ適用やアップグレードは必要ない。
さらにバックアップも継続的に自動取得。
⇒デフォルトですべてのデータを暗号化。

▼Amazon DocumentDB(Document)

・Documentとは?
 ⇒「JSON」や「XML」といった記法で書かれたデータを指します。
そのデータを直接扱えるデータベースをDocumentDBと言います。
⇒昨今のアプリケーションとユーザー間では、
JSONでデータのやり取りをすることがスタンダードになってきました。
一方で、アプリケーションとRelationalデータベース間で
下の図のように、JSONのやり取りをする場合は、
一旦そのファイルをデータベース用に変換してやり取りする必要があります。

⇒オープンソースの有名なDocumentデータベースで
MongoDBというデータベースがあります。

・Amazon DocumentDBのユースケース
 ⇒コンテンツ管理、カタログ、ユーザープロファイル

・Amazon DocumentDBの特徴
 ⇒MongoDB互換のデータベース
⇒高速、スケーラブル、高可用
⇒マネージドサービスなので、
設定、バックアップ、ソフトウェアパッチ等はAWSにお任せ。

▼Amazon ElastiCache(In-memory)

・In-memoryとは?
 ⇒超高速でデータを反映させるときに使うやり方
⇒In-memoryデータベースは、ディスクにアクセスする必要性をなくすことにより、
最小限の応答時間で達成するよう設計されたデータベース。
⇒キャッシュとして使われることが多い。

・Amazon ElastiCacheのユースケース
 ⇒キャッシュ、セッション管理、ゲームのリーダーボード(ランキング)、
地理空間アプリケーション

・Amazon ElastiCacheの特徴
 ⇒マネージドサービスの為、AWSが全てのハードウェアとソフトウェアのセットアップ、
設定、モニタリングを管理してくれる。
⇒Redis / Memcached互換
⇒低レイテンシー(データの遅延がほぼない)

▼Amazon Amazon Neputune(Graph)

・Graphとは?
 ⇒データ同士の関係性を簡単に表すことができる。
⇒Key-valueとは違い、多 対 多のデータ。
⇒Relationalデータベースでも、同様のことが実現できるが、
検索に時間がかかってしまいます。

・Amazon Neputuneのユースケース
 ⇒不正検出、ソーシャルネットワーク、レコメンデーションエンジン

・Amazon Amazon Neputuneの特徴
 ⇒瞬時に数十億もの関係性の照会が可能
⇒3つのAZ(アベイラビリティゾーン=DC群)にまたがって
データを保存しているので安心。

▼Amazon Timestream(Time-series)

・Time-seriesとは?
⇒時系列データのこと

・Amazon Timestreamのユースケース
⇒IoT アプリケーション(EX:温度の変化を記録する)、DevOps、産業テレメトリ

・Amazon Timestreamの特徴
⇒データ収集スピードがRelationalデータベースに対して1,000倍速く、コストは1/10。
⇒サーバレス

▼AmazonQLDB(Ledger)

・Ledgerとは?
⇒日本語にすると「台帳」
⇒完全に不変で、変更や削除ができない変更履歴のこと

・AmazonQLDBのユースケース
⇒記録システム、サプライチェーン、銀⾏トランザクション
⇒変更履歴を修正してはいけない場所で使用されることが多い。

・AmazonQLDBの特徴
⇒データの削除、変更を不可能にできる。
⇒暗号化してデータ履歴を出力可能。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

【事例のご紹介】

▼お客様
・Airbnb様
・民泊の仲介サイト

▼AWSのデータベース利用用途
・サイト内で様々なデータを取り扱っており、Purpose Builtの考え方に準じ、
扱うデータ毎にあったデータベースを利用しています。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

【まとめ】

  • ⽬的に応じてデータベースを選択する。
  • AWS では多様なデータベースの選択肢がある。
  • ワークロードに応じて最適な選択が可能。

所感

AWSのデータベースのサービスは数多くありますが
「どういう用途に使うのか」、「どういった特徴があるのか」を抑えておくだけで
グッと理解度が深まると思います

難しいサービスもありますが、何に使われているのかを知ることができれば
利用するときのイメージもしやすくなるかと思います。
それを知ることができる今回のようなセッションはありがたいですね。

AWSは頻繁にこういったセミナーを開催しているので
興味がある方は積極的に参加することをオススメいたします。

最後に、スカイアーチでは、今回ご紹介したようなAWSのRDSはもちろん
EC2やELBといった他のAWSのサービスについても
構築から運用監視全て弊社に任せていただける
フルマネージドサービスを提供しております。

https://www.skyarch.net/proactive/cloud/aws/

もし、AWSに関してお困りごとやご相談がございましたら、
お気軽にお問い合わせ頂けますと幸いです!