539 Views
December 12, 23
スライド概要
フルサーバレスで構築したアプリの NoSQLのやめどきを考える 2023/12/11 Serverless Meetup Tokyo
自己紹介 - @merutin 株式会社 DELTA所属 スタートアップの技術支援をメインで担当 - Lambda + DynamoDBで社内で利用するツールや予約サイトの作成 Railsのアプリケーションに一部 Lambdaを導入する Firestoreの最適化 一意な値のDataStoreとして、DynamoDBを導入 AWS / GCPのコスト削減
フルサーバレスでアプリケーションを構築する
サービスが拡大すると、分析がしたくなる DynamoDBにGSIを追加して、Scanしないよう に設定 Athenaで分析
管理画面等でなんでも検索できる画面が必要になる DynamoDBの値をリアルタイムで同期するた めに、DynamoDB Streamsを経由して、 Auroraに書き込みをする RDBとLambdaの相性が悪いので、読み込み をするために、ECSやRDS Proxyが必要にな る
NoSQLのメリット・デメリット - メリット - - スケールしやすい 安価にはじめられる 管理コストを下げられる Lambda / Cloud Functions と相性がいい デメリット - 複雑なクエリでデータの取得ができない 複数テーブルの Join、集計関数等 全件取得で動かすことはできるが、取得すると費用がかさむ
NoSQLのメリット・デメリット - メリット - - スケールしやすい 安価にはじめられる 管理コストを下げられる Lambda / Cloud Functions と相性がいい デメリット - 複雑なクエリでデータの取得ができない 複数テーブルの Join、集計関数等 全件取得で動かすことはできるが、取得すると費用がかさむ ⇒ 初期の段階に素早くスケールするアプリケーションの作成には有効 初期の想定以上の分析や検索がしたくなった場合に、改めてアーキテクチャを検討する必要がある とはいえ、検討する段階までサービスが提供できていれば、プロダクトとして成功しているのでは。