Amazon Web Services ブログ

Category: Amazon DocumentDB

Woot がお買い得品を拡大するために Amazon DocumentDB (MongoDB 互換) を使用する方法

 Woot! は 2004 年に設立され、2010 年にアマゾンが買収した元祖デイリーディールサイトです。Woot は当初、毎日 1 つの製品を売り切れるまで販売していましたが、現在は 7 つのカテゴリーでその日のお買い得品とその他期間限定オファーを提供しています。私のチームは Woot でリテールカタログサービスを担当しており、これは Woot のさまざまなフロントエンドサービスとユーザーインターフェイスにお買い得品を提供します。Woot が年々成長する中で私たちが直面した問題の多くは、スケーリング限界に達した古いレガシーシステムに起因するものでした。 この記事では、Woot でご覧いただける製品カタログとお買い得品の原動力となるセルフホスト型の MongoDB データベースを Amazon DocumentDB (MongoDB 互換) にどのように移行したかについて説明していきます。また、コストを削減しながらパフォーマンス、スケーリング、および俊敏性を向上させる上で Amazon DocumentDB がどのように役立ったかについても説明します。 アプリケーションアーキテクチャ Woot のリテールカタログサービスは Amazon DocumentDB をそのプライマリデータベースとして使用しています。Amazon DocumentDB 内では、データがアイテム (Woot が販売する製品)、オファー (時間と数量によって制限される販売対象アイテム)、およびイベント (お客様に売り出されるオファーのグループ) のコレクションに分類されます。私たちのバックエンドシステムは、主に C#/.Net (レガシー .Net Framework Windows サービスとサーバーレス .Net Core マイクロサービススタックの組み合わせ) を使用します。現在、Windows IIS API が Amazon […]

Read More

Amazon DocumentDB (MongoDB 互換) を使用してコストを最適化する

Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする、高速かつスケーラブルで可用性に優れた完全マネージドのドキュメントデータベースサービスです。お客様は、基盤となるインフラストラクチャの管理を気にすることなく、現在の MongoDB 3.6 用のプリケーションコード、ドライバー、ツールをそのまま使用して、Amazon DocumentDB 上でのワークロードの実行、管理、そしてスケーリングが行えます。ドキュメントデータベースである Amazon DocumentDB は、JSON データの保存、クエリ、およびインデックスを容易にします。 AWS は、可用性、信頼性、耐久性、スケーラビリティ、バックアップなどに関するお客様の課題を独自の方法を用いて解決するために Amazon DocumentDB を構築しました。その過程において、当社は、付加価値を生まない手間のかかる作業を取り除き、コストを削減するために、いくつかの斬新でユニークな機能を構築しました。この記事では、コストの見積もり、最適化、モニタリングを可能にする Amazon DocumentDB 機能を紹介します。 T3 ミディアムインスタンス T3 ミディアムインスタンス (4 GiB RAM、2 vCPU) のリリースにより、r5.large インスタンス (16 GiB RAM、2 vCPU) 以前のエントリポイントより 72% 安い低コストのインスタンスタイプ (1 時間あたり 0.078 USD) が得られます (料金はリージョンごとに異なります。Amazon DocumentDB の料金をご覧ください)。 T3 インスタンスは、開始、開発とテスト、および小規模の本番ワークロードに最適です。T3 ミディアムインスタンスで新しいクラスターをプロビジョニングするか、既存のクラスターのインスタンスを T3 ミディアムインスタンスにスケーリングできます。詳細については、Amazon DocumentDB インスタンスの変更を参照してください。 […]

Read More

Amazon DocumentDB (MongoDB 互換) の開始方法 – パート 3; – Robo 3T の使用

Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする、高速かつスケーラブルで可用性に優れたフルマネージド型のドキュメントデータベースサービスです。お客様は、基盤となるインフラストラクチャの管理を気にすることなく、現在ご使用のものと同じ MongoDB 3.6 向けのアプリケーションコード、ドライバー、ツールを、そのまま Amazon DocumentDB 上でワークロードを実行、管理、そしてスケールするのに使えます。ドキュメントデータベースである Amazon DocumentDB は、JSON データの保存、クエリ、およびインデックスを容易にします。 このシリーズのパート 3 であるこの投稿では、Amazon DocumentDB と Robo 3T (旧 Robomongo) の開始方法を説明します。Robo 3T は、軽量でシェル中心のオープンソースプラットフォーム間のグラフィカルユーザーインターフェイスツールであり、MongoDB ワークロードを管理します。Robo 3T は、データベースとコレクションの作成、ユーザーやドキュメントの追加、オートコンプリート機能を搭載した 1 回限りのクエリの実行、GUI インターフェイスからの結果の視覚化を実現するため、より効率的です。 この投稿では、VPC 内に単一インスタンスの Amazon DocumentDB クラスター、同じ VPC 内の EC2 Linux VM を作成し、2 つの間に SSH トンネルを設定します。また、Robo 3T を使用してクラスターに接続し、ローカルコンピュータからいくつかのクエリを実行します。次の図は、このチュートリアルの最終的なアーキテクチャを示しています。 Amazon DocumentDB クラスターの作成 AWS コマンドラインインターフェイス […]

Read More

Amazon DocumentDB のスケーリング (MongoDB 互換性あり)、パート 1: 読み込みのスケーリング

 Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする、高速かつスケーラブルで可用性に優れたフルマネージド型のドキュメントデータベースサービスです。Amazon DocumentDB で、MongoDB で使用しているものと同じアプリケーションコードを実行し、同じドライバー、およびツールを使うことができます。この記事では、Amazon DocumentDB の最新クラウドネイティブデータベースアーキテクチャにより、クラスターの読み込みスループットを従来のアーキテクチャよりも高速かつ柔軟にスケーリングできる方法を示します。この記事では、Amazon DocumentDB クラスターへの接続とそこからの読み込みに関する推奨事項も提供されます。 Amazon DocumentDB クラウドネイティブアーキテクチャ 従来のモノリシックなデータベースとは異なり、Amazon DocumentDB のクラウドネイティブアーキテクチャは、ストレージとコンピューティングを分離しています。Amazon DocumentDB クラスターは、分散ストレージボリュームと、ストレージボリュームからデータを読み書きする 1 つ以上のコンピューティングインスタンスで構成されます。次の図は、1 つのプライマリインスタンスと 2 つのレプリカインスタンスを持つ Amazon DocumentDB クラスターを示しています。 コンピューティングインスタンスがリクエストを処理し、クラスターのストレージボリュームはすべてのデータのコピーを 6 つ (3 つのアベイラビリティーゾーンでそれぞれ 2 つのコピー) を維持することで耐久性を提供します。このアーキテクチャは、読み込みおよび書き込み操作用の単一のプライマリインスタンスと、読み込み操作用の最大 15 個の読み込みレプリカを提供し、1 秒あたり数百万回の読み込みにスケーリングします。 Amazon DocumentDB インスタンスにはデータが含まれていないうえに、新しいインスタンスを追加するときにデータをコピーする必要がないため、クラスターに新しいインスタンスをすばやく追加および削除できます。保存されているデータの量に関係なく、新しいレプリカインスタンスを追加し、既存のインスタンスのサイズを数分で変更することができます。新しいインスタンスは通常 8〜10 分でプロビジョニングされ、アクティブになるとすぐにクエリを処理できるようになります。Amazon DocumentDB の完全マネージド型のアプローチは、このアーキテクチャを利用して、ハードウェア障害が発生した場合にインスタンスをすばやく置き換えます。その結果、従来のデータベースアーキテクチャよりもはるかに迅速に回復できます。 Amazon DocumentDB エンドポイント Amazon DocumentDB は、3 種類のエンドポイントをサポートしています。 […]

Read More

Amazon DocumentDB (MongoDB 互換) について知っておくべき 12 のこと

Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする、高速かつスケーラブルで可用性に優れたフルマネージド型のドキュメントデータベースサービスです。お客様は、基盤となるインフラストラクチャの管理を気にすることなく、現在ご使用のものと同じ MongoDB 3.6 向けのアプリケーションコード、ドライバー、ツールを、そのまま Amazon DocumentDB 上でワークロードを実行、管理、そしてスケールするのに使えます。ドキュメントデータベースである Amazon DocumentDB は、JSON データの保存、クエリ、およびインデックスを容易にします。 AWS は、可用性、信頼性、耐久性、スケーラビリティ、バックアップなどに関するお客様の課題を独自の方法を用いて解決するために Amazon DocumentDB を構築しました。その過程において、当社は、付加価値を生まない手間のかかる作業を取り除き、コストを削減するために、いくつかの斬新でユニークな機能を構築しました。この投稿では、Amazon DocumentDB で MongoDB ワークロードを構築およびスケーリングするのに役立つ、まだ認識されていないかもしれない 12 の Amazon DocumentDB 機能を紹介します。 1.最新のクラウドネイティブアーキテクチャ Amazon DocumentDB は、クラウドネイティブのデータベースアーキテクチャを使用してゼロから構築されました。独自のアーキテクチャによりストレージとコンピューティングが分離されているため、各レイヤーを個別に拡張できます。Amazon DocumentDB は、3 つの AWSアベイラビリティーゾーン (AZ) にまたがって 6 つの方法でデータをレプリケートすることで高可用性と耐久性を備えた、フォールトトレラントな分散型の専用自己修復ストレージシステムを使用しています。詳細については、YouTube のAWS re:Invent 2019: Amazon DocumentDB の詳細の動画をご覧ください。次の図は、Amazon DocumentDB アーキテクチャにおけるコンピューティングとストレージの分離、およびデータが 3 つの AZ にまたがって 6 […]

Read More

ハイブリッドの方法を使用して、Amazon DocumentDB へ移行する

Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする、高速かつスケーラブルで可用性に優れた完全マネージドのドキュメントデータベースサービスです。お客様は、基盤となるインフラストラクチャの管理を気にすることなく、現在の MongoDB 3.6 用のプリケーションコード、ドライバー、ツールをそのまま使用して、Amazon DocumentDB 上でのワークロードの実行、管理、そしてスケーリングが行えます。ドキュメントデータベースである Amazon DocumentDB は、JSON データの保存、クエリ、およびインデックスを容易にします。 MongoDB から Amazon DocumentDB に移行するための主要なアプローチとしては、オフライン、オンライン、ハイブリッドの 3 つがあります。詳細については「移行アプローチ」をご参照ください。 今回の記事では、ハイブリッドアプローチにより MongoDB のデータを Amazon DocumentDB に移行する方法についてご紹介していきます。ハイブリッドアプローチは、オフラインアプローチが持つ移行速度に、オンラインアプローチが提供するダウンタイムの最小化を組み合わせたものです。詳細については「Video: Live migration to Amazon DocumentDB」をご覧ください。 ソースデータセットが 1 TB を超える場合でダウンタイムを最小限に抑えるには、ハイブリッドメソッドが最良の選択肢となります。ハイブリッドの方法では、並列化を活用しながら、データの一括移行を行う mongorestore に対応した速度を実現します。さらに、ダウンタイム最小化のためには、AWS Database Migration Service (DMS) を利用しています。 データセットのサイズが 1 TB 未満の場合は、オンラインもしくはオフラインのアプローチが適しています。オフライおよびオンラインでの移行の詳細については、「オフラインの方法を使用して、MongoDB から Amazon DocumentDB に移行する」および「オンラインの方法を使用して、Amazon DocumentDB に移行する」をご参照ください。 この投稿では、ハイブリッドのアプローチを使用して、Amazon […]

Read More

Amazon DocumentDB (MongoDB 互換) の開始方法 – パート 1 – Amazon EC2 の使用

Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする高速でスケーラブル、かつ可用性に優れた完全マネージドのドキュメントデータベースサービスです。お客様は、基盤となるインフラストラクチャの管理を気にすることなく、現在ご使用のものと同じ MongoDB 3.6 向けのアプリケーションコード、ドライバー、ツールを、そのまま Amazon DocumentDB 上でワークロードを実行、管理、そしてスケールするのに使えます。ドキュメントデータベースである Amazon DocumentDB は、JSON データの保存、クエリ、およびインデックスを容易にします。 このシリーズのパート 1 のこの投稿では、Amazon DocumentDB の開始方法を示します。これを行うため、デフォルトの Amazon VPC に Amazon EC2 インスタンスを作成します。デフォルトの VPC を作成する手順については、Amazon VPC の開始方法を参照してください。また、同じデフォルトの VPC で 1 インスタンスの Amazon DocumentDB クラスターをプロビジョニングします。この投稿では、ローカルコンピューターから EC2 インスタンスに SSH で接続し、mongo シェルを使用して EC2 インスタンスからクラスターに接続する方法を示します。最後に、Amazon DocumentDB クラスターに対してクエリを実行する方法を学びます。このチュートリアルを完了するためにかかる費用は 0.30 USD 未満です。 AWS リソースを作成するときは、AWS IAM のベストプラクティスに従うことをお勧めします。 次の図は、このチュートリアルの最終的なアーキテクチャを示しています。 このチュートリアルでは、特定のリージョンにおけるデフォルトの […]

Read More

Amazon DocumentDB (MongoDB 互換) で $dateFromString と executionStats を使用する

Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする高速でスケーラブル、かつ可用性に優れた完全マネージドのドキュメントデータベースサービスです。Amazon DocumentDB では、JSON データの保存、クエリ、およびインデックスの作成を簡単かつ直感的に行うことができます。Amazon DocumentDB を初めて使用する場合は、「Amazon DocumentDB (MongoDB 互換) でのランプアップ」をご覧ください。 Amazon DocumentDB では、MongoDB との互換性の改善を続けています。このブログを執筆している時点で、Amazon DocumentDB には 2 つの新機能を新たにサポートしています。 $dateFromString は、ドキュメントに対して強力な集計を作成できる集計パイプライン演算子です executionStats モード (explain() 用) は、クエリプラン内の各ステージの詳細な実行統計を提供します。 Amazon DocumentDB のサポートされている MongoDB API と集計パイプライン機能の詳細については、「サポートされている MongoDB API、オペレーション、およびデータ型」をご参照ください。 この投稿では、$dateFromString と executionStats のユースケースについて解説し、サンプルコードを介してこれらの新機能の使用方法をご紹介します。 $dateFromString $dateFromString 集計パイプライン演算子は、文字列形式の日付を DATE データ型に変換できます。$dateFromString は $dateToString の逆演算子です。 $dateFromString のしくみを理解するために、この投稿では、ビデオゲーム内で発生したイベントの日時を記録するサンプルデータセットを使用しています。ビデオゲームはイベントを文字列として記録しますが、アプリケーションはイベントフィールドを DATE データ型として分析できる必要があります。文字列から日付への変換を実行するには、$dateToString 集計演算子を使用します。 […]

Read More

Amazon DocumentDB (MongoDB 互換) でのランプアップ

 Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする高速でスケーラブル、かつ可用性に優れた完全マネージド型のドキュメントデータベースサービスです。ドキュメントデータベースである Amazon DocumentDB は、JSON データの保存、クエリ、およびインデックスを容易にします。Amazon DocumentDB には MongoDB 3.6 のドライバおよびツールとの互換性があります。現在すでに MongoDB データベースで使用しているアプリケーション、ドライバ、およびツールの多くは、変更なし、またはわずかな変更のみで Amazon DocumentDB で使用することができます。 このブログ記事では、皆さんが Amazon DocumentDB ですばやくランプアップできるように、最もよく質問されるトピックに関する簡単な概要とリソース一式を提供します。 Amazon DocumentDB とは何ですか? Amazon DocumentDB の使用を開始する方法を教えてください Amazon DocumentDB で構築およびスケールするにはどうすればよいですか? Amazon DocumentDB に移行するにはどうすればよいですか? 誰が Amazon DocumentDB を利用していますか? Amazon DocumentDB の最新情報を常に把握しておくにはどうすればよいですか? Amazon DocumentDB とは何ですか? Amazon DocumentDB がユニークなデータベースである理由、そしてそのクラウドネイティブなアーキテクチャがストレージとコンピューティングを分離させてすばやいスケーリングを可能にする方法の詳細については、以下のリソースにアクセスしてください。 Amazon DocumentDB ディープダイブ (re:Invent 2019 […]

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