タグ

DynamoDBに関するAkinekoのブックマーク (21)

  • DynamoDBのベストプラクティスを技術的詳細から理解する

    こんにちは。 株式会社CHILLNNという京都のスタートアップにてCTOを務めております永田と申します。 弊社では宿泊施設様向けに宿泊施設の予約管理用のSaaSを提供しており、現時点で1000近くの施設様にご利用いただいています。 現在、これまでに溜め込んだ日最大級の宿泊コンテンツの検索エンジンを構築しており、その過程でさまざまなデータベースを探索しています。 記事では、AWSのKVSであるDynamoDBを題材に、公式ドキュメントに書かれているキー設計のベストプラクティスの背景を理解することを目的とします。 なお、記事の執筆にあたって、こちらの動画を大変参考にさせていただきました。 DynamoDBとは DynamoDBとは、AWSで利用できる、あらゆる規模に対応する高速で柔軟なNoSQLデータベースサービスです。 DynamoDBが登場した背景は、アプリケーションの大規模化です。

    DynamoDBのベストプラクティスを技術的詳細から理解する
  • DynamoDBで多対多のテーブル設計 - 或る阿呆の記

    DynamoDBの設計を始めてからたいていの人が引っかかるであろう、DynamoDBにおける多対多(many-to-many relationship)の対応について、つらつらとメモする。 AWSのドキュメントにベストプラクティスがあるので、それについて書き連ねるだけではある。 DynamoDBの2番目くらいの壁 ウキウキしながらDynamoDBを始めた後、だんだん「あれ?これクエリめっちゃ厳しくない?」ということに気づき、その制約に愕然とするパターンの一つが、いわゆる多対多の実装だと思う。RDBなら中間テーブル作ってリレーション貼って正規化すればよし、だけれど、同じことをDynamoDBですると、めちゃくちゃクエリ投げないといけないことにハタと気づく。すごく思う。joinしたい。 もちろんDynamoDBjoinはない。ああなるほど、KVS、Key Value Storeってそういう…

    DynamoDBで多対多のテーブル設計 - 或る阿呆の記
  • 1000万ユーザに耐えるサーバを作ってみた

    概要 スケーラビリティが高く1000万ユーザに耐えるAPIサーバを作成しました。TwitterのようなSNSです。実装はGitHubで公開しています。 開発環境は次の通りです。 Node 16.14 Express 4.17.3 DynamoDB 2012-08-10 機能要件は次の通りです。 ツイート機能 ツイートに対してコメント機能 フォロー機能 タイムライン機能 導入 Facebook、Amazon、Youtubeのような数億人のユーザを抱えるサービスでは大量のトラフィックを捌く必要があります。大量のトラフィックを捌くためのアプローチとして一般的に使われるのはスケールアップではなくスケールアウトです。スケールアップは性能の高い機器を使うためにコストが高いです。また、1つのサーバで運用するためにパフォーマンスの限界が存在します。 スケールアウトについて考えます。アプリケーションは大きく

    1000万ユーザに耐えるサーバを作ってみた
  • DynamoDB の設計について考えてみる。 - Qiita

    Amazon DynamoDB の特性 フルマネージド型の NoSQL データベースサービス 3つの Availability Zone に保存されるので信頼性が高い 性能要件に応じて、テーブルごとにスループットキャパシティを定義するキャパシティの Auto Scaling、オンデマンドキャパシティといった設定も可能 ストレージの容量制限がない DynamoDB のテーブル DynamoDB におけるテーブルはRDBMSにおけるテーブルと概念が異なります。 テーブルを作成する際に、Primary Key を指定する必要があります。 Primary Key はテーブルの各項目を一意に識別するために使います。Primary Key は、Partition Key および Sort Key で構成されます。(Sort KeyがなくPartition Keyのみの場合もあります) Item は R

    DynamoDB の設計について考えてみる。 - Qiita
  • GitHub - awslabs/dynein: DynamoDB CLI written in Rust.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - awslabs/dynein: DynamoDB CLI written in Rust.
  • DynamoDB の基礎知識とまとめ - Qiita

    DynamoDBを大雑把にさくっと日語で理解したい方向けの説明。 (まだ書き途中) API Version 2012-08-10 を元に書いています。 印象と感想 管理が楽! 容量の増加を気にしなくていい! スループットやパフォーマンスの監視、管理が楽! ソーシャルゲームでは、一部のデータではすごく良さそう 検索や集計は弱いから、MySQLと併用 レイテンシが低いと書いてあるが、memcache の方が当然早い テーブル設計の理解と指定方法がちょっと面倒 料金体系の理解がちょっと面倒 DynamoDBとは何か? 大雑把に NoSQL, スキーマレスなAWS上のデータベースサービス スケールに関して何も気にしなくていい まずは、公式サイトを読むと概要はわかります。 Amazon DynamoDB (フルマネージドNo SQLデータベースサービス) | アマゾン ウェブ サービス(AWS

    DynamoDB の基礎知識とまとめ - Qiita
  • DynamoDBのテーブル設計に最適!NoSQL WorkbenchのData modelerで今度こそDynamoDBを使いこなす! | DevelopersIO

    はじめに CX事業部の佐藤智樹です。 今回はAWSが提供しているDynamoDB用のアプリ「NoSQL Workbench」の機能を使ってデータモデリングする流れを解説します。 最近案件でテーブル設計を再検討する必要がありNoSQL Workbenchを使ったところ、サンプルデータを入れながら設計が正しいか検証でき非常に便利だったので紹介します。 他の記事でもアプリの紹介はありますが記事ではデータモデリングに絞って解説を行います。題材として多対多のデータをモデリングしながら設計する方法を紹介します。 記事を読めば今までDynamoDBのデータ設計に悩んでいた方の検討時間をかなり減らすことができます。自分ももっと早く「NoSQL WorkbenchのData modeler はこう使って欲しい!」という記事があれば良かったなあと思ったので記事にしました。 NoSQL Workbench

    DynamoDBのテーブル設計に最適!NoSQL WorkbenchのData modelerで今度こそDynamoDBを使いこなす! | DevelopersIO
  • PayPayでのDynamoDB活用事例について

    Presented by: Tomoki Nishinaka, Yu Zhouxun PayPayの機能の一つとして2020年4月に新たにリリースされた通知サービスでは、スケーラビリティとパフォーマンスを重視し、数々のデータストアソリューションの中からDynamoDBを採用しました。通知センターの…

    PayPayでのDynamoDB活用事例について
  • AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern

    1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark AWS 公式 Webinar https://amzn.to/JPWebinar 過去資料 https://amzn.to/JPArchive Solutions Architect 成田 俊 2018/12/25 Amazon DynamoDB Advanced Design Pattern 2. © 2018, Amazon Web Services, In

    AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
  • DynamoDB全くわからない、から、ちょっとわかるようになるまでの道しるべ | DevelopersIO

    DynamoDBを利用するためのポイントをざっくりまとめた。 リンク集みたいな感じになっていますが、どこから手をつけて良いかわからない方は参考にしてみてください。 目次 DynamoDB概要 Amazon DynamoDB は、どのような規模でも信頼性が高いパフォーマンスを維持できる、非リレーショナルデータベースです。 完全マネージド型、マルチリージョン、マルチマスターのデータベースで、レイテンシーを 10 ミリ秒未満に維持でき、 組み込みのセキュリティ、バックアップと復元、インメモリキャッシュを利用できます。 Amazon DynamoDB DynamoDBの特徴 フルマネージドサービス データの格納と取得に特化(高度な最適化)されている 表結合など柔軟なクエリを発行するのは不得意 「値」とそれを取得するための「キー」だけを格納するというシンプルな機能を持った「Key-Valueストア」

    DynamoDB全くわからない、から、ちょっとわかるようになるまでの道しるべ | DevelopersIO
  • Amazon DynamoDB での優先度付きキューの実装 | Amazon Web Services

    Amazon Web Services ブログ Amazon DynamoDB での優先度付きキューの実装  キューイングは、分散処理システムで計算コンポーネントを分離するために一般的に使用されるソリューションです。これは、サーバーレスおよびマイクロサービスアーキテクチャで使用する非同期通信システムの形式です。メッセージは処理のためにキューで待機し、1 人のコンシューマーが受信するとキューから出ます。このタイプのメッセージングパターンは、ポイントツーポイント通信と呼ばれます。 この記事では、他の大規模なキューイングシステムで行うように、Amazon DynamoDB テーブルのいずれかを、エンキュー (メッセージをキューに配置) とデキュー (メッセージを読み取り、キューから削除) が行えるキューに変換する方法について説明します。 DynamoDB は、任意の規模で 1 桁のミリ秒のパフ

    Amazon DynamoDB での優先度付きキューの実装 | Amazon Web Services
  • DynamoDB Localを手軽に使える
公式のDockerイメージ #akibaaws / DynamoDB Local Docker Image

    AKIBA.AWS #10で「DynamoDB Localを手軽に使える
公式のDockerイメージ」というタイトルで発表しました。

    DynamoDB Localを手軽に使える
公式のDockerイメージ #akibaaws / DynamoDB Local Docker Image
  • AWS再入門ブログリレー DynamoDB編 | DevelopersIO

    当エントリは弊社コンサルティング部による『AWS 再入門ブログリレー 2019』の21日目のエントリです。 このブログリレーの企画は、普段AWSサービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。 AWSをこれから学ぼう!という方にとっては文字通りの入門記事として、またすでにAWSを活用されている方にとってもAWSサービスの再発見や2019年のサービスアップデートのキャッチアップの場となればと考えておりますので、ぜひ最後までお付合い頂ければ幸いです。 では、さっそくいってみましょう。日のテーマは『Amazon DynamoDB』です。 目次 Amazon DynamoDBとは サービス名にDBとある通りデータベースです。2012年1月にローンチされた

    AWS再入門ブログリレー DynamoDB編 | DevelopersIO
  • 【旧版・説明欄参照ください】 サーバーレスアプリケーション向きの DB 設計ベストプラクティス

    【2019/09/12 追記】 この資料は旧版であり、最新版が存在します。 2019/09/12 にアップロードしたものをご参照ください 最新版 → https://www.slideshare.net/AmazonWebServicesJapan/db-20190905 --------(元の文)------------------- 2019/05/09 に #AWSLoft Tokyo で開催されたイベント、「イチから理解するサーバーレスアプリ開発」における講演資料の一つです。 ・サーバーレスアプリケーションにおいて Amazon DynamoDB が利用しやすい理由 ・RDB と DynamoDB の設計プロセス・考え方の対比・明文化 ・実例に沿った DynamoDB の設計プロセス解説とサンプル例題 などを含みます。 イベント: https://understandingbasi

  • サーバーレスを使用して最初の6ヶ月で学んだ6つのこと - Qiita

    こちらの記事は6 things I’ve learned in my first 6 months using serverlessの和訳になります。 サーバーレスの世界は適切なツールさえ見つければミドルレイヤーを省けるのでとても良いものです。 10月に行われたServerlessconfの後、自分の会社を全てサーバーレスにすることに決めました。最初の2ヶ月は Python Flask appにLambdaを導入するのに必死でしたが、そのおかげでより良い方法を思いつきました。 そして6ヶ月後、私たちにとって4番目に大きいプロジェクトをサーバーレスでデプロイすることになったのです。以下の内容がデプロイするまでに私たちが学んだ教訓、意見です。 レッスン1 Pythonの使用は避けましょう Flaskは昔ながらのリクエスト、レスポンスのスタイルで、サーバーによって管理されるセッションがあるWeb

    サーバーレスを使用して最初の6ヶ月で学んだ6つのこと - Qiita
  • サーバーレスシステム構築のベストプラクティス! Serverless Frameworkをもっと試してみよう! API GatewayとDynamoDB編 - サーバーワークスエンジニアブログ

    こんにちは。サーバーワークス こけし部 部長でCS課の坂(@t_sakam)です。前回に続いて、Serverless Frameworkの話題です。 前回は、Serverless Frameworkのドキュメントに沿って、簡単に使い方を確かめてみました。今回は、API GatewayやDynamoDBをからめた使い方をみてみたいと思います。 Serverless Frameworkを使うと、設定ファイルのserverless.ymlに必要な設定を書いて「serverless deploy」とコマンドを打つだけで、必要なリソースの作成ができます。Lambdaファンクションのデプロイだけでなく、API GatewayとDynamoDBのリソース作成もServerless Frameworkでやってしまいましょう。 Serverless Frameworkのアップデート サービスの作成 必要な

    サーバーレスシステム構築のベストプラクティス! Serverless Frameworkをもっと試してみよう! API GatewayとDynamoDB編 - サーバーワークスエンジニアブログ
  • DynamoDBの設計力をあげたい - log4ketancho

    サーバレスアーキテクチャを検討する際に、データベース層をどうするかはよく議論になります。リレーショナルデータベースに慣れている人は、なんとか RDS を採用できないか考えるのですが、現状は DB のコネクションプール問題などで RDS を用いるのはアンチパターンと言われています。 代替として用いられるのが NoSQL 型のデータベースである DynamoDB です。前述のような問題は発生せず、AWS でサーバレスなシステムを構築する際にデータベース層に採用されることが多いです。 しかし、これは私だけかもしれませんが、DynamoDBの(というよりも NoSQL 型データベースの?)設計に慣れていないこともあり、 「この要求・要件を実現するときに、どうテーブル設計すべき?」 「この設計で将来の機能拡張に耐えられるの?」 と不安になるシーンが多いです。特に後者が多く、これまでも「既に見えている

    DynamoDBの設計力をあげたい - log4ketancho
  • DynamoDBのインフラコスト構造と削減策 - ゆううきブログ

    Amazon DynamoDBは、RDSのようなインスタンスサイズによる課金モデルではなく、ストレージのデータ使用量とスループットを基にした課金モデルになっている。 インスタンスサイズによる課金モデルでないデータストア系サービスとして、他にはS3、Kinesisなどがある。 これらは、AWSの中でも、フルマネージドサービスと呼ばれる位置づけとなるサービスだ。 フルマネージドサービスは、ElastiCacheのようなそうでないものと比較し、AWSに最適化されていて、サービスとしてよくできていると感じている。 Mackerelの時系列データベースのスタックの一つとして、DynamoDBを採用している。 時系列データベースの開発は、コストとの戦いだったために、それなりにコスト知見が蓄積してきた。(時系列データベースという概念をクラウドの技で再構築する - ゆううきブログ) (※ 以下は、2018

    DynamoDBのインフラコスト構造と削減策 - ゆううきブログ
  • DynamoDB ベストプラクティス - Qiita

    今年は始めて、re:Inventに参加してきたので、その際に見た「Amazon DynamoDB: Data Modeling and Scaling Best Practices」というセッションの内容を共有したいと思います。 内容をだいぶ端折ってるので、間違っている場合には、びしばしツッコミいただければと思います。 では、まいります。 1. CacheはCashなり なんでDynamoDBを使うかといえば、やっぱり、ポチポチっと設定するだけで簡単に読み込み、書き込み性能を上げたり、下げたりできるっていうのが大きなポイントかと思います。 ただ、設定した性能も、データのアクセスパターンによっては思い通りの性能が出ないことがあります。 例えば、ReadCapacityを 100から5,000 に上げたとします。そうると、DynamoDBは、「オレ1人では捌き切れない」と思って、パーティション

    DynamoDB ベストプラクティス - Qiita
  • DynamoDBによるソーシャルゲーム実装 How To

    1. DynamoDBによる ソーシャルゲーム実装 How To  2013-03-16 JAWS DAYS 2013 [DEV-02]  株式会社マイネット  伊藤 祐策

    DynamoDBによるソーシャルゲーム実装 How To