Amazon Web Services ブログ

Category: Database

Amazon DynamoDB オンデマンドキャパシティーモードを使用して、急増するワークロードを実行し、コストを 90% 以上最適化する

これは、TVer Technologies Inc. のソフトウェアエンジニアであるウツミケイスケ氏によるゲスト投稿です。同社の言葉を借りると、「 TVer Technologies Inc. は、テレビ放送と同期されたウェブサイトを利用して、ユーザーにインタラクティブなエンターテイメントサービスを提供しています 」との事です。 TVer Technologies Inc. は、日本のテレビ視聴者向けにウェブサイトとアプリベースのインタラクティブコンテンツを提供しています。当社のアプリケーションの多くは、Amazon DynamoDB をデータベースとして使用して、登録ユーザー情報を保存し、テレビ放送中のライブ投票イベントでユーザーの投票活動の履歴を記録します。当社のアプリケーションは、毎朝の番組や季節ごとのポップミュージック番組でよく用いられています。このブログ記事では、DynamoDB のオンデマンド読み取り/書き込みキャパシティーモードを使用して、TV ライブ投票イベントで使用されるシステムのコストとパフォーマンスを最適化する方法を確認します。 視聴者の投票期間はテレビ番組の放映時間に制限されているため、ほとんどのライブ投票プロジェクトでは、ユーザーアクセスは数時間しか見られません。この数時間で、アクセスリクエストが急増するのはほんの数分間です。ピーク時以外のワークロードは、ピーク時と比較してほとんどありません。両者を比べると、1:100 または 1:10,000 の割合です。 次のグラフは、視聴者をウェブサイトに投票させるテレビ番組中のウェブサービスへのアクセスリクエストの記録を示しています。投票がなかったときは、視聴者からの投票活動へのアクセスがないため、リクエストはありませんでした。具体的には、19:30 から 20:15 の間、ユーザーからの投票アクティビティがなかったため、リクエストはありませんでした。それから 20:15 に、視聴者が投票を開始し、システムがユーザーのデータを記録し始めたため、数分間スパイクが見られました。プログラムが 22:30 に終了するまで、投票時間中に短いスパイクが繰り返されるこのパターンが不規則に広がっています。Amazon CloudWatch Logs がレコードを収集したため、数値は 1 分あたりの平均値です。ピーク時に記録された実際の数は、非ピーク時の 2~3 倍でした。 Amazon DynamoDB オンデマンドを使用する理由 このケースでは、Amazon DynamoDB オンデマンドが最も有用であることがわかりました。DynamoDB の Auto Scaling を使用することもできましたが、TV プログラムでの計画外のプロモーションが原因でリクエストが突然または予期せず急増した場合、DynamoDB の Auto Scaling では十分に早く追いつけないでしょう。DynamoDB オンデマンドを使用すると、お金を節約し、手動による介入を減らすことができ、遅滞がありません。 一部のライブプログラムには、プログラム中、イベントの厳密なスケジュールがありません。したがって、トラフィックが急増する時間帯を事前に予測することは困難です。ピーク時のトラフィックに備えて DynamoDB のキャパシティーを事前にプロビジョニングした場合、実際にピークがいつ発生したかに関係なく、そのリソースに対して料金を支払う必要があります。DynamoDB […]

Read More

AWS DMS を使用して Oracle から Amazon Aurora に移行する継続的なデータベースレプリケーション

これは IPG のゲスト投稿です。同社の説明によれば、「IPG は日本に拠点を置いており、テレビ関連のデータを専門に取り扱っています。日本全国の放送局から送られてきたデータを使用し、使いやすく理解しやすいようにフォーマットし、メタタグで構造化し、スマートフォンなどのプラットフォームで簡単に利用できるようにしています」 この記事では、AWS DMS を使用して、Oracle から Amazon Aurora への移行中にテストしたさまざまな最適化および MySQL 互換性について説明し、各ソリューションの欠点と利点を示し、取り扱うユースケースに最適なソリューションについて説明します。 次の図は、衛星、放送局、コンテンツプロバイダーから送られてきたデータを IPG がどのように移転させているかを示しています。 最初に Oracle データベースを使用して、テレビ番組のデータとそのさまざまな関連情報を保存および管理しました。入力データの詳細は次のとおりです。 EPG データ – 約 250,000 の番組 (地上波、BS、CS100°、新しい 4K8K の衛星放送を含む 8 日先までのテレビ番組情報) 放送局 – 約 200 の放送局と約 1000 のチャンネル コンテンツプロバイダー – 約 10 社 このデータは 30 の企業に送信され、それらの企業のサービスで使用されます。 システム操作には、40 個のバッチプログラム、10 個の操作 UI、40 個の API サービスを含むソフトウェアプログラムの複雑なネットワークを使用しました。 Oracle に関する懸念事項 このシステムは耐久性があり安定していますが、次の点に懸念がありました。 […]

Read More

AWS DMS を使用してほぼゼロのダウンタイムで Oracle データベースを移行する

ダウンタイムを許容できない重要な Oracle OLTP データベースが組織にございますか? 最小限のダウンタイムで、またはダウンタイムなしで Oracle データベースを AWS に移行したいとお考えですか? 24 時間年中無休でアプリケーションとデータベースが利用できることが求められる今日のペースの速い世界では、アプリケーションによっては、オンプレミスデータベースをクラウドに移行する際に大幅なダウンタイムを許容できないものもあるでしょう。 この記事では、AWS Database Migration Service (AWS DMS) とその変更データキャプチャ (CDC) 機能を使用してダウンタイムを最小限に抑えるために、オンプレミスの Oracle データベースを Oracle の Amazon Relational Database Service (RDS) に移行するソリューションについて説明します。 AWS DMS の概要 AWS DMS は、データベースを AWS に移行するのに役立つクラウドサービスです。AWS DMS は、リレーショナルデータベース、データウェアハウス、NoSQL データベース、およびその他の種類のデータストアを AWS クラウドに移行できます。AWS DMS は、異なるデータベースプラットフォーム間の同種および異種の移行をサポートしています。1 回限りの移行を実行し、進行中の変更をレプリケートして、ソースデータベースとターゲットデータベースを継続的に同期することができます。AWS DMS を使用するには、少なくともソースデータベースまたはターゲットデータベースのいずれか 1 つのデータベースエンドが AWS にある必要があります。 AWS DMS のみを使用してデータ変更をレプリケートする場合、AWS […]

Read More

最終のご案内: 3月5日までに Amazon RDS / Aurora / DocumentDB のSSL/TLS証明書を更新してください

Amazon Relational Database Service (RDS)、Amazon Aurora、または Amazon DocumentDB をご使用中のお客様で、データベースインスタンスにSSL/TLS接続している方は、2020年3月5日までにSSL/TLS証明書を更新してください。実行しなかった場合、SSL/TLSでのデータベース接続ができなくなります。

Read More

Power BI と Amazon Redshift を統合して洞察を取得し分析する

Amazon Redshift は高速なフルマネージド型クラウドネイティブデータウェアハウスで、標準 SQL や既存のビジネスインテリジェンス (BI) ツールを使用して、すべてのデータをシンプルかつコスト効率よく分析できます。Microsoft Power BI は、洞察を得て、情報に基づいた迅速な意思決定を行うことを可能にするビジネス分析サービスです。Power BI により、アドホッククエリ分析を実行し、データを視覚化し、使いやすいダッシュボードを作成できます。 この記事では、Power BI を Amazon Redshift と統合して、強力に視覚化し洞察をもたらす方法を示します。 ソリューションのアーキテクチャ この記事では、AWS でゼロからビッグデータ環境を作成するのに役立つコードアーティファクトを提供します。提供される AWS CloudFormation テンプレートとコード例を使用することで、技術的な詳細をあまり知らずに、1 時間とかからずに新しい Amazon Redshift データウェアハウスを自動的にプロビジョニングできます。 この記事では、最も一般的なデプロイシナリオの統合を設定する方法も示します。たとえば、ODBC/JDBC ドライバーを使用して Power BI を AWS のサービスにどのように接続したらよいでしょうか? プライベートネットワークの背後にデプロイされている AWS のサービスにどのように接続したらよいでしょうか? AWS のサービスへの接続に使用する資格情報は何でしょうか? この記事の以下のセクションで、これらの疑問に対処し、答えていきます。 次の図は、AWS にデプロイされたソリューションアーキテクチャを示しています。AWS クラウド境界内のすべてのコンポーネントは、AWS CloudFormation テンプレートで自動的にデプロイされるため、AWS アカウントを使用してこのソリューションを迅速に再現できます。 デプロイされると、ソリューションには次のコンポーネントが含まれます。 VPC、パブリックサブネットとプライベートサブネット、セキュリティグループ、インターネットゲートウェイ、NAT ゲートウェイ、およびルートテーブルを含むネットワークインフラストラクチャ サンプルデータを生成するためにパブリックサブネットにプロビジョニングされた Linux EC2 インスタンス Power […]

Read More

カスタムテーブル設定を使用して Amazon DynamoDB バックアップを異なる AWS リージョンに復元する

Amazon DynamoDB バックアップと復元は、DynamoDB テーブルの継続的かつオンデマンドのバックアップを作成し、そのバックアップからデータを復元するためのシンプルで完全に自動化された機能を提供します。ポイントインタイムリカバリ (PITR) を使用すると、DynamoDB テーブルデータの連続バックアップを作成できます。DynamoDB は、1 秒ごとの粒度でデータをバックアップし、過去 35 日間の任意の時点に復元できます。PITR を構築して、誤った書き込みや削除からユーザーを保護します。オンデマンドバックアップ を使用して、DynamoDB テーブルの完全バックアップを作成することもできます。オンデマンドバックアップは、長期の保存とアーカイブに適しており、規制要件に準拠するのに役立ちます。 DynamoDB バックアップからデータを復元するときに異なるテーブル設定が行えるようにするため、新しい復元機能を複数導入しました。このブログ記事では、新機能とその使用方法について説明します。 新しい DynamoDB の復元機能の説明 DynamoDB バックアップからデータを復元するときに、次のタスクを実行できるようになりました。 ソースバックアップが存在する場所とは異なる AWS リージョンの新しいテーブルにバックアップを復元する。リージョン間の復元を実行できると、マルチリージョンのコンプライアンスおよび規制要件を満たし、災害復旧およびビジネス継続性計画を開発するのに役立ちます。 一部またはすべてのローカルおよびグローバルセカンダリインデックスを、復元されたテーブルで作成されないように除外する。セカンダリインデックスを復元対象から除外することにした場合、復元はより高速で費用効率が高くなります。 テーブルの請求方法を変更する (オンデマンドキャパシティーモードまたはプロビジョニング済みキャパシティーモード)。 必要に応じて、プロビジョニング済みのキャパシティーの設定を変更する。 復元されたテーブル (AWS が所有する CMK、AWS が管理する CMK、または顧客が管理する CMK) の暗号化キーを更新する。 AWS マネジメントコンソール、シンプルな API 呼び出し、または AWS コマンドラインインターフェイス (CLI) で数回クリックするだけで、復元された DynamoDB テーブルの設定を変更できます。実稼働アプリケーションのパフォーマンスや可用性に影響を与えることなく、数メガバイトから数百テラバイトのデータからテーブルを復元できます。 これらの新しい復元機能を使用する方法を見てみましょう。 PITR を有効にして開始 復元をテストするには、まずバックアップが必要です。幸いなことに、DynamoDB はテーブルを即座にバックアップしてくれます。テーブルで PITR を有効にすることから始めます。ここでは、私は米国東部 (オハイオ) リージョンを使用しています。けれども、この機能はどの […]

Read More

[AWS Black Belt Online Seminar] Next Generation Redshift 資料及び QA 公開

先日 (2020/02/18) 開催しました AWS Black Belt Online Seminar「Next Generation Redshift」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20200218 AWS Black Belt Online Seminar Next Generation Redshift AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. Concurrency Scalingの1日あたり1時間分の無料クレジットは繰越されるのでしょうか? A. はい、繰り越されます。クレジットはクラスターごとに最大30時間まで累積します。詳細はAmazon Redshift の料金 の「同時実行スケーリングの料金」をご参照ください。 Q. 無料アカウント(期間)にRA3をお試しする事可能ですか? A. いいえ、無料トライアルの2ヶ月間でお試しいただけるのはDC2.largeインスタンスタイプのみとなります。詳細は Amazon Redshift 無料トライアル をご参照ください。 — 今後の AWS Webinar | イベントスケジュール 直近で以下を予定しています。各詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております。 — AWSome Day Online Conference 「AWSome Day Online」は、実際に足を運んでいただく 1 […]

Read More

Autodesk のミッションクリティカルなデータベースを Microsoft SQL Server から Amazon Aurora MySQL に移行する

 この記事は、Autodesk のソフトウェアアーキテクトである Tulika Shrivastava 氏が、AWS の Rama Thamman の協力の下で執筆したゲスト投稿です。Autodesk は自社を評して次のように述べています。「Autodesk は 3D 設計、エンジニアリング、エンターテイメントソフトウェアの分野で牽引する企業です。車を運転したり、超高層ビルを見上げたり、スマートフォンを使用したり、偉大な映画を見たりしたことがある人は、何百万もの Autodesk ユーザーがソフトウェアで行っていることを身をもって体験されているものと思われます」 Autodesk は、AWS のサービスの中でも特に、プライベートデータセンターから Amazon EC2 へワークロードを移行することで、数年前にクラウドのモダナイゼーションを開始しました。Autodesk は、柔軟性とスケーラビリティを得て予想される成長を後押しするために近代化する必要がありました。2019 年、当社はミッションクリティカルなシングルサインオン (SSO) アプリケーションを EC2 上のセルフマネージド SQL Server から完全マネージド型の Amazon Aurora MySQL に移行しました。このサービスでは、1 億 4200 万人を超えるユーザーからの認証リクエストを集め、1 分あたり 145,000 件を超える API リクエストに応答しています。認証と承認のために 300 を超える製品とサービスと統合されています。 この移行により、Autodesk SSO サービスの管理と復元力が合理化され、コストが最適化され、インフラストラクチャメンテナンスのオーバーヘッドが削減されました。初期コスト分析によると、当社は Amazon Aurora MySQL を使用することで、データベース全体のコストの約 40〜50% を毎月節約できるだろうことがわかりました。 この記事では、Autodesk […]

Read More

MongoDB 互換の新しい Amazon DocumentDB 集計パイプライン演算子: $objectToArray、$arrayToObject、$slice、$mod、$range

 Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする高速でスケーラブル、かつ可用性に優れた完全マネージド型のドキュメント データベース サービスです。お客様は、基盤となるインフラストラクチャの管理を気にすることなく、現在ご使用のものと同じ MongoDB 向けのアプリケーションコード、ドライバー、ツールを、そのまま Amazon DocumentDB 上で実行や管理をしたり、処理負荷を調整したりするのに使えます。 今日、Amazon DocumentDB は、 5 つの集計パイプライン機能を新たにサポートするようになりました。これにより、ドキュメントで強力な集計を作成できます。新しい機能には、$objectToArray、$arrayToObject、$slice、$mod、$range 集計パイプライン演算子が含まれます。 AWS は日頃からお客様の声に耳を傾け、最もニーズの高い機能を構築し、実用的な機能の互換性を高めています。Amazon DocumentDB のサポート対象の MongoDB API と集計パイプライン機能の詳細については、ドキュメントを参照してください。 このブログ記事では、一般的なユースケースを使用してこれらの新しい集計演算子の一部を紹介し、クイックスタートガイドを提供します。これにより、Amazon DocumentDB でこれらの機能をすぐにご利用開始できます。 配列集計演算子 Amazon DocumentDB では、配列データ型を持つフィールドを含むドキュメントを作成できます。データベースのクエリ言語内でネイティブに配列をクエリおよび操作できると、配列操作をデータベースにプッシュすることでパフォーマンスを向上させ、アプリケーションコードを簡素化できます。このセクションでは、4 つの新しい配列集計演算子 ($arrayToObject、$slice、$objectToArray、$range) の使用方法を説明します。 $objectToArray $objectToArray 集計演算子は、オブジェクト (またはドキュメント) を配列に変換します。演算子への入力はドキュメントで、出力は入力ドキュメントの各フィールドと値のペアの配列要素で構成されます。 $objectToArray の仕組みを理解するために、アイオワ州の架空のビデオレンタルチェーン店のビデオテープの在庫を追跡するデータセットを例に取ります。最初にデータをモデル化して、特定のビデオタイトルごとに店舗在庫を分類しましたが、どの店舗のビデオ在庫が最も多いかを知りたい場合にはどうしたらよいでしょうか。その問いに答えるため、$objectToArray 集計演算子を使用します。 Input: サンプルデータセットの各ドキュメントは個別のビデオタイトルで、各レンタルビデオ店の所在地の在庫を追跡する埋め込みドキュメントが含まれています。 db.videos.insertMany([ { “_id”:1, “name”:”Live Soft”, “inventory”: {“Des Moines”: […]

Read More

Tinder における大規模な回復性構築のための Amazon ElastiCache の利用

この記事は、Tinder 社の William Youngs 氏 (ソフトウェアエンジニア) 、Daniel Alkalai 氏 (シニアソフトウェアエンジニア) 、Jun-young Kwak 氏 (シニアエンジニアリングマネージャー) らの寄稿によるものです。Tinder は、2012 年に大学のキャンパスで生み出され、世界で一番利用されているマッチングアプリに成長しました。現在までに、このアプリは 3 億 4,000万件以上ダウンロードされており、190 の国々において 40 以上の言語で利用されています。2019 年の第3四半期時点において、Tinder には 570 万人の登録者がおり、ゲーム以外のアプリの中では世界で最も成長しているものとなっています。 Tinder の業務は、毎日 20 億件におよぶメンバーからのアクションに対応しながら 300 億件のマッチングをホスティングするために、低レイテンシーを Redis ベースのキャッシングにより実現しています。ここで行われるデータオペレーションの主体は読み込みです。次に示す図が、当社のバックエンドマイクロサービスにより大規模な回復性を実現するための、基本的なデータフローアーキテクチャを説明しています。 図 1 キャッシュアサイドアプローチ このキャッシュアサイドアプローチでは、データを要求されたマイクロサービスは、信頼できる情報源である永続的データベースストア (主として Amazon DynamoDB ですが、PostgreSQL、MongoDB、Cassandra も使用する場合もあります) を参照する前に、まず、Redis によるキャッシュへのクエリを行います。このサービスでキャッシュミスが発生した場合は、Redis に対して真実の情報源から値の埋め戻しが行われます。 図 2 EC2 で Redis をシャードする構成 当社では、Amazon ElastiCache […]

Read More