Upgrade to Pro — share decks privately, control downloads, hide ads and more …

これから始めるNoSQL!AWSのNoSQLサービスを紹介します!

 これから始めるNoSQL!AWSのNoSQLサービスを紹介します!

Amazon RDS/Amazon AuroraといったRDBMSのデータベースサービス以外にもAWSには非常に多くのデータベースサービスが存在しています。これらのサービスを活用することによってRDBMSでは実現しづらいユースケースにも対応することができます。このセッションではいくつかの例をあげてNoSQLサービスの活用方法を紹介していきます。

Akihiro Kuwano

April 21, 2023
Tweet

More Decks by Akihiro Kuwano

Other Decks in Technology

Transcript

  1. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. T O K Y O | A P R I L 2 0 - 2 1 , 2 0 2 3
  2. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. これから始めるNoSQL︕AWSの NoSQLサービスを紹介します︕ 桑野 章弘 アマゾン ウェブ サービス ジャパン合同会社 Sr. Specialist SA
  3. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. RDBMS以外にもあるAWSのデータ ベースサービス
  4. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 7 たくさんあります
  5. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 8 RDBMS以外にもある AWSのデータベースサービスとは
  6. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Purpose-built Databaseとは
  7. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 最新のアプリケーション要件 より多くのパフォーマンス、拡張性、可⽤性が必要 アクセスユーザー 1M+ データボリューム テラバイト、ペタバイト アクセス元 世界中から パフォーマンス ミリ〜マイクロ秒遅延 リクエストレート 毎秒百万 交通アクセス ウェブ、モバイル、IoT、 デバイス スケール スケールアップ/ダウン、 スケールアウト/イン 事業マネタイズ 従量制課金制 開発者アクセス API アクセス アプリの変更頻度 毎週やそれ以下の場合も オンライン ゲーム ソーシャル メディア メディア ストリーミング 電子商取引 共有経済
  8. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. アプリのアーキテクチャとパターンも進化
  9. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 従来のアプリ ケーション、ERP、 CRM、e コマー ス トラフィックの 多いウェブアプ リ、e コマースシ ステム、ゲーム アプリケーショ ン コンテンツ管理、 カタログ、ユー ザープロファイ ル キャッシュ、 セッション管理、 ゲームのリー ダーボード、地 理空間アプリ ケーション 不正検出、ソー シャルネット ワーク、レコメ ンデーションエ ンジン IoT アプリケー ション、DevOps、 産業テレメトリ 記録システム、 サプライチェー ン、銀⾏トラン ザクション 産業⽤機器のメ ンテナンス、取 引監視、フリー ト管理、ルート 最適化 Purpose-built databases
  10. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. すべての問題が釘ではなく、すべてのソリューションがハンマーではない
  11. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. データベースの選択 • AWS では多様な データベースの選択肢 • ワークロードに応じて 最適な選択が可能 Purpose built The right tool for the right job https://www.allthingsdistributed.com/2018/06/purpose-built-databases-in-aws.html 適材適所の選択 https://www.allthingsdistributed.com/2018/06/purpose-built-databases-in-aws.html
  12. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Amazon.com が実現した世界 コスト削減、パフォーマンス向上、 より速い⾰新を実現するために、2016年から すべてのOracleをAWSに移⾏開始 Purpose-Built Databases によって ワークロードに最適なDBエンジンを提供でき、 コストとユーザー体験の最適化を実現 Relational Key-value Document In-memory Graph Data warehouse Oracle databases AWS Purpose-Built Databases
  13. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. A one size fits all database doesn't fit anyone! (⼀つのデータベースでは全て にフィットしない︕)
  14. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. A one size fits all database doesn't fit anyone! (⼀つのデータベースでは全て にフィットしない︕) どんなかんじに フィットしないか教えて ほしい︕
  15. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. 実際にフィットしないユースケース
  16. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 実際にフィットしないユースケース もっとスケールしたい︕ もっと低いレスポンスタイムがほしい︕ 多ノードを経由するルートの計算がしたい︕ 少しづつ項⽬の違うデータを扱いたい/柔軟にデータを扱いたい︕ ⼤量のノードからのCPU監視情報を扱いたい︕ 20
  17. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. もっとスケールしたい︕ 21 Database
  18. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. もっとスケールしたい︕ 22 Database
  19. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. もっとスケールしたい︕ 23 Database
  20. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. もっとスケールしたい︕ 24 Database
  21. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. もっとスケールしたい︕ 25 Amazon DynamoDB 超⼤量のアクセス にもスケール可能 いくら きても ⼤丈夫
  22. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. どんな規模にも対応する⾼速で柔軟な キーバリュー データベース ⾼いセキュリティ デフォルトですべての データを暗号化 堅牢なセキュリティのため AWS Identity and Access Managementと完全に統合 スケールに応じた パフォーマンス 規模に関係なく、⼀貫した 数ミリ秒台の応答時間を実現 事実上無制限のスループットで アプリケーションを構築可能 グローバルデータベース 複数のAWSリージョンにまたがりテー ブルを簡単に複製することで、ローカ ルデータに素早くアクセスできるグ ローバルアプリケーションを構築 サーバーレス サーバーのプロビジョニング、 ソフトウェアのパッチ適⽤、 アップグレードは不要 ⾃動スケールアップ/ダウン データの継続的なバックアップ Amazon DynamoDB • フルマネージドなサーバーレスサービスを利⽤したい • 数ミリ秒レベルの⼀貫したレイテンシ性能を重視される • シンプルなクエリを利⽤する 選択指針
  23. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. もっと低いレスポンスタイムがほしい︕ 27 Database
  24. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. もっと低いレスポンスタイムがほしい︕ 28 Database 返答があるまで ミリ秒
  25. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. もっと低いレスポンスタイムがほしい︕ 29 Database 返答があるまで ミリ秒 マイクロ秒じゃな いと困る、、、
  26. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. もっと低いレスポンスタイムがほしい︕ 30 マイクロ秒を 実現 メモリ の速度 Amazon ElastiCache
  27. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. マネージド、Redis / Memcached 互換、低レイテンシー、インメモリデータストア マネージド 卓越した パフォーマンス 簡単に スケール可能 AWS が全てのハード ウェアとソフトウェアの セットアップ、設定、モ ニタリングを管理 マイクロ秒の応答時間のための インメモリ・データ・ストアと キャッシュ レプリカによる読み込みスケーリング; シャーディングによる書き込みと メモリーのスケーリング; 無停⽌でのスケーリング Amazon ElastiCache • ミリ秒未満レベルのリードレイテンシーが求められる • データ永続化の必要がなく、キャッシュなどの⼀時的⽤途が求 められる • Read Heavyなワークロード 選択指針
  28. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 多ノードを経由するルートの計算がしたい︕ 32 Database 太郎 花⼦ 栄⼀ 諭吉 鳳凰 聖徳 ⼀葉 唐草 ユー ザ ユー ザ お札 お札 硬貨 お札 硬貨 お札
  29. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 多ノードを経由するルートの計算がしたい︕ 33 Database 太郎 花⼦ 栄⼀ 諭吉 鳳凰 聖徳 ⼀葉 唐草 ユー ザ ユー ザ お札 お札 硬貨 お札 硬貨 お札 ここから ここから ここまでのルート 計算がしたい
  30. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 多ノードを経由するルートの計算がしたい︕ 34 Database 太郎 花⼦ 栄⼀ 諭吉 鳳凰 聖徳 ⼀葉 唐草 ユー ザ ユー ザ お札 お札 硬貨 お札 硬貨 お札 ここから ここから ここまでのルート 計算がしたい ユーザとお札と硬貨 のテーブルをJOIN するのはクエリが複 雑になりすぎる︕
  31. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 多ノードを経由するルートの計算がしたい︕ 35 太郎 花⼦ 栄⼀ 諭吉 鳳凰 聖徳 ⼀葉 唐草 ユー ザ ユー ザ お札 お札 硬貨 お札 硬貨 お札 ここから ここから ここまでのルート 計算がしたい クエリ 超シンプル︕ Gremlin: g.V().has(”name”,”太郎”) .repeat(out().simplePath()) .until(has(“name”,”⼀葉”)).path() Amazon Neptune 経路なら 任せて
  32. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. ⾼速 信頼性 オープン ミリ秒のレイテン シーで数⼗億の関係 を照会可能 3 つの AZ にまたがっ てデータを 6 つのレプ リカを保存 (完全バッ クアップと復元可能) Gremlin と SPARQL で簡単に強⼒なクエ リを作成可能 Apache TinkerPop & W3C RDF グラフモ デルをサポート 簡単 マネージドグラフデータベース Amazon Neptune • 関連を探索するクエリ (トラバーサル)を実⾏したい • データモデルに多対多の関連が多い • スキーマが様々である 選択指針
  33. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 少しづつ項⽬の違うデータを扱いたい/柔軟にデー タを扱いたい︕ 37 Database { "_id" : ObjectId("5f3e3ba61a60d45b9a288582"), “productType" : ”Book” , "name" : ”The kuwano book", ”releaseDate" : "2015-9-27", ”Author" : ”Akihiro Kuwano” } { "_id" : ObjectId("5f3e3ba61a60d45b9a288581"), ” productType" : ”DVD”, "name" : ”The kuwano book the movie", ”releaseDate" : "2015-9-27", ”Director" : ”Akihiro Kuwano”, ”Actor" : [ ”Akihiro Kuwano", “Narita Takashi" ] } 共存したい 商品マスタは本 もDVDも⼀つ にまとめたい
  34. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 少しづつ項⽬の違うデータを扱いたい/柔軟にデー タを扱いたい︕ 38 Database { "_id" : ObjectId("5f3e3ba61a60d45b9a288582"), “productType" : ”Book” , "name" : ”The kuwano book", ”releaseDate" : "2015-9-27", ”Author" : ”Akihiro Kuwano” } { "_id" : ObjectId("5f3e3ba61a60d45b9a288581"), ” productType" : ”DVD”, "name" : ”The kuwano book the movie", ”releaseDate" : "2015-9-27", ”Director" : ”Akihiro Kuwano”, ”Actor" : [ ”Akihiro Kuwano", “Narita Takashi" ] } 共存したい 商品マスタは本 もDVDも⼀つ にまとめたい
  35. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. { "_id" : ObjectId("5f3e3ba61a60d45b9a288582"), “productType" : ”Book” , "name" : ”The kuwano book", ”releaseDate" : "2015-9-27", ”Author" : ”Akihiro Kuwano” } { "_id" : ObjectId("5f3e3ba61a60d45b9a288581"), ” productType" : ”DVD”, "name" : ”The kuwano book the movie", ”releaseDate" : "2015-9-27", ”Director" : ”Akihiro Kuwano”, ”Actor" : [ ”Akihiro Kuwano", “Narita Takashi" ] } 共存したい 少しづつ項⽬の違うデータを扱いたい/柔軟にデー タを扱いたい︕ 39 Database 共存したい 商品マスタは本 もDVDも⼀つ にまとめたい TEMPカラムいっぱ い作ると良い︖ (バッドノウハウ) ID 商品タイプ temp1 temp2 temp3 5f3e3ba6 1a60d45 b9a2885 81 DVD <Actor> <Author> <未使⽤> どのカラムがな んだったっ け、、、
  36. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. { "_id" : ObjectId("5f3e3ba61a60d45b9a288582"), “productType" : ”Book” , "name" : ”The kuwano book", ”releaseDate" : "2015-9-27", ”Author" : ”Akihiro Kuwano” } { "_id" : ObjectId("5f3e3ba61a60d45b9a288581"), ” productType" : ”DVD”, "name" : ”The kuwano book the movie", ”releaseDate" : "2015-9-27", ”Director" : ”Akihiro Kuwano”, ”Actor" : [ ”Akihiro Kuwano", “Narita Takashi" ] } 共存したい 少しづつ項⽬の違うデータを扱いたい/柔軟にデー タを扱いたい︕ 40 Database 共存したい テーブル DVD 商品マスタは本 もDVDも⼀つ にまとめたい テーブル多い な、、、まとめ られなかっ た、、、 テーブル 本 テーブル Blu-ray
  37. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. 少しづつ項⽬の違うデータを扱いたい/柔軟にデー タを扱いたい︕ 41 商品マスタに本も DVDも⼀つにま とめられた︕︕︕ シンプル︕︕︕ Amazon DocumentDB 形がこと なっていて も問題なし { "_id" : ObjectId("5f3e3ba61a60d45b9a288582"), “productType" : ”Book” , "name" : ”The kuwano book", ”releaseDate" : "2015-9-27", ”Author" : ”Akihiro Kuwano” } { "_id" : ObjectId("5f3e3ba61a60d45b9a288581"), ” productType" : ”DVD”, "name" : ”The kuwano book the movie", ”releaseDate" : "2015-9-27", ”Director" : ”Akihiro Kuwano”, ”Actor" : [ ”Akihiro Kuwano", “Narita Takashi" ] } 共存
  38. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. ⾼速、スケーラブル、⾼可⽤かつマネージド型MongoDB互換のデータベースサービス マネージド AWSによる管理: ハード ウェアプロビジョニング、 ソフトウェアパッチ、セッ トアップ、設定、バック アップは不要 ⾼速 毎秒数百万のリクエスト、 ミリ秒のレイテンシー MongoDBとの互換性 MongoDB Community Edition 3.6との互換性; 同⼀のドライバー、 ツールが利⽤可能 信頼性 フルバックアップと復元を⾏ う3つのAZにまたがる6つの データのレプリカ Amazon DocumentDB • JSON形式のデータをそのまま扱いたい • 構造を意識したドキュメント指向の検索 • 柔軟なスキーマ変化に追従する柔軟性のあるデータの格納 • 後から属性情報の変更が発⽣しやすいワークロード 選択指針
  39. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. ⼤量のノードからのCPU監視情報を扱いたい︕ 43 Database ⼤量のデータ を蓄積
  40. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. ⼤量のノードからのCPU監視情報を扱いたい︕ 44 Database ⼤量のデータ を蓄積 クエリが遅いし メモリいっぱい積 むと⾼い︕
  41. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. ⼤量のデータ を蓄積 ⼤量のノードからのCPU監視情報を扱いたい︕ 45 クエリ早いし コストも安い︕ いっぱい あっても ⼤丈夫 Amazon Timestream
  42. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. リレーショナル・データベースに対 して1,000倍速く、コストは1/10 秒間数百万回の挿⼊率で データを収集(10M/秒) 数⼗億件の ⽇次イベント 適応型クエリ処理エンジンが安定し た予測可能な パフォーマンスを維持 時系列分析 補間、スムージング、 および、 近似のための 組み込み関数 サーバレス ⾃動化されたセットアップ、構成、 サーバのプロビジョニング、ソフトウェア のパッチ適⽤ ⾼速でスケーラブルな完全マネージド時系列データベース Amazon Timestream • 時系列データを扱う • 多数のソース (IoTデバイスなど) からの頻繁に送信される • 時間間隔でクエリ発⾏/分析を実⾏したい 選択指針
  43. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. このように、、、 • 各データベースの特徴を活かして選 択することでより⾼いパフォーマン ス、より低いコスト、より低いTCO を実現することが可能になる • これがAWSがPurpose-built Databaseといっている内容になりま す 47 Purpose built The right tool for the right job
  44. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. まとめ
  45. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. まとめ • AWSのデータベースサービスは様々な種類のものが存在している • アプリケーション要件で使い分けることにより最適化することが可能 =Purpose-built Database • 新しいプロジェクトや、今のプロジェクトの改善の際にどんなデータ ベースを使えばいいか考えてみてはいかがでしょう︕︖ • 迷ったらSAまでご相談ください︕ 49
  46. © 2023, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. Thank you! © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.