Presented by: Tomoki Nishinaka, Yu Zhouxun PayPayの機能の一つとして2020年4月に新たにリリースされた通知サービスでは、スケーラビリティとパフォーマンスを重視し、数々のデータストアソリューションの中からDynamoDBを採用しました。通知センターの…
概要 AWS で人気のサービス DynamoDB についての論文が公表され巷で噂になっていたと思う。 今回は、その論文を読み込んでいき、ざっくりまとめていくという記事になります。 完全趣味な記事なので、興味ある人がいれば幸いです笑 Abstract まず論文のタイトルですが、「Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service」と題したものとなっています。 Amazon DynamoDB は、NoSQL とよばれる部類のデータベースサービスです。 一貫した耐久性、可用性、パフォーマンスを提供してくれるマネージドなサービスなのが特徴ですね。 冒頭、2021年に66時間にわたる「Amazon Prime Day」中にピーク時8920万リクエスト/秒をさばいてい
ありがたいことに、3年前に#ssmjp 2017/06で話したスライド AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp をTwitterで紹介して頂いた*1 ようで、当時から大幅に改善しているところを振り返りたいと思います。あと、ついでに最近やっているAzureに関しても少し触れていきます。 サーバーレスアーキテクチャ #とは 当時はこう説明したのですが、今でもそんなに悪くない表現かなと思います。 書籍は現在「Serverlessを支える技術 第3版」まで出ていますので、BOOTHからどうぞ(隙あらばダイマしていく方針)。 サーバーレス三種の神器 今このスライドを作るなら、認証認可の話を入れるかなと思います。システム内のAWS IAMとクライアント側のCognitoどちらも重要です。 ちなみにAzureを含めておさらいすると、こんな感じの対応になります。 勝
この記事について 本記事は、筆者が普段AWSの各種サービスを使って感じた感想・気づきをもとに、クラウドアーキの設計やサービスのより良い使い方Tipsを考察するシリーズです。 第二弾も第一弾に引き続きDynamoDBについてです。 DynamoDBはkey-value型のNoSQLであり、従来よく使われていたRDBとは異なるDB特性・クエリ特性を持っています。 そのためRDBを設計するときと同じようなノリでスキーマ設計・テーブル設計を行うと、後から「この操作をやらせるならDynamoDBじゃないほうが良かったんじゃないか?」ということが発覚しがちです。 本記事では筆者が遭遇した「DynamoDBでやらせてみたら苦労した・できなくて設計変更を強いられた」というユースケースをまとめることで、DynamoDBのクエリ特性や適性を考察することを目指します。 使用する環境・バージョン 2024/1/1
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
こんにちは。 株式会社CHILLNNという京都のスタートアップにてCTOを務めております永田と申します。 弊社では宿泊施設様向けに宿泊施設の予約管理用のSaaSを提供しており、現時点で1000近くの施設様にご利用いただいています。 現在、これまでに溜め込んだ日本最大級の宿泊コンテンツの検索エンジンを構築しており、その過程でさまざまなデータベースを探索しています。 本記事では、AWSのKVSであるDynamoDBを題材に、公式ドキュメントに書かれているキー設計のベストプラクティスの背景を理解することを目的とします。 なお、本記事の執筆にあたって、こちらの動画を大変参考にさせていただきました。 DynamoDBとは DynamoDBとは、AWSで利用できる、あらゆる規模に対応する高速で柔軟なNoSQLデータベースサービスです。 DynamoDBが登場した背景は、アプリケーションの大規模化です。
【Unit4 ブログリレー4日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 今回は、SNSではごく一般的ないいねとその通知機能をDynamoDBを利用して実装したら思ったより大変だったので、その詳細をご紹介します。 キャナルシティ劇場は、福岡県福岡市博多区の複合商業施設「キャナルシティ博多」のシアタービル最上階に位置する劇場。本文には特に関係ありません。 m3ラウンジ m3ラウンジのいいねとその通知の要件 RDBで実装したらどうなるか いいね機能 通知機能 DynamoDBで実装する いいね機能 通知機能 いいねする いいねを取り消す 通知を表示する 未読の通知の取得 未読の通知数 未読の通知を既読にする テーブル設計むずい PKとSKに何を選ぶか LSIは途中から作れない DynamoDBをローカルで動かして設計する まとめ We are h
AWS CDKを始めるハンズオン ─ IaCの第一歩をAWS LambdaとDynamoDBのシンプルな仕組みで学ぶ アマゾン ウェブ サービスが提供するIaC(Infrastructure as Code)の開発キットがAWS CDK(AWS Cloud Development Kit)です。本記事はAWS CDK入門者向けのチュートリアルとして、AWSでソリューションアーキテクトを務める吉川幸弘(@WinterYukky)さんによる、AWS Lambda関数でDynamoDBテーブルをスキャンするシンプルなハンズオンです。 みなさん、こんにちは。アマゾン ウェブ サービス ジャパン合同会社でソリューションアーキテクトを務めている吉川幸弘と申します。私は普段、西日本のお客様を中心に技術的なご支援や課題解決などをしています。 さっそくですが、みなさんはInfrastructure as C
はじめに 私ごとではありますが、現場でdynamodbをメインのデータベースとして採用してから約2ヶ月が経ちました。 たった2ヶ月いう期間で、何度も心身ともに崩壊し、そして粘り強く復活を遂げ、かろうじて奇跡的にレベルアップをしてきました。 今回の記事では、これからdynamodbの導入を検討しているエンジニアの皆様に向けて、わずかながら現場で(汗と血を流しながら)得た知見を共有したいと思います。 主にdynamodbを導入するときに楽できる部分、楽できない、苦労する部分がどんな感じか、この記事でなんとなく伝えられたら嬉しいです。 以下では、4つの項目(採用基準、設計、開発、運用)に分けて、知見を羅列していきますが、私もまだ駆け出しdynamodberの域を出ないので、誤りやアドバイス等ございましたら、是非コメントいただきたいです! なお、ここで紹介する内容は基本的にはAWSの公式ドキュメン
AWSはNoSQLデータベースサービスのDynamoDBが、SQLで操作可能になるSQL互換のクエリ言語「PartiQL」に対応したことを発表しました。 You now can use PartiQL (a SQL-compatible query language) to query, insert, update & delete table data in DynamoDB. PartiQL makes it easier for you to interact with DynamoDB & run queries in the AWS Management Console. https://t.co/qlRwzYZCPC pic.twitter.com/pVaX5xlEDu — DynamoDB (@dynamodb) November 23, 2020 DynamoDBはキーバ
はじめに 概要 DynamoDBのテーブルの用語やテーブルの検索方法がまっっったくわからなかったので、イラストをまじえながらいつでも見返せるように書いてみました。 この記事で得られること DynamoDBのテーブルの基礎概念についてイラストで理解できます。 テーブルの操作はaws cliで行なっていますが、もちろんコンソール画面からもできます。 全体の概要を理解したいので、aws cliのコマンドについては軽く読み流してもらって大丈夫です。 用語 DynamoDBのテーブルには色々な用語があります テーブル パーティションキー ソートキー Item(項目) Attribute(属性) index その他もろもろ… 何を言っているのかよく分かりませんね。 そこで、今回は私たちに馴染みのある「学校」をテーマにイラストを使って解説をしていきます。 みなさんは先生になった気持ちでどうすれば生徒たち
はじめに DynamoDBは上手く使えば非常に強力なDBMSですがRDBとの違いは大きく、「RDBの代わりにDynamoDBを使おう!」と深く考えずに提案/採用することが難しいことから、その理由についてみていきます。 DynaomoDBの難しさ DynamoDBの利点と表裏一体である、DynaomDBの主要な難しさについて順番に見ていきます。 1. 提供されているクエリモデルでできることが非常に限定されている DynamoDBは次の公式サイトに記載がある通り、どんな規模でも数msの一定のパフォーマンスを発揮でき、無尽蔵にスケールできるという特徴があります。 Fast, flexible NoSQL database service for single-digit millisecond performance at any scale この特性を上手く活用すると次の実例のように高可用性、
はじめに CX事業本部の佐藤智樹です。 今回はAWSが提供しているDynamoDB用のアプリ「NoSQL Workbench」の機能を使ってデータモデリングする流れを解説します。 最近案件でテーブル設計を再検討する必要がありNoSQL Workbenchを使ったところ、サンプルデータを入れながら設計が正しいか検証でき非常に便利だったので紹介します。 他の記事でもアプリの紹介はありますが本記事ではデータモデリングに絞って解説を行います。題材として多対多のデータをモデリングしながら設計する方法を紹介します。 本記事を読めば今までDynamoDBのデータ設計に悩んでいた方の検討時間をかなり減らすことができます。自分ももっと早く「NoSQL WorkbenchのData modeler はこう使って欲しい!」という記事があれば良かったなあと思ったので記事にしました。 NoSQL Workbench
はじめにTIG真野です。失敗談をテーマにした連載で、ちょうどプロダクト開発的に良い区切りのタイミングでもあるため、振り返りがてら、DynamoDB,Go,AWS Lambdaの技術要素について自分自身の理解・見込みの甘さについて反省します。 DynamoDBのシステム項目created_atとかupdated_atのタイムゾーンはJSTにすれば良かったDynamoDBは日付型を直接サポートしておらず、文字列型で保存することになります。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes.String データサイズや諸々の理由でUnixTime 勢力もあるかもしれませんが、アプリケーションから直接参照
カケハシのプラットフォームチームのテックリードとして組織管理サービスと認証基盤を開発している kosui (id:kosui_me) です。今回は、目的別データベースをプラットフォームチームではどのように実践しているかご紹介します。 この記事は秋の技術特集 2024の 13 記事目です。 背景 目的 事例1: PostgreSQL の行レベルセキュリティを活用する組織管理サービス 組織管理サービスとは PostgreSQL の行レベルセキュリティ 行レベルセキュリティを用いたトランザクションマネージャー 行レベルセキュリティの運用上の注意点 事例2: DynamoDB を活用する認証基盤と Outbox パターンの活用 カケハシの認証基盤刷新 DynamoDB で実現する高稼働率の認証基盤 DynamoDB の特性を考慮する CDC と Outbox パターン まとめ 背景 医療の分野で様
React + Amplify + AppSync + DynamoDB でサーバレスなWebアプリを作成する公式チュートリアルをやってみた Amplifyを使って React + AppSync + DynamoDB でサーバレスなWebアプリを作成するチュートリアルをやってみました! 大阪オフィスのYui(@MayForBlue)です。 最近プライベートでAWS Amplify(以下Amplify)を触っていて、良さげなチュートリアルを見つけたのでやってみました。 Amplifyを使って React + AppSync + DynamoDB でWebアプリを作成するものです。 デプロイについてはチュートリアルで紹介されているS3でのホスティングではなくAmplify Consoleを使ってCI/CDできるようにするなど少し工夫してやってみました。 Amplify JavaScript
少し前の話になりますが,お正月に「名言が書かれたおみくじを引く」というような簡単なウェブサービスを個人で作りました. その作成経緯について簡単にまとめてみたのでもし良ければ読んでみてください. 先にそのウェブサイトを見たいという方はこちらをご覧ください 🔮 モチベーション 1.作りたいプロダクトがあった 去年(2020年)のお正月に,名言が書かれた”おみくじ”を対面で配っていたのだけれど,今年(2021年)もみんなで名言おみくじをやりたかった.Webで作ればリモートでもみんなでできると思った. 2.技術的な勉強をしておきたかった Serverless Frameworkを用いたAWS LambdaのIaC管理 AWSでのサーバーレスAPIの構築 DynamoDB CloudFront + S3でのホスティング Nuxt/Typescriptの勉強 作ったもの ボタンを押すと名言が1個でて
こんにちは。ブランドソリューション開発部プロダクト開発ブロックの岡元です。普段はFulfillment by ZOZOとZOZOMOのブランド実店舗の在庫確認・在庫取り置きサービスの開発、保守をしています。 本記事では、ブランド実店舗の在庫確認・在庫取り置きサービスで実装したCQRSアーキテクチャについて紹介させていただきます。 CQRSの実装においては、データベース(以下、DB)分割まで行い、コマンド側DBにはAmazon DynamoDB(以下、DynamoDB)、クエリ側DBにはAmazon Aurora MySQL(以下、Aurora MySQL)を用いています。また、コマンド側DBとクエリ側DBの橋渡しを担うメッセージングにおいてはOutboxパターンと変更データキャプチャを用いました。DBとメッセージングシステムへの二重書き込みを避けることで障害などのタイミングで顕在化する潜在
はじめに この記事は Serverless Advent Calendar 2020 12日目の記事です。 CX事業本部の佐藤です。AWSのサーバーレスでアプリケーションを構築する際には、DynamoDBをデータベースとして選択するのはよくある構成かと思います。DynamoDBはNoSQLデータベースの一種なので、RDBMSのようなSQLを使った柔軟な検索などはできません。そのため、DynamoDBの検索機能だけでは要件を満たせない場合は、RDBを使う、DynamoDBとRDBを併用して使う、Elasticsearchなどの全文検索サービスを使うなどの方法があります。そこで今回は、DynamoDBを使ったサーバーレスWeb APIを題材に、全文検索SaaS のAlgoliaを使って、DynamoDBのデータを柔軟に検索できるようにしてみたいと思います。 この記事で作る構成 この記事では、以
Amazon Web Services ブログ ZOZOTOWN のショッピングカート移行プロジェクトを支えた Amazon DynamoDB このブログでは、リレーショナルデータベース管理システム (RDBMS) のパフォーマンスの問題があった e コマースサイトのケーススタディと、Amazon DynamoDB がソリューションにどのように貢献したかを解説します。ZOZOTOWNには大規模な販売イベントがあり、サービスに何か問題が起きた時に対応するため、エンジニアがリアルタイムで監視を行なっていました。DynamoDB によって ZOZO はエンジニアリングのオーバーヘッドを 85.8% 削減できました。また、DynamoDB のベストプラクティスもいくつか紹介します。 この投稿は、日本有数のファッションオンライン取引サイトの1つであるZOZOTOWNのDynamoDB利用に焦点を当て
計測対象が増えた場合にカラムやアトリビュートが横に増えていくのか、レコードが縦に増えていくのかという違いがあります。 ストレージ Timestreamはメモリストアとマグネティックストアという2種類のストレージを持ちます。それぞれ以下のような役割を持ちます。 メモリストア 新しいデータを保存するためのストレージ ある時点のデータを高速に抽出するようなクエリに最適化されている マグネティックストア データを長期間保存するためのストレージ 分析クエリをサポートするように最適化されている 各ストレージにはデータの保持期間が設定でき、設定したデータ保持期間とレコードのタイムスタンプに応じてレコードの保存先がメモリストア → マグネティックストアと遷移し、マグネティックストアのデータ保持期間を超過したレコードは削除されます。 現在はメモリストアとマグネティックストアの2種類でストレージが構成されてい
Software Design (ソフトウェアデザイン) 2022年06月号の「後悔しないAWSデータベースの選び方 RDSとDynamoDB,使い分けのポイントを徹底解説」について AWSRDSnosqlDynamoDBAurora 初めに TwitterのDB界隈で少し話題になっていた特集の記事について、個人的に気になった指摘事項の一覧です。 記事自体は限られた紙面数で簡潔に読みやすくまとまっており、特にAurora/RDSについては要注意なポイントについてもまとめられていてわかりやすいものでした。 しかしながら、私知識と経験の範囲内での判断で、説明不足や技術的に誤解を招く表現等が見られたのでまとめてみます。 ※執筆者は普段の業務も忙しい中で限られた時間、紙面数で対象読者に向けて記事をまとめるので必死でしたでしょうし、どんな人でもどうしても経験や知識の範囲は限られてしまうことから、誰も
DynamoDBのデータモデリングって、よくわからなくないですか?正規化してはいけないとか、一つのテーブルで全データを扱うんだとか聞きますが、具体的にどうしたらよいのか… という疑問に正面から答えてくれるセッションにre:Invent中に遭遇しました!具体的なアプリケーション例を挙げて、そこでのデータモデリング方法を詳細に解説してくれます。DynamoDBデータモデリング初心者の方は是非ご一読ください! ※「DynamoDBとは」といった前段の説明が不要な方はここからどうぞ セッションタイトル CMY304 - Data modeling with Amazon DynamoDB セッション概要 DynamoDBであなたのデータをモデリングするには伝統的なRDSでモデリングする場合と異なるアプローチが必要です。 Alex DeBrieはDynamoDBを使ったアプリケーションをいくつか実装
Lambda + DynamoDB + LangChainを組み合わせて外部情報に対応したチャットボットを作ってみました。 構成 Lambda Dockerfile requirements.txt lambda_function.py OpenAI Functions Agent 会話履歴の保持 外部情報の参照 DynamoDB 動作確認 まとめ 構成 Lambda LangChainのパッケージが250MBを超えてしまうので、コンテナイメージからLambda関数を作成するようにします。 docs.aws.amazon.com Dockerfile FROM public.ecr.aws/lambda/python:3.10 # Copy requirements.txt COPY requirements.txt ${LAMBDA_TASK_ROOT} # Copy function
メディアプロダクト開発部マーケティングサービス開発グループの我妻謙樹です。クックパッドにおける広告開発システム全般の新規開発・保守・運用を担当しています。 マーケティング事業全般やチーム体制については、前回の記事でご紹介しました。こちらを読んで頂ければ、メディアプロダクト事業部をめぐる組織体制や、マーケティングサービス開発グループの技術スタックについて概要を掴んでいただけると思います。 今回は、その記事でも触れた広告配信サーバーの技術的な取り組みについてご紹介します。その中でも特に、Amazon DynamoDB Accelerator (DAX) の活用に焦点を絞ってお伝えします。 背景 従来、広告をアプリ側で表示させるためには、マーケティングサービス開発グループがオーナーとして開発している広告 SDK を、クックパッド本体アプリに組み込み、非同期に広告配信サーバーにリクエストを行うこと
こむろ@事業開発部です。 前回 の続きです。 そろそろ諸々の記憶が薄れ始めている頃なので早めに全部書ききっておきたいところです。 前回までのまとめ データの取得と転送方法についての検討は終わりました。 Amazon S3 の転送方法の検討と想定される時間の計測 → 完了 Amazon ElastiCache for Redis の転送方法の検討と想定される時間の計測 → 完了 Amazon DynamoDB の転送方法の検討と想定される時間の計測 → 完了 転送対象の絞り込み → 完了 重要データ、ログイン情報の3テーブルにフォーカスを絞る 認証情報は除外 データ完全性検証の方法検討 → 未着手 全体のスケジュール作成 → 未完成 転送作業の実施 → 未着手 今回のテーマ データ完全性検証の方法を検討します。 データ完全性検証について。ここでは、「移行元のデータ」と「移行先のデータ」が完全
DynamoDB Shell とは DynamoDB Shell(ddbsh) とは、DynamoDB を初めて使うユーザにとって使い慣れた SQL のようなコマンドを実行することができる CLI です。 ddbsh のクエリ言語は SQL から派生したもので、DynamoDB 固有の拡張機能なんかを持っています。 やってみよう まずは、ddbsh の install から始めます。 brew からひけるようなので必要なものを install していきます。 ddbsh を使うと対象とする aws アカウント内にある DynamoDB へ接続することと、ローカル DynamoDB を使用したければそちらへの接続に切り替えることもできる。 特定の AWS 環境内の DynamoDB へ接続する AWS CLI の設定ファイル内に記載されているデフォルトのリージョン、AWS アクセスキー、AW
Amazon Web Services ブログ 新年の抱負 : Amazon DynamoDB のベストプラクティスを守る Amazon DynamoDB のベストプラクティスを守ることを新年の抱負としてみてはいかがでしょうか。これらのベストプラクティスに従うことで、DynamoDB を使用する際のパフォーマンスを最大限に発揮し、最小限に抑えることができます。以下のリンクをクリックして、DynamoDB ドキュメントで各ベストプラクティスの詳細をご覧ください。 パーティションキーを効率的に設計して使用する DynamoDB テーブルにある各アイテムを固有に識別するプライマリーキーは、シンプルなキー (パーティションキーのみ) または複合キー (ソートキーと組み合わされたパーティションキー) にすることができます。アプリケーションは、テーブルとそのセカンダリインデックスの論理パーティションキ
テーブル内に格納されているメールアドレスのデータを使って、1日ごと、1週間ごとに全ユーザーに対してメールを送信したいというバッチがあったとしましょう。 とある1人のユーザーのメールアドレスを調べること自体はQuery操作で可能ですが、バッチ処理の性質上それを全ユーザーに対してやると考えると、実質的にはテーブル全Scanと同等の処理が要求されてしまいます。 システムを利用しているユーザーから登録情報の参照・変更を随時受け付けるたびに、このテーブルへのCRUD処理が行われます。そのため、このテーブルへの全Scanはユーザー体験を損なう可能性が高いです。 解決策の模索 「とあるテーブルに対してバッチで大量アクセスするのを防ぎたい」という要件に対して、考えられるアプローチを挙げてみます。 リードレプリカの作成 コピーテーブルの作成 リードレプリカの作成 RDSやAuroraの場合は、同じデータを持
まず、DynamoDB のテーブルを 2つ作成します。 ViewCount 動画の再生回数を格納するテーブル プライマリキー ... video_name(ビデオ名) RequestHistory 同一 IP からリロードを繰り返された際にいたずらに再生回数がカウントされる事を防ぐ為の情報を格納するテーブル プライマリキー ... video_name(ビデオ名) ソートキー ... ip_address(IP アドレス) 以下のソースコードを実装しました。ランタイムは Python3.8 です。 処理失敗時のロールバック等は実装していませんので、あくまで参考程度にご利用ください。 「TABLENAME_COUNT」、「TABLENAME_HISTORY」には作成した DynamoDB のテーブル名をそれぞれ指定ください。 import os import boto3 from boto3
Lambda関数の作成 関数は別ファイルにしても良いですが、今回は簡略化のためにすべて同じファイルに作成することとしています。 まずは共通で読み込むライブラリの読み込みをします。日付の処理でdayjsを使用しているため事前にnpm install dayjsをしておいてください。 コードの途中にコメントを入れているような感じで書いているので以下現れるコードをつなぎ合わせるとすべてのLambda関数が完成します。 'use strict'; const AWS = require('aws-sdk') const docClient = new AWS.DynamoDB.DocumentClient({region: 'ap-northeast-1'}) const dayjs = require('dayjs') アクセスを日毎に記録する関数 アクセスを記録するためにaccessという関数
はじめに 言語として高速だと謳われているRust。そのRustを使用してDynamoDBへのデータ登録処理を直列処理と複数の並列アルゴリズム処理で速度比較してみました。 DynamoDB DynamoDBは公式で以下のように謳われています。 Amazon DynamoDB の応答時間は 1 桁ミリ秒で、最も要求の厳しいアプリケーションでも一貫してこのパフォーマンスを発揮できます。例を挙げると、2022 年の Amazon プライムデーに Amazon DynamoDB は、1 桁ミリ秒のパフォーマンスで、数兆回の API コールに対して 1 秒あたり 1 億 520 万件のリクエストを確実に処理しました。 上記だけみると爆速のようにも思われますが、読み込みと書き込み双方に以下の制限があります。 BatchWriteItemのデータ投入は1回で25リクエストまで、Queryのデータ取得は1回
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」を執筆されています
ここ最近tblsのアップデートエントリを書いていなかったのですが、最近変更をいくつか行いました。 このまま放置するとちょっと紹介しきれなくなりそうなので、ここら辺で放出しておこうと思います。 紹介時点のtblsのバージョンはv1.29.0です。 PostgreSQLでの public. スキーマ表示仕様変更 tblsでは、もともとPostgreSQLの public. スキーマ( schema_name.table_name.column_name の schema_name )だけ特別に非表示にしていました。 こうなっていた理由は、私がPostgreSQLでのスキーマを意識した運用経験がなかったことに寄る部分が大きいです。「デフォルトだから非表示で良いだろう」と。 ところで、tblsにはlintの機能があります。「テーブルカラムにコメントが書かれているか?」とか「外部キーの参照元にIND
スマートキャンプエンジニアの今川(@ug23_)です。 10月中旬に、スマートキャンプのエンジニアチームで開発合宿にいってきました。合宿のテーマは、スマートキャンプのミッションテクノロジーで社会の非効率を無くすになぞらえて、テクノロジーでSMARTCAMPの非効率を無くすでした。合宿を楽しんでいるメンバーの様子は来週のブログでお届けする予定なので、このエントリでは作ったものについて触れます。 解決する課題 できたもの - bony システム構成 オフィスのヒートマップ AWS IoT Coreを使ってみて ふりかえり さいごに 解決する課題 合宿のチーム分けが決まり、合宿のためのプロダクトを検討し始めた頃、我々はちょうどオフィス移転から2ヶ月後ぐらいの真夏の時期でした。チームで社内の課題を出し合ったところ、オフィス移転してから風邪引いてるひと増えたかも、空調が効き過ぎていて寒いって言ってる
はじめに こむろ@事業開発部です。 今回、5年以上稼働していた SpringBoot アプリケーションを エンドユーザーへの影響を最小にして、別のAWSアカウントへ完全に移行させました。その調査、検討、実施した際の想定外のトラブルやその対処について記録します。 私は主に全体のとりまとめを担当し、アプリケーション内で使うデータの関係性のチェックや移行作業全体のスケジュール作成、切り戻し計画の作成、メンバーへのタスク依頼、顧客調整等々を行いました。 概要 全体が無駄に長くなってしまったのでまとめると以下になります。 Elastic Beanstalk (1 Container Docker)で動作していた Spring Boot アプリケーションを、別の AWS アカウントの Fargate 環境へ引っ越し 作業時間は最大 5 時間 転送はもちろん、データの完全一致の保証も含めて 移行対象デー
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く