タグ

dynamodbに関するopparaのブックマーク (27)

  • Amazon DynamoDBテーブルをエクスポートしてAmazon Athenaでクエリしてみた | DevelopersIO

    このようなテーブルがあったとき、「指定した期間の注文一覧を取得する」というユースケースを考えるとスキャンが必要になります。 やってみた それではSampleOrderTableテーブルのデータをAthenaでクエリまでやっていきましょう。 まずはエクスポート用のS3バケットを作成します。今回はsample-order-table-exportバケットを作成しました。 次に、作成したバケットにテーブルのエクスポートをしていきます。テーブルページのアクションから「S3へのエクスポート」を選択します。 「送信先S3バケット」に事前に作成したsample-order-table-exportバケットを指定。 「エクスポートされたファイル形式」にはAmazon Ionを選択します。指定したら「エクスポート」ボタンをクリックしましょう。 約6分ほどでエクスポートされました。dataフォルダーにgz形式

    Amazon DynamoDBテーブルをエクスポートしてAmazon Athenaでクエリしてみた | DevelopersIO
  • DynamoDBとAmazon SNSを使ったゲーム構築のチュートリアルをやってみた | DevelopersIO

    どうも。CX事業部Delivery部のえーたん(@eetann092)です。 チュートリアルAmazon DynamoDBAmazon SNS を使用したターン制ゲームの構築をやってみたので備忘録を残しておきます。 チュートリアルの構成 このチュートリアルでは、AWS Cloud9上で操作していきます。あらかじめ用意されたスクリプトを実行していく形式です。デプロイしたゲームNim)のプレイもCloud9のターミナルでコマンドを叩いて操作します。 構成図を作ってみました。 SDKで各サービスに触れるだけではなく、Cloud9上からAWS CLIを用いてDynamoDBSNSを操作する部分もあります。 チュートリアルの構成は以下のとおりです。 はじめに 1 背景とセットアップ (20分) AWSアカウントの作成 Cloud9 IDE のセットアップ サポートコードのダウンロード 2

    DynamoDBとAmazon SNSを使ったゲーム構築のチュートリアルをやってみた | DevelopersIO
  • DynamoDB利用時の書き込みスキュー(Write Skew)の回避 | フューチャー技術ブログ

    はじめに一般的に複数のトランザクションが並行して同じオブジェクトに対してアクセスを行う場合には、トランザクションの分離レベル(SERIALIZABLE/REPEATABLE READ/READ COMMITTED/READ UNCOMMITTED)によって様々な問題が発生します。 DynamoDBは2018年にトランザクションがサポートされましたが、記事ではファントムリードによる書き込みスキューの問題とその対応について取り上げたいと思います。 書き込みスキューとはまずはじめに、「書き込みスキュー」とは具体的にどのような問題なのか、まず例を見てみるのが一番わかりやすいでしょう。 書き込みスキューの例ここではイベントの申し込みシステムを考えてみましょう。 要件としてイベントの申し込み人数の上限は3人であると仮定します。 これを実現するためには、ユーザが申し込みの要求を行なった際に現在の申し込

    DynamoDB利用時の書き込みスキュー(Write Skew)の回避 | フューチャー技術ブログ
  • Amazon DynamoDB Transactions: How it works - Amazon DynamoDB

  • DynamoDBでElasticsearch Service, CloudSearch, SDK Scan に頼らず検索機能を実現する方法 | DevelopersIO

    実装方法 今回は転置インデックスに関する説明は省きます。概念を説明するよりも、具体的な実装方法を紹介したほうが早いからです。 というわけで、以下のアーキテクチャ図にしたがって、Lambda関数とDynamoDBのテーブルを作成していきます。 DynamoDBのテーブル作成 AWSのマネージメントコンソールから以下のテーブルを作成していきます。 設定はすべてデフォルトにしています。 社員情報テーブル (Partition key: id, Sort key: なし) 転置インデックステーブル (Partition key: key, Sort key: employeeId) 転置インデックステーブルのインデックス (Partition key: employeeId, Sort key: なし) 社員情報テーブルの作成 転置インデックステーブルの作成 転置インデックステーブルのインデックス

    DynamoDBでElasticsearch Service, CloudSearch, SDK Scan に頼らず検索機能を実現する方法 | DevelopersIO
  • 13 DynamoDB PHP Query Examples

  • ここにハマった!DynamoDB - Technology Topics by Brains

    はじめまして。Impulse開発チームの木村です。 今回は、Amazon DynamoDBを、 Apache Cassandraと同じように扱おうとした際に、ハマった点とその解決策を紹介します。 なお、DynamoDBの操作には、AWS SDK for JavaScript (Node.js)を使用しています。 テーブル定義編 テーブルをまとめる機能がない 複合primary keyに使える属性は、最大で2つ 日付・時刻型がない NS/SS/BS型は、配列ではない AttributeDefinitionsにkey属性以外を入れてはならない データ取得編 Range属性のみのkey条件指定はできない SQL(ライクな)文が使えない Expressionに、数値や文字列を直接書けない Range属性に対して2つの条件を指定できない Expressionには、含めてはならない予約語がある 一度に

  • GitHub - aws-samples/dynamodb-consumed-capacity-check-tool

  • Amazon DynamoDB スケーリングのベストプラクティス | Amazon Web Services

    Amazon Web Services ブログ Amazon DynamoDB スケーリングのベストプラクティス はじめに 長年にわたって、Amazon DynamoDB はものすごいスピードで進化を遂げています。グローバルセカンダリインデックス(GSI)、クエリ式のサポート、Auto Scaling 機能、そして、ポイントインタイムリカバリ (PITR) 、オンデマンドモードを断間なくリリースされました。お客様はモバイルバックエンドをはじめ、ゲームや IoT (Internet of Things) の実装まで、さまざまなユースケースで DynamoDB を使用してきました。 記事は、DynamoDB を利用する中で、スケーリングの部分に焦点に当たって、スケーリングを考えるときのポイントを説明します。その後、代表的なワークロード、例えば、新しいサービスローンチや、ゲームにおいては新しい

    Amazon DynamoDB スケーリングのベストプラクティス | Amazon Web Services
  • DynamoDBへの読み込みをElastiCacheでキャッシュさせてRCUを下げてみた | DevelopersIO

    はじめに こんにちは、中山です。 今回DynamoDBへの検索をElastiCache Redisを使ってキャッシュさせてみました。 なぜキャッシュさせるのか DynamoDBの料金はプロビジョンドスループットの容量に大きく依存しています。一秒間にどの程度のデータを読み書きするのか事前に指定する値です。処理する必要のあるデータ量に応じてRCU(ReadCapacityUnits)とWCU(WriteCapacityUnits)をそれぞれ調整する必要があります。つまり、大量のデータの読み書きをするには、それだけ徳を積む必要があるということになります。 しかし、RCU/WCUの値をなるべく上げないようにかつコストを下げる方法はいくつかあります。それが、今回ご紹介するElastiCacheにキャッシュさせる方法です。DynamoDBから読み込んだデータをElastiCacheにキャッシュさせるこ

    DynamoDBへの読み込みをElastiCacheでキャッシュさせてRCUを下げてみた | DevelopersIO
  • DynamoDBでのポイントまとめ - Qiita

    2018/05/24追記: AWS公式ドキュメントに Best Practices for DynamoDB が公開されているので、コチラをチェックしましょう。 0.前提 このドキュメントは、先に下記の参考資料を読み、後で振り返りやすいようポイントをまとめることを目的としています。そのため、用語などの解説は行いません。 参考資料 Must AWS Black Belt Techシリーズ Amazon DynamoDB - Slideshare Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪 - Slideshare DynamoDBによるソーシャルゲーム実装 How To - Slideshare Optional DynamoDB ベストプラクティス - Qiita AWS Summit 2014 Tokyo「Amazon DynamoDB テーブル設計と実

    DynamoDBでのポイントまとめ - Qiita
  • 【入門】私を苦しめたDynamoDB | フューチャー技術ブログ

    フューチャー夏休み自由研究連載12目の記事です。 はじめにはじめまして。TIG DXユニットの富山です。2020年4月新卒入社です。 夏休み自由研究連載の11目の記事で公開されたSlack×GASの日報テンプレBOTを実務に導入してみたの執筆者である仁木さんと同期です。 私が参画しているプロジェクトでは、データベースにDynamoDBを採用しています。私は、RDBMSしか使用した経験がなかったので、NoSQLであるDynamoDBの理解にとても苦しみました。そこで今回の夏休み自由研究では理解した内容をまとめてみたいと思います! つまったポイントサマリ― これらが理解できるような記事を目指します。 DynamoDBとは公式ドキュメントによると、 Amazon DynamoDB は、規模に関係なく数ミリ秒台のパフォーマンスを実現する、key-value およびドキュメントデータベースです。

    【入門】私を苦しめたDynamoDB | フューチャー技術ブログ
  • DynamoDB 条件付き書き込み - Qiita

    DynamoDBでは新規アイテム1の作成はputItemで行います。DynamoDBの各アイテムは必ずユニークになるプライマリキー2(以下単にキーと表記)を持っている必要があり、アイテム作成時も必ずキーの指定が必要です。アイテム作成時に既存のアイテムとキーが衝突したときに、RDBの感覚だと一意性制約でエラーになるのを期待しますが、DynamoDBではなんと!上書きしてしまいます。RDBに親しんだ脳みそだと、それじゃ困るでしょ、ありえないでしょ、と考えますよね。もちろん上書き禁止の方法は用意されていて、ConditionExpressionというオプションを使うことで実現できます。キー重複以外にも様々な条件が指定できます。 ConditionExpressionについての公式ドキュメント http://docs.aws.amazon.com/ja_jp/amazondynamodb/late

    DynamoDB 条件付き書き込み - Qiita
  • DynamoDBで集計とJavaScriptのPromise - ユニファ開発者ブログ

    こんにちは、プロダクト開発部のチョウです。最近一部古いJavaScriptをcallbakからPromise/async/awaitのスタイルに書き換えるようにしてみました。その中で印象に残ったコードを紹介します。 やりたいことが簡単です。あるセンサーのデータ個数を日ごとに集計します。テーブルの構造はこういう感じです。 SensorId: Number(Partition Key) Date: String(Sort Key) DataCount: Number Partition KeyとSort KeyはDyanmoDBでテーブルを作るとき必要な情報ですが、とくに文に関係ありません。 普通にRelation Databaseで考えると、最初にレコードを作るのは要注意です。複数クライアントでレコードを作ろうとすると、一個だけが実際のDBに残り、集計が正しくない状態になります。 普通のD

    DynamoDBで集計とJavaScriptのPromise - ユニファ開発者ブログ
  • DynamoDB Transactionsで複数テーブルにまたがる書き込み処理をしてみる | DevelopersIO

    広島の吉川です。 DynamoDB Transactionsが気になっていながらあまり触ったことがなかったため、簡単にではありますが検証してみました。 Amazon DynamoDB Transactions: 仕組み - Amazon DynamoDB TransactWriteItems オペレーションは、含まれるすべてのアクションを正常に完了する必要があり、そうでない場合は変更がまったく行われないという点で BatchWriteItem オペレーションとは異なります。 ということなので、 トランザクション内で2つの書き込み操作を行い、両方成功する場合→すべての書き込み処理が有効になる トランザクション内で2つの書き込み操作を行い、後者のみ失敗した場合→失敗していない前者を含むすべての書き込み処理が無効になる のパターンを実際に手を動かしながら試してみたいと思います。また、単一テーブル

    DynamoDB Transactionsで複数テーブルにまたがる書き込み処理をしてみる | DevelopersIO
  • Create and Query a NoSQL Table with Amazon DynamoDB

  • DynamoDBで分散ロックを実現するsetddblockと現代版アクセスカウンター - KAYAC engineers' blog

    こんにちは。今年からアナリティクスエンジニアを名乗ろうとしてる池田です。 こちらは、KAYAC Advent Calendar 2021 1日目の記事です。 この記事では、setddblockという分散ロックを実現するためのツールと、その動作試験のために現代版アクセスカウンターを作成した話をします。 setddblock 皆様がcronなどで定期実行のスクリプトを実行する場合、同時実行されては困るものはどうしていたでしょうか? daemontoolsのsetlock というツールを使って同時実行を防いでいたことがある方も多いと思います。 http://cr.yp.to/daemontools/setlock.html このsetlock はローカルのファイルシステム上にロックファイルを作成し、ロックファイルの作成が成功したら指定されたコマンドを実行するというツールです。 例えば1分ごとに起

    DynamoDBで分散ロックを実現するsetddblockと現代版アクセスカウンター - KAYAC engineers' blog
  • AWS SDK for GoでDynamoDBの式を扱うヘルパーパッケージの使い方 | フューチャー技術ブログ

    by Renée French はじめにTIG真野です。 DynamoDBGoで操作することにかけては、DynamoDB×Go連載 に参加するくらい関心があるのですが、AWS SDK for Goの公式ライブラリに含まれる、ヘルパーパッケージについて存在を今までスルーしていました。使ってみると業務的には利用一択だと思ったので今後使っていくぞという覚書としてまとめます。 DynamoDBの式をダイレクトに実装した例私は公式のAWS SDK for Goのdynamodbパッケージを用いる時に、ドキュメントのExampleに書いてあるように、ちまちま ExpressionAttributeNamesやExpressionAttributeValuesやFilterExpressionやProjectionExpressionを指定していました。 どんな感じかと言うと次のような感じです。 Ex

    AWS SDK for GoでDynamoDBの式を扱うヘルパーパッケージの使い方 | フューチャー技術ブログ
  • DynamoDB Immersion Days 参加レポート - ZOZO TECH BLOG

    はじめに こんにちは。ブランドソリューション開発部プロダクト開発チームの木目沢とECプラットフォーム部カート決済チームの半澤です。 弊社では、ZOZOTOWNリプレイスプロジェクトや新サービスで、Amazon DynamoDBを活用することが増えてきました。そこで、AWS様から弊社向けに集中トレーニングという形でDynamoDB Immersion Daysというイベントを開催していただきました。 今回は、2021年7月6日、13日、14日の3日間に渡って開催された当イベントの様子をお伝えします。 7月6日のDay1及び、14日のDay3の様子をDay1のサブスピーカーとして参加した木目沢がお届けします。13日のDay2を同じくDay2にてサブスピーカーとして参加しました半澤がお届けします。 目次 はじめに 目次 Day1(2021年7月6日) Amazon DynamoDB Archit

    DynamoDB Immersion Days 参加レポート - ZOZO TECH BLOG
  • DynamoDBテーブルのSet型でタグ的な項目を管理する | DevelopersIO

    DynamoDBテーブルをデプロイする CloudFormationテンプレート dynamodb.yaml AWSTemplateFormatVersion: "2010-09-09" Description: Todo DynamoDB Sample Resources: TodoTable: Type: AWS::DynamoDB::Table Properties: TableName: todo-tag-sample-table BillingMode: PAY_PER_REQUEST AttributeDefinitions: - AttributeName: userId AttributeType: S - AttributeName: todoId AttributeType: S KeySchema: - AttributeName: userId KeyType: H

    DynamoDBテーブルのSet型でタグ的な項目を管理する | DevelopersIO