タグ

dynamodbに関するmanabouのブックマーク (13)

  • いいねとその通知機能をDynamoDBで設計したら思ったよりムズい - エムスリーテックブログ

    【Unit4 ブログリレー4日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 今回は、SNSではごく一般的ないいねとその通知機能をDynamoDBを利用して実装したら思ったより大変だったので、その詳細をご紹介します。 キャナルシティ劇場は、福岡県福岡市博多区の複合商業施設「キャナルシティ博多」のシアタービル最上階に位置する劇場。文には特に関係ありません。 m3ラウンジ m3ラウンジのいいねとその通知の要件 RDBで実装したらどうなるか いいね機能 通知機能 DynamoDBで実装する いいね機能 通知機能 いいねする いいねを取り消す 通知を表示する 未読の通知の取得 未読の通知数 未読の通知を既読にする テーブル設計むずい PKとSKに何を選ぶか LSIは途中から作れない DynamoDBをローカルで動かして設計する まとめ We are h

    いいねとその通知機能をDynamoDBで設計したら思ったよりムズい - エムスリーテックブログ
  • DynamoDB の基礎と設計 / DynamoDB Design Practice

    Qiitaにも記事があります https://qiita.com/_kensh/items/2351096e6c3bf431ff6f サーバーレスでよく利用される Amazon DynamoDBですが、設計方針はRDBMSと違うとよく言われます。 アクセスパターンに従った、DynamoDBならではの設計の仕方を一緒に学んでみませんか?

    DynamoDB の基礎と設計 / DynamoDB Design Practice
  • Serverless FrameworkとExpressでお手軽にAPIサーバを作ろう - 迷ったらカレー

    この記事は、Recruit Engineers Advent Calendar 20176日目の記事です。 こんにちは。最近マルチロールな働き方をしていて自分が何者なのかわからなくなってきた加藤です。現在リクルートジョブズというところでエンジニアをしています。 日頃、社内用のちょっとしたツールとか、試験的なAPIとかを作るのにAWS LambdaやDynamoDBを使ってサーバレスな開発をしているのですが、この記事ではその際によくやるServerless FrameworkとExpressを活用した開発手法の紹介をしたいと思います。 Expressといえば、Node.jsのWebアプリケーションフレームワークとして有名ですが、最近ではaws-serverless-expressというのを使うと、AWS LambdaでもExpressを使って開発ができます。サラッと書きましたが、正直こいつが

    Serverless FrameworkとExpressでお手軽にAPIサーバを作ろう - 迷ったらカレー
  • DynamoDB local (ダウンロード可能バージョン) のセットアップ - Amazon DynamoDB

    ダウンロード可能なバージョンの Amazon DynamoDB では、DynamoDB ウェブサービスにアクセスせずに、アプリケーションを開発してテストすることができます。代わりに、データベースはコンピュータ上で自己完結型となります。アプリケーションを番稼働環境にデプロイする準備ができたら、コード内のローカルエンドポイントを削除します。その後、これは DynamoDB ウェブサービスを指します。 このローカルバージョンを使用することで、スループットやデータストレージ、データ転送料金を節約しやすくなります。また、アプリケーションを開発している間インターネットに接続しておく必要はありません。 DynamoDB local は、ダウンロード (JRE が必要)、Apache Maven 依存関係、または Docker イメージとして使用できます。 Amazon DynamoDB ウェブサービス

  • CloudWatch + SQS でバッチサーバー冗長化のために実装した「sqsjkr」の話 - KAYAC Engineers' Blog

    Lobiの吉村(moulin)です。今回はCloudWatch + SQSのバッチサーバ冗長化のために作成した「sqsjkr」についてご紹介します。また、sqsjkrはGo実装です。 github.com 目次 背景 sqsjkrについて 運用について 背景 バッチサーバーとは、マシンリソースの消費が高い処理を定期的に実行させたい場合、体アプリケーションに影響が及ばないようにするために建てられるバッチ処理専用のサーバーを指し、Lobiでも様々なバッチ処理を実行するサーバーを建てています。 バッチサーバーはcrontabが設定されているものが1台、バックアップとして同じ構成でcrontabが設定されていないものが1台起動しており、cronを実行するサーバーに障害が発生した場合は、手動でcrontabをバックアップのサーバーに設定することでフェイルオーバーする運用をしていました。 しかし、バ

    CloudWatch + SQS でバッチサーバー冗長化のために実装した「sqsjkr」の話 - KAYAC Engineers' Blog
  • DynamoDB + Lambda + SSM でテストサーバーをポコポコつくる仕組み - KAYAC Engineers' Blog

    はじめまして。カヤック技術部の杉山です。 主にクライアントワークでサービスを開発しています。 今回は、クライアントワークで運用している、テストサイトの仕組みに関して書きます。 「テストサイト」の概要 クライアントワークでは、日々たくさんの案件を開発しています。 それぞれの案件では、多くの場合、Webサイトもしくは、WebAPIを公開するためのサーバーが必要になります。 実際の公開時には、案件ごとに専用のクラウドコンピューティングサービスを契約し、セットアップすることになりますが、 利用して良いサービスの確認が必要であったり、サービスの契約まで時間がかかったりするため、すぐには決まらない場合があります。そのため、開発時や検証時には、カヤック側でテストサイトを用意し、確認やプレビューを行っています。 さらに以下のような要望にも対応する必要があります。 出来るだけ時間をかけず開発環境を用意したい

    DynamoDB + Lambda + SSM でテストサーバーをポコポコつくる仕組み - KAYAC Engineers' Blog
  • DynamoDBでTomcatのセッション共有をするとハマるかも - 谷本 心 in せろ部屋

    AWS仕事で使い始めて1年半、 ようやく頭がクラウド脳に切り替わってきた [twitter:@cero_t] です。 好きなAWSサービスはKinesisです。まだ使ってませんけどね! さて、今日のテーマは「AWSでTomcatのセッション共有」です。 EC2上で動くTomcatのセッションオブジェクトを、DynamoDBを使って共有するというものです。 話題としてはそれなりに枯れていると思うのですが、 実案件で使おうと思ったら問題が出そうになって困ってる、という話です。 発生する問題は? どういう問題が起きるか、先に書いておきます。 発生する問題は、 複数のTomcatをELBで分散させている時に、 スケールインやスケールアウトが短時間に連続して発生すると、 セッションが巻き戻る(先祖返りする)可能性がある、というものです。 セッションが消えるならまだしも、 先祖返りするというのは、実

    DynamoDBでTomcatのセッション共有をするとハマるかも - 谷本 心 in せろ部屋
  • AWS のお得な機能だけでネイティブゲームサーバをつくる | GREE Engineering

    昨今何かと話題に挙がってきた AWS LambdaAWS DynamoDB を活用して格安で堅牢、高性能なゲームサーバを作ります。 既存システムの苦労をもとに、サーバの開発や運用を頑張らずにすむための仕組みとネイティブアプリからの AWS Lambda の利用方法を簡単に紹介します。 サーバが良くわからんという、ネイティブゲーム、ネイティブアプリエンジニアにオススメです。 ※当内容は多分に個人主観を含んでおり、時事的な要素も含まれています。 ※検索して十分な資料があると考えられるツールやライブラリの利用方法等は省略しています。 おさらい まずは既存のゲームサーバの構成を初歩からおさらいしてみましょう。 簡単にサービスする方法としてアプリからのリクエストを受ける HTTP のサーバと利用者の情報を格納しておくデータベースが考えられます。しかし、すぐに思いつくだけでもいくつかの問題があり

    AWS のお得な機能だけでネイティブゲームサーバをつくる | GREE Engineering
  • MyNA・JPUG合同DB勉強会 in 東京

    関連記事など #ChugokuDB MyNA/JPUG 合同DB勉強会 in 東京 に行ってきた #メモ #レポート #MySQL #PostgreSQL - #garagekidztweetz 事前申し込み doorkeeper 開催場所 東京都渋谷区恵比寿4-20-3 恵比寿ガーデンプレイスタワー21F 株式会社DMM.com ラボ 社・東京事業所 講師 調整中です。 タイムテーブル 時間 タイトル 講師

  • DynamoDB Local を Docker コンテナで動かすメモ(2) | iret.media

    ども、cloudpack の かっぱ (@inokara) です。 はじめに 前回、前々回からの続きです。 室内の温度を計測して fluentd を経由してログに出力していましたが、これを DynamoDB Local に突っ込んでみるメモです。 参考 [AWSマイスターシリーズ] Amazon DynamoDB Amazon DynamoDB(初心者向け 超速マスター編)JAWSUG大阪 Dynamic ダイ○マ~ 以下のようなイメージです… fluentd プラグイン fluentd から DynamoDB にデータを送る場合には以下のような Output プラグインがありますが… fluent-plugin-dynamodb fluent-plugin-dynamodb-alt fluent-plugin-dynamodb は DynamoDB Local には対応していない(SDK

    DynamoDB Local を Docker コンテナで動かすメモ(2) | iret.media
  • 検証用にfluent-plugin-dynamodb-altを作った - so what

    検証用にfluent-plugin-dynamodb-altというのを作りました。 検証用なので、RubyGems.orgには未登録。積極的にメンテナンスする気はないです。 →諸事情により割と積極的にメンテしてます fluent-plugin-dynamodbの微妙な点 PKがかぶる BatchWriteItemでExpectedが使えない fluent-plugin-dynamodb-altの特徴 PutItemを使う Expectedを使える 並列実行できる リクエストを投げるときにPKで集約して最新のタイムスタンプのレコードだけ投げる Expectedの使い方 以下のように設定すると、 expected id NULL,time LT ${time} conditional_operator OR 次のようなExpectedになります。 { :expected=>{ "id"=>{:

    検証用にfluent-plugin-dynamodb-altを作った - so what
  • Rails4 でセッションストアに DynamoDB を使う | DevelopersIO

    2ヶ月以上前ですが、Rack アプリケーションで DynamoDB を セッションストア用として使うための gem が公開されていました。 DynamoDB Session Store for Rack Applications Rails だと ActiveRecord のセッションストアがありますが、RDB なので、どうしても気になるのは負荷と障害ですね。 そんな時は、スケーラブルかつ耐障害性に優れた DynamoDB を使って解決しましょう。 *1 ということで、Rails4 で DynamoDB をセッションストアとして使う方法を試してみました。 Rails アプリケーションの作成 先ずは Rails アプリケーションの作成です。 $ mkdir try_dynamodb_sessionstore && cd try_dynamodb_sessionstore $ bundle i

    Rails4 でセッションストアに DynamoDB を使う | DevelopersIO
  • nginxのログをfluentdからHDFSに送る – OpenGroove

    前回のDynamoDBに引き続き、今回はfluentd経由でnginxのログをHDFSに書き込む、というのをやってみた。そのまま置き換えるだけというのもつまらないので、同じログをローカルファイル、DynamoDB、HDFSの複数箇所に書き込む設定にしてみる。紆余曲折あったが、どうにか三連休が終わる前に期待値通りになってくれた(それって…)。 実行環境は以下2つのAWSマシンと、Amazon DynamoDB。テーブルは前回で作成済み。 マシン間はすべてのポートで通信できている前提。 ログ送信元マシン:nginxが起動 ログ出力先マシン:Hadoop疑似分散環境 real worldでは複数のマシンからログを集約してそのログ集約サーバからHDFSやDBにログを送り込むことになるんだろうけど、所詮ひとりケチケチR&Dなのでそこまでやりません。 追加でやったこと。 ログ送信元マシンでwebhdf

  • 1