(レポート) DAT202: AWSのデータベース機能を理解する

2015.10.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。オペ部の半瀬です。

 

はじめに

 

AWS re:Invent 2015 盛り上がっていますね。弊社ブログではアドバンスト以上のセッションレベルでの記事が(現時点で)多くあげられていますが、セッションレベル初級 (200) で導入編を取り扱うセッションもあります。 (コチラでレベルごとのセッション一覧をひっぱれます。)

 

今回は、AWSのマネージドデータベースサービスについて、特徴/利点を改めて整理をしているセッションです。

 

タイトル:目次(Slide 5/74)

 

タイトル:(DAT202) Managed Database Options on AWS (弊社訳:AWSのデータベース機能を理解する) 目次: ・なぜマネージドデータベースサービスなのか ・AWS マネージドデータベース ・DynamoDB - non-relational managed database ・RDS - relational managed database ・ElastiCache - managed in-memoru cache ・RedShift - managed data warehouse ・SQL vs NoSQL ・利用例とまとめ

 

なぜマネージドデータベースサービスなのか(Slide 6-12/74)

(※以下、スライドの要約です。) ・もしオンプレミスでデータベースを用意するとしたら、こんなにたくさんのやることがあります。 ・ハードウェア、OS、セキュリティ、また、それらのアップデート、バックアップなどの問題を解決しなければなりません。 dat202-managed-database-options-on-aws-7-638

・もしEC2をデータベースとして使用するとしたら、一部はAWSに任せることができますが、まだいくつかのことは手元に残り対処しなければなりません。 ・ハードウェア、OSインストールには心配しなくてもよくなりますが、データベースレベルの事柄には、まだ気を配らなければなりません。アップデート、パッチ、レプリケーション、バックアップなどがそれです。 dat202-managed-database-options-on-aws-9-638

・もしフルマネージドデータベースを選択したとしたら、、あなたはアプリケーションのことのみ考えるだけで良いでしょう。 ・バックアップやレプリケーションその他、パッチやアップデートにも煩わされることななくなるでしょう。 dat202-managed-database-options-on-aws-11-638

AWS マネージドデータベース(Slide 13-/74)

SQL vs NoSQL(Slide 16-17/74)

・NoSQLとSQLはどのように選択されるか?? dat202-managed-database-options-on-aws-17-638

<NoSQL> ・スキーマレス、読み書きし易い、シンプルなデータモデルに適する ・スケールし易い ・あらゆるスケールでパフォーマンスと可用性に焦点をあてている <SQL> ・強いスキーマ、複雑な関係性、トランザクションとjoin ・スケールし難い ・スケールと可用性よりも、一貫性に焦点を当てている

DynamoDB - non-relational managed database(Slide 18-26/74)

・Amazon DynamoDBとは? ・NoSQL database、フルマネージド、一桁ミリ秒のレイテンシ、大規模かつシームレスなスケーラビリティ、低コスト ・よくあるユースケース dat202-managed-database-options-on-aws-20-1024 ・堅実な耐久性と可用性を自動レプリケーションによって実現 dat202-managed-database-options-on-aws-22-1024 ・想定スループットに対して要求されるパフォーマンスを定義することができる ※ Write capacity units / Read capacity units ・使った分だけお支払い dat202-managed-database-options-on-aws-25-1024

RDS - relational managed databas(Slide 27-37/74)

・Amazon RDSとは? ・リレーショナルデータベース、フルマネージド、予測可能なパフォーマンス、シンプルで素早いスケール、低コスト ・よくあるユースケース dat202-managed-database-options-on-aws-29-1024 ・RDS Feature Matrix dat202-managed-database-options-on-aws-30-1024 ・Amazon Aurora: 高速、可用性、MySQL互換 ・同じハードウェア上で、MySQLの5倍の速度 ・SysBentch: 100K[write/sec],500K[reads/sec] ・99.99%の可用性 ・3つのAZにまたがり、6つのレプリケート ・64TByteまで拡張可能、リードレプリカは15まで用意できる ・Multi-AZデプロイによる高い可用性:プロダクションのDBにエンタプライズグレードのフォールトトレランスを提供 ・クロスリージョンレプリケーション:データ局所性の解消やより簡易なデータマイグレーションに ・ディザスタリカバリ ・データを顧客により近い場所に ・使った分だけお支払い dat202-managed-database-options-on-aws-36-1024

ElastiCache - managed in-memoru cache(Slide 38-43/74)

・Amazon ElastiCacheとは? ・インメモリなKVS、ハイパフォーマンス、memcachedとRedis、フルマネージド(zero admin) ・よくあるユースケース ・データベースキャッシュとして:パフォーマンス/コスト最適化を実現する ・エフェメラルなキーバリューストアとして ・高いパフォーマンスを要求されるアプリに:リーダーボード、セッションマネージメント、イベントカウンター ・Memcahed , Redis の選択 dat202-managed-database-options-on-aws-41-638 ・ElastiCacheのお支払い dat202-managed-database-options-on-aws-42-638

RedShift - managed data warehouse(Slide 44-53/74)

・Amazon Redshiftとは? ・リレーショナルデータウェアハウス:早く、安く、沢山の単純なデータを ・大規模な並列処理(PetaByteでスケール)、フルマネージド、HDD&SSDプラットフォーム、$1,000/TB/year($0.25/hours〜から) ・よくあるユースケース dat202-managed-database-options-on-aws-46-638

・Redshiftのアーキテクチャ dat202-managed-database-options-on-aws-47-638

・リーダーノード ・SQLエンドポイント、メタデータを格納、クエリ最適化、クエリ実行プランを調整 ・コンピューティングノード ・SQLを実行し中間結果を保持する、並列分散処理(クエリ、ロード、バックアップ、リストア、リサイズ) ・$0.25/hour で始められ、最大2PBのデータを扱うことができる ・ノードタイプの選択 ・DC1ノードタイプ:SSD:160GB〜326TBでスケール(パフォーマンスへの負荷が高いワークロード向け) ・DS2ノードタイプ:HDD:2TB〜2PBでスケール(大容量データのワークロード向け) ・継続的な差分バックアップ ・コンピューティングノードのクラスター間コピー ・継続的にAmazon S3にバックアップし、S3側でもクロスリージョンでバックアップ ・Streaming Restore dat202-managed-database-options-on-aws-49-638

・堅固なフォールトトレランス ・ディスク単位の障害 → ノード単位 → ネットワーク単位 → リージョン単位(ディザスタリカバリ) ・使った分だけお支払い dat202-managed-database-options-on-aws-51-638

利用例とまとめ(Slide 54-74/74)

※ 長くなってきましたので、利用例は大幅に割愛します。(詳細はスライドに) ・利用例:EC2上のデータベースをフルマネージドデータベースに移行 ・期待したこと:費用削減、オペレーションの負担軽減、パフォーマンスの向上 ・特徴:全てのフルマネージドDBサービスを全て利用 ・結果:分析コストを40%低減、スケールがより簡単に(1億ものデバイスに対応するため)、2桁(millisec?)レイテンシのAPIレスポンスを保証 ++ 採用方針も変わった dat202-managed-database-options-on-aws-65-638

・まとめ ・AWSフルマネージドデータベースの利点 ・インストール、パッチ、アップデートをAWSに任せられる ・サービスの成長に合わせて簡単にスケール ・使った分だけお支払い。前払い費用なし ・他のAWSサービスとの組み合わせが容易 dat202-managed-database-options-on-aws-71-638

さいごに

 

AWSフルマネージドデータベースのセッションをご紹介しました。日々の業務で全てのサービスを触る機会はなかなかありませんので、改めて要点を確認できてよかったかと思います。

それではー。