Presented by: Tomoki Nishinaka, Yu Zhouxun PayPayの機能の一つとして2020年4月に新たにリリースされた通知サービスでは、スケーラビリティとパフォーマンスを重視し、数々のデータストアソリューションの中からDynamoDBを採用しました。通知センターの…
メディアプロダクト開発部マーケティングサービス開発グループの我妻謙樹です。クックパッドにおける広告開発システム全般の新規開発・保守・運用を担当しています。 マーケティング事業全般やチーム体制については、前回の記事でご紹介しました。こちらを読んで頂ければ、メディアプロダクト事業部をめぐる組織体制や、マーケティングサービス開発グループの技術スタックについて概要を掴んでいただけると思います。 今回は、その記事でも触れた広告配信サーバーの技術的な取り組みについてご紹介します。その中でも特に、Amazon DynamoDB Accelerator (DAX) の活用に焦点を絞ってお伝えします。 背景 従来、広告をアプリ側で表示させるためには、マーケティングサービス開発グループがオーナーとして開発している広告 SDK を、クックパッド本体アプリに組み込み、非同期に広告配信サーバーにリクエストを行うこと
Amazon Web Services ブログ Amazon DynamoDB グローバルセカンダリインデックスを設計する方法 大学時代、私はリレーショナルデータベースのシステム要件をモデル化するために、エンティティ関係図を作成しました。このプロセスでは、ソフトウェアシステムのすべてのエンティティを検索し、それらのエンティティ間の関係を定義しました。次に、データベースがどのクエリをサポートする必要があるかを判断する前に、関係とエンティティをデータベーステーブルにモデル化しました。データベーススキーマを設計するこの方法は、スケーラビリティとより一貫したパフォーマンスを利用するために非リレーショナルデータベースを使い始めるまではうまく機能しました。 非リレーショナルデータベースでは、スキーマ設計のアプローチは逆になります。データベーススキーマを設計する前に、アプリケーションが必要とするクエリを
Data modeling with Amazon DynamoDB 本記事はre:Invent 2019のセッション「CMY304 - Data modeling with Amazon DynamoDB」を 開発者視点で噛み砕いた レポート兼解説記事です。 本記事ではセッション内容を元とした形の感想記事ですので、スピーカーが語っていない個人的な感想が多く含まれています。もしオリジナルの内容に絞った情報を知りたい場合は公式のセッション動画およびスライドの公開をお待ちいただければと思います。 Speaker Alex DeBrie (@alexbdebrie) Serverless Inc.のEngineering Manager, AWS Data Heroの方です。 DynamoDBのことが学べる「DynamoDBGuide」および「DynamoDBBook.com」を執筆されています
Amazon Web Services ブログ トランザクションを使用した Amazon DynamoDB の一意制約のシミュレーション 大抵のリレーショナルデータベースシステム、そして一部の非リレーショナルデータベースシステムには、ユニークキーまたはユニーク制約として知られるコンストラクトがあります。この機能は、列またはフィールド内のすべての値が行全体で一意であることを確実にします。 たとえば、User テーブルがあるとします。それには、各ユーザーを一意に識別するプライマリキーとして UUID があるかもしれませんが、同じくユーザーにとって一意である必要があるユーザー名フィールドと E メールフィールド (DynamoDB 用語では「属性」) もあるかもしれません。このユースケースは、DynamoDB トランザクションに関する AWS Summit 2018 DAT374 セッションで言
ユースケース: リアルタイム入札 (RTB) および広告ターゲティングでのユーザープロファイルの保存 RTB や広告ターゲティングのユースケースでは、100 ミリ秒以下のリアルタイムレスポンスのレイテンシーが必要です。この低レイテンシーを保証するために、アドテック企業はデータベースアクセスを含む処理フローの各ステップのレイテンシーを管理する必要があります。さらに、1 日あたり約 1,000 億のインプレッションを処理する RTB プラットフォームでは、毎秒数百万のリクエストを処理し、数十億のユーザープロファイルや数百テラバイトのデータを保存するデータベースが必要です。このような規模では、ごくわずかな入札に回答できないだけでも、100 万ドルの損失になる可能性があります。こうした理由から、AdRoll などのアドテック企業は DynamoDB を利用して、1 桁台のミリ秒のレイテンシーをあら
AWS Database Blog How to design Amazon DynamoDB global secondary indexes Back in college, I created entity-relationship diagrams to model the system requirements of a relational database. The process involved finding all of the entities of the software system and defining relationships among them. I then modeled the relationships and entities into database tables before deciding which queries the
AWS News Blog New – Amazon DynamoDB Transactions May 20, 2024: As of September 2022, DynamoDB now supports 100 items per transactions. March 13, 2020: Post updated to clarify how to use transactions with global tables and the increase in the maximum number of items per transaction from 10 to 25. Over the years, customers have used Amazon DynamoDB for lots of different use cases, from building micr
AWS Database Blog Building Distributed Locks with the DynamoDB Lock Client Alexander Patrikalakis and Sasha Slutsker are senior software development engineers with Amazon. At Amazon, teams all across the company build upon AWS services just like AWS’s external customers. Here we have a contribution from Alex and Sasha, who work on teams supporting Amazon.com about a new client library that they de
こんにちは。ソリューションアーキテクトの江川(@daiti0804)です。本日は、AWS のソリューションアーキテクトであるGowri Balasubramanian が、AWS Database Blogに投稿したChoosing the Right DynamoDB Partition Key をご紹介します。 このブログ投稿では、リレーショナルデータベースから DynamoDB へ移行するにあたって、適切なパーティションキーを選択するための重要な考慮事項と戦略を説明します。これはDynamoDB を利用するスケーラブルで信頼性の高いアプリケーションの設計と構築において重要なステップです。 パーティションキーとは DynamoDB では二種類のプライマリキーをサポートします: パーティションキー(Partition key): ハッシュキー(以前の名称)としても知られていますが、パーテ
動機など 最近、Serverlessの文脈からDynamoDBのテーブル設計の相談を受けることが多くなってきていて、Podcastでも話したけどけっこう図とかが無いと説明しづらい領域なので、まとまった資料がほしいなということでまとめてみる。 cloudinfra.audio どう考えても長編大作エントリ不可避なので気力が続けば第二巻以降に続きます…!(フィードバックが多いと頑張れるかも…!) 本巻の対象と前提知識 本巻はDynamoDBのデータモデリングにスコープを絞っています。DynamoDBおよびデータベースの一般用語などについての説明は省きます。 前提知識としては以下のようなものになるかと思います。 DynamoDBのサービスとしての概要や用語( WCU , RCU , GSI , LSI など)を知っている Hash TableやB-Tree(B+Tree)といったデータ構造がどん
サーバレスアーキテクチャを検討する際に、データベース層をどうするかはよく議論になります。リレーショナルデータベースに慣れている人は、なんとか RDS を採用できないか考えるのですが、現状は DB のコネクションプール問題などで RDS を用いるのはアンチパターンと言われています。 代替として用いられるのが NoSQL 型のデータベースである DynamoDB です。前述のような問題は発生せず、AWS でサーバレスなシステムを構築する際にデータベース層に採用されることが多いです。 しかし、これは私だけかもしれませんが、DynamoDBの(というよりも NoSQL 型データベースの?)設計に慣れていないこともあり、 「この要求・要件を実現するときに、どうテーブル設計すべき?」 「この設計で将来の機能拡張に耐えられるの?」 と不安になるシーンが多いです。特に後者が多く、これまでも「既に見えている
今年は始めて、re:Inventに参加してきたので、その際に見た「Amazon DynamoDB: Data Modeling and Scaling Best Practices」というセッションの内容を共有したいと思います。 内容をだいぶ端折ってるので、間違っている場合には、びしばしツッコミいただければと思います。 では、まいります。 1. CacheはCashなり なんでDynamoDBを使うかといえば、やっぱり、ポチポチっと設定するだけで簡単に読み込み、書き込み性能を上げたり、下げたりできるっていうのが大きなポイントかと思います。 ただ、設定した性能も、データのアクセスパターンによっては思い通りの性能が出ないことがあります。 例えば、ReadCapacityを 100から5,000 に上げたとします。そうると、DynamoDBは、「オレ1人では捌き切れない」と思って、パーティション
Amazon DynamoDBは、RDSのようなインスタンスサイズによる課金モデルではなく、ストレージのデータ使用量とスループットを基にした課金モデルになっている。 インスタンスサイズによる課金モデルでないデータストア系サービスとして、他にはS3、Kinesisなどがある。 これらは、AWSの中でも、フルマネージドサービスと呼ばれる位置づけとなるサービスだ。 フルマネージドサービスは、ElastiCacheのようなそうでないものと比較し、AWSに最適化されていて、サービスとしてよくできていると感じている。 Mackerelの時系列データベースのスタックの一つとして、DynamoDBを採用している。 時系列データベースの開発は、コストとの戦いだったために、それなりにコスト知見が蓄積してきた。(時系列データベースという概念をクラウドの技で再構築する - ゆううきブログ) (※ 以下は、2018
http://aws.amazon.com/jp/dynamodb/#whentousedynamodb いつDynamoDBを使うべきか?いつRDBを使うべきか? 最近のwebベースアプリケーションは大量のデータを生成・消費する。例えば、オンラインゲームをスタートするときは数千ユーザで軽いデータベース負荷(10write/sec, 50reads/sec)程度である。しかし、ゲームが成功すると、すぐに数百万人のユーザと1万~数万/secのread/writeが発生する。また、数TB/day のデータが生成される。アプリケーションをAmazon DynamoDBベースで開発することで、小さく開始することができ、ダウンタイムやコードへの修正なしに、テーブルごとのリクエストキャパシティを容易に変更できる。 Amazon DynamoDBはどんなスケールでも完全に管理された経験を提供する Ama
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く