Amazon Web Services ブログ

Category: Database

ハイブリッドの方法を使用して、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

AWS DMS を使用して Amazon Aurora for PostgreSQL のメジャーバージョンへのアップグレードを最小ダウンタイムで実現する

AWS は 2 つのマネージド型 PostgreSQL オプションを提供しています。Amazon RDS for PostgreSQL と Amazon Aurora PostgreSQL です。Amazon RDS または Aurora がデータベースエンジンの新しいメジャーバージョン (PostgreSQL 10 から 11 など) をサポートしている場合、DB インスタンスを新しいバージョンにアップグレードできます。メジャーバージョンのアップグレードには、既存のアプリケーションとの下位互換性がない可能性があるデータベースの変更が含まれる可能性があります。詳細については、「Aurora PostgreSQL 向けの PostgreSQL DB エンジンをアップグレードする」と「Amazon RDS を PostgreSQLのメジャーバージョンとマイナーバージョンにアップグレードするためのベストプラクティス」を参照してください。 Amazon RDS と Aurora のどちらにも、DB インスタンスを変更することにより、メジャーバージョンのアップグレードを手動で開始するオプションがあります。これは、インプレースアップグレードとも呼ばれ、アップグレードプロセス中にアプリケーションのダウンタイムを必要とします。また、アップグレードで問題が発生した場合は、最新のバックアップを復元する必要があります。したがって、このオプションはすべてのワークロードタイプに望ましいとは限りません。別のアプローチは、メジャーバージョンのアップグレードに AWS Database Migration Service (DMS) を使用することです。AWS DMS は、PostgreSQL 論理レプリケーションを使用して、2 つのメジャーバージョン間のデータをほぼリアルタイムで同期します。AWS DMS は、次の要件を満たしている場合にのみ使用してください。 特定のメジャーバージョンで利用できるインプレースアップグレードオプションがない Aurora クラスター内の少数または一部のデータベースをアップグレードする必要がある アップグレードプロセスに必要なダウンタイムを最小限に抑え、カットオーバーで問題が発生した場合に古いインスタンスへ素早くロールバックできるオプションを確保したい […]

Read More

Amazon Neptune を使用して顧客識別グラフを作成する

顧客識別グラフは、プライバシー保護に準拠した方法を用いて、クッキー、デバイス識別子、IP アドレス、E メール ID、および内部エンタープライズ ID などの複数の識別子を既知の個人または匿名プロファイルにリンクすることにより、顧客と見込み顧客の単一の統合ビューを提供します。また、デバイスやマーケティングチャネル全体での顧客の行動や好みをキャプチャします。これは中央ハブとして機能し、ターゲットを絞った広告、顧客体験のパーソナライズ、およびマーケティング効果の測定を可能にします。 この記事では、AWS で顧客識別グラフを作成する方法の概要を説明し、主要なビジネスドライバー、課題、ユースケース、顧客の成功事例、およびソリューションの利点を確認します。また、ソリューション、サンプルデータモデル、AWS CloudFormation テンプレート、および開発を開始するために使用できるその他の技術コンポーネントについても説明します。 次の図は、デバイス識別子、クッキー、ブラウザ、動作など、特定のユーザーに関するデータのコレクションを顧客識別グラフプラットフォームで示しています。これにより、ID 解決、スコアリング、パーソナライズ用のオーディエンスセグメントの作成が行えるようになります。 ソリューションは、クラウドの専用グラフデータベースである Amazon Neptune で構築します。Amazon Neptune は何十億もの相互接続された関係を保存およびナビゲートするのに理想的で、リアルタイムの広告およびマーケティングアプリケーション向けにミリ秒のレイテンシーをサポートします。このソリューションは、機械学習モデルの構築、トレーニング、開発のためのフルマネージドプラットフォームである Amazon SageMaker も使用しています。このソリューションでは、ホストされた Jupyter ノートブックを提供できる Amazon SageMaker を使用して、顧客識別グラフデータをロードし、一般的なユースケースに対してクエリします。 プライバシー保護に準拠したカスタマーエクスペリエンス マーケティング担当者、広告主、デジタルプラットフォームは、顧客のニーズを特定、理解、予測し、さらにプライバシー保護に準拠した方法を使用してエクスペリエンスのパーソナライズを大規模に行う必要があります。 このような期待に応えることは、多くの面で困難に直面します。ビジネスの観点からは、マーケティング、販売、ロイヤルティなどの企業サイロからデータを集約する必要があります。テクノロジーの観点から見ると、グローバルに拡張できる安全で柔軟なデータベースプラットフォームが必要です。これにより、デバイス、顧客 ID、チャネル、および設定間の相互に関連する何十億もの関係について、リアルタイムの顧客識別および行動グラフを継続的に維持できます。 AWS で顧客識別グラフソリューションを構築する 顧客識別グラフソリューションにより、参照アプリケーションがもたらされます。そのため、独自のビジネスルールを使って、コスト効率が高く、スケーラブルで、安全で、可用性の高い顧客データプラットフォームを構築できます。顧客シグナルにリアルタイムで応答して、広告およびマーケティングアプリケーションとカスタマージャーニーオーケストレーションを自動化できます。 このソリューションにより、マーケッター、アドテック、マーテック、ゲーム、メディア、およびエンターテインメント企業は、何百万もの顧客プロファイルの何十億もの関係から洞察をリアルタイムでキャプチャしてアクティブ化できます。Zeta Global、NBCUniversal、Activision Blizzard などのお客様は、Amazon Neptune を使用して識別グラフを作成し、消費者のジャーニーをキャプチャして、何百万ものユーザーのために広告、コンテンツ、ゲーム内体験をパーソナライズしています。 このソリューションには、サンプルデータモデル、CloudFormation テンプレート、Amazon SageMaker ノートブックが含まれており、データベースで一般的なユースケースをクエリすることができます。完全な顧客識別グラフソリューションは、通常、取り込みパイプライン、データ検証、クレンジング、ID 解決アルゴリズム、ID グラフデータベース、およびオーディエンスセグメンテーションで構成されています。この記事では、Neptune データベースへのデータの取り込み、相互に関連するプロファイルをキャプチャするためのデータモデリング、およびクエリメカニズムに焦点を当てます。これにより、クロスデバイスグラフ、オーディエンスセグメンテーションなどのユースケースをサポートます。 ユースケース このソリューションの一般的なユースケースを次に示します。 クロスデバイスと関心グラフ – カスタマージャーニーとデバイス全体で費やした時間を分析して、特定のユーザーの関心を見つます。これにより、広告をパーソナライズします 決めかねている消費者を納得させる – 以前訪問したウェブサイトに基づいて e […]

Read More

新しい Amazon Redshift コンソールでクエリをモニタリングおよび最適化する

数万人ものお客様が Amazon Redshift を使用してワークロードを強化し、ビジネスインテリジェンス、予測分析、リアルタイムストリーミング分析などの最新の分析ユースケースを実現しています。管理者やデータエンジニアにとって、データアナリストや BI プロフェッショナルなどのユーザーが最適なパフォーマンスを得ることは重要です。Amazon Redshift コンソールで、クエリのパフォーマンスに関する問題をモニタリングおよび診断できます。 Amazon Redshift マネジメントコンソールには、Amazon Redshift クラスターを作成、管理、モニタリングするためのダッシュボードや更新したフローをモニタリングする機能があります。詳細については、「Simplify management of Amazon Redshift clusters with the Redshift console」をご参照ください。 この投稿では、新しい Amazon Redshift コンソールを使用してユーザークエリをモニタリングし、低速クエリを特定し、暴走するクエリを終了する方法について説明します。クエリプラン、クエリの実行の詳細、低速クエリを最適化するためのインプレースでの推奨事項、Advisor による推奨事項を使用してクエリのパフォーマンスを向上させる方法などの詳細も解説します。 ユーザークエリと書き換えられたクエリ ユーザーが Amazon Redshift に送信するクエリはすべてユーザークエリです。アナリストがユーザークエリを作成するか、Amazon QuickSight や Tableau などの BI ツールがクエリを生成するかのいずれかです。Amazon Redshift は通常、最適化のためにクエリを書き換えます。Amazon Redshift で、ユーザークエリを単一のクエリに書き換えたり、複数のクエリに分割したりできます。これらのクエリは書き換えられたクエリです。 次の手順は、Amazon Redshift が各クエリに対して実行します。 リーダーノードがクエリを受信して​​解析します。 パーサーは元のクエリの論理表現である最初のクエリツリーを生成します。Amazon Redshift はこのクエリツリーをクエリオプティマイザに入力します。 オプティマイザはクエリを評価し、必要に応じてクエリを書き換えて効率を最大化します。このプロセスにより、単一のクエリを置き換える複数のクエリが作成されることがあります。 クエリの書き換えは自動的に行われるので、ユーザーが気づくことはありません。 元の Amazon Redshift コンソールとシステムテーブルを使用したクエリモニタリング […]

Read More

Amazon Aurora マルチマスタークラスターが東京リージョンに対応しました

みなさん、こんにちは。アマゾン ウェブ サービス ジャパン、シニアエバンジェリストの亀田です。 Amazon Auroraのマルチマスタークラスター機能が東京リージョンに対応しましたのでお知らせいたします。 Amazon Auroraは、MySQL および PostgreSQL と互換性のあるクラウド向けのリレーショナルデータベースであり、従来のエンタープライズデータベースのパフォーマンスと可用性に加え、オープンソースデータベースのシンプルさとコスト効率性も兼ね備えたAWSにより設計されたデータベースです。標準的な MySQL データベースと比べて最大で 5 倍、標準的な PostgreSQL データベースと比べて最大で 3 倍高速です。また、商用データベースと同等のセキュリティ、可用性、信頼性を、10 分の 1 のコストで実現します。 マルチマスター機能は、複数のアベイラビリティーゾーンにわたってAuroraデータベースの複数の読み書きインスタンスを作成できる単一のデータベースであり、稼働時間に敏感なアプリケーションがインスタンス障害を通じて継続的な書き込み可用性を実現できるようにします。この機能のご利用には、MySQL 5.6 と互換性のある Aurora MySQL バージョン 1 が必要です。 マルチマスタークラスターでは、すべての DB インスタンスで書き込みオペレーションを実行できます。単一の読み書きプライマリインスタンスと、複数の読み取り専用 Aurora レプリカの概念は適用されません。別の書き込み DB インスタンスを使用して、失敗したインスタンスの作業を引き継ぐことができるため、書き込み DB インスタンスが利用できなくなっても、フェイルオーバーが発生することのない、継続的な可用性を実現可能です。 その一方で従来のAuroraと動作が異なる点が多くあるため、利用には事前の検証を推奨しています。また他のAuroraやRDSでサポートしているインスタンスのStop(一時停止)には対応していません。 考慮すべき事項や制限事項などはこちらにまとまっていますのでご覧ください。 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html また以下のブログもマルチマスター機能の基本概要をご理解いただくうえで非常に役に立ちますので合わせてご参考ください。 https://aws.amazon.com/jp/blogs/news/building-highly-available-mysql-applications-using-amazon-aurora-mmsr/ – シニアエバンジェリスト 亀田    

Read More

Amazon Redshift マテリアライズドビューで ELT と BI クエリを高速化

 Amazon Redshift のマテリアライズドビュー機能は、Amazon QuickSight などのビジネスインテリジェンス (BI) ツールからのダッシュボードクエリといった反復または予測可能なワークロードで、大幅に高速なクエリパフォーマンスを実現するために役立ちます。これは、ETL (抽出、変換、ロード) データ処理も高速化およびシンプル化します。マテリアライズドビューは、頻繁に使用される事前計算を保存し、それらをシームレスに使用して後続の分析クエリでの低レイテンシーを達成するために利用できます。 この記事では、マテリアライズドビューを作成する、データ取り込み後にビューを更新する、および BI ワークロードを高速化する方法を説明します。 サンプルデータセットのセットアップ このチュートリアルでは、Amazon Customer Reviews Dataset を使用します。これは、us-east-1 リージョンに保存されている公開データセットです。以下の 3 つのテーブルを作成します。 product_reviews – 特定の製品に関するお客様のレビューが含まれます customer – お客様のプロファイルデータが含まれます customer_address – お客様の住所情報が含まれます 以下の図は、これら 3 つのテーブルの関係を示すものです。 スクリプトをダウンロードしてテーブルをセットアップするために、mv_blog.sql を選択します。 マテリアライズドビューの作成と使用 このユースケースでは、あるマーケティングチームが、その会社の製品を好むお客様の人数を州ごとに示すレポートの構築を希望しています。また、必要に応じて各製品カテゴリーをドリルダウンしたいとも考えています。 この最初のステップでは、標準ビューを作成します。以下のコードを参照してください。 CREATE VIEW v_reviews_byprod_and_state AS SELECT PR.product_category, A.ca_state AS customer_state, count(PR.star_rating) AS cnt FROM product_reviews PR, customer […]

Read More

Amazon DynamoDB 向け NoSQL Workbench を使用したデータモデリング

 Amazon DynamoDB などの NoSQL データベースを使用する場合、リレーショナルデータベースで慣れているものとは異なる最適化を選択する傾向があります。リレーショナルデータベースの経験から、最初は別の方法で実行するように指示されていたため、簡単ではありませんでした。 これを支援するために、AWS は Windows および macOS で利用可能なクライアント側アプリケーションである Amazon DynamoDB 向け NoSQL Workbench をリリースしました。これを使用して、スケーラブルで高性能なデータモデルを構築し、クエリの開発とテストを簡素化できます。NoSQL Workbench を使用すると、次のことができます。 1 つ以上のテーブルを使用してデータモデルを定義します。 データモデルを視覚化して、さまざまなシナリオでどのように機能するかを理解します。 複数のプログラミング言語用のデータプレーン操作を構築します。 このブログ記事では、一般的に利用可能になった NoSQL Workbench を使用して、複数の顧客の URL ブックマークの管理という一般的なユースケースのデータモデルを設計しています。比較的ユースケースが単純な場合でも、多くの興味深い考慮事項があります。 データモデラー このアプリケーションでは、ブックマークと顧客アカウントに関する情報を保存する必要があります。まず、保存したい属性のリストを、保存する予定の簡単な説明とともに書き留めます。 顧客 customerId – ユニバーサル一意識別子 (UUID) email fullName ­– 例: “Shirley Rodriguez” userPreferences – アプリのユーザー設定を記述する JSON オブジェクト creationDate updateDate ブックマーク URL – “https://…” customerId […]

Read More

ドメイン参加済みの Amazon RDS for SQL Server インスタンスに対する分散トランザクションサポートの有効化

 Amazon Relational Database Service (RDS) for SQL Server が Microsoft 分散トランザクションコーディネータ (MSDTC) を使用した分散トランザクションをサポートするようになりました。MSDTC を使用することで、RDS for SQL Server DB インスタンスが関与する分散トランザクションを実行することができます。この記事では、Amazon RDS for SQL Server 使用時に、AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) を使って分散トランザクションを実行する最も一般的な方法について説明します。 ソリューションの概要 この記事では、3 つの主要用語が使用されています。 分散トランザクション – 2 台以上のネットワークコンピュータシステムにあるデータを更新するトランザクションです。分散トランザクションは、分散データを更新する必要があるアプリケーションにトランザクションのメリットを提供します。 トランザクションマネージャー – アトミックトランザクションの結果の管理と分散に対する責任を担います。トランザクションマネージャーは、ルートトランザクションマネージャー、または特定のトランザクションに対する下位トランザクションマネージャーのどちらかになります。 リソースマネージャー – アトミックトランザクションの結果とのリソース状態の調整に対する責任を担います。指定されたトランザクションについて、リソースマネージャーはひとつのトランザクションマネージャーのみと連携し、トランザクション結果の表明と最終結果の取得を行います。 このソリューションには、以下のステップが含まれます。 パラメータグループの設定。 オプショングループの設定。 Amazon RDS for […]

Read More

Amazon Redshift で列レベルのアクセス制御を行い、よりきめ細かなデータセキュリティを実現する

Amazon Redshift は低コストで迅速な分析情報を提供する、大変人気の高いクラウドデータウェアハウスです。Amazon Redshift にはすぐに利用できるセキュリティとコンプライアンスが付属しており、規制の厳しい業界のお客様でもミッションクリティカルなワークロードを自信を持って実行できます。セキュリティ機能には、データをインプレース形式およびオープン形式で簡単に分析できる機能が組み合わさっているだけでなく、コンピューティングとストレージの回復性や使いやすさも備えているため、数万人ものお客様に Amazon Redshift をご利用いただいています。 個人を特定できる情報 (PII) または機密性の高い個人情報 (SPI) として一般的に分類される機密データを、Amazon Redshift に保存している組織は多くあり、こうしたデータへ組織内の異なる人物からのアクセス制限を行っています。たとえば、人事、財務、販売、データサイエンス、マーケティングのどの部門も、顧客データを表示するために必要なアクセス権をすべて持っている場合もありますが、個人を特定できる情報 (PII) や支払カード業界 (PCI) などの機密データには財務部門しかアクセスできないようになっている必要があります。 以前は、ビューまたは AWS Lake Formation (Amazon Redshift Spectrum にある) を使ってそのようなシナリオを管理していましたが、ビューや Amazon Redshift Spectrum の作成や管理には余分なオーバーヘッドがかかります。ビューベースのアプローチは拡張が難しく、セキュリティ管理が手薄となる可能性があります。Amazon Redshift の列レベルのアクセス制御は、Amazon Redshift のデータを列レベルでアクセス制御する新機能です。列レベルの GRANT ステートメントや REVOKE ステートメントを使用することで、データベースオブジェクトを管理するように、セキュリティとコンプライアンスのニーズを満たすことができます。 この投稿では、テーブル、ビュー、マテリアライズドビューで Amazon Redshift の列レベルのアクセス制御を設定する方法をご紹介します。 ユースケース こちらに、顧客の人口統計データと口座残高データを格納する 2 つのテーブルがあります。財務部門はすべての顧客データを表示できますが、顧客名、電話番号、国籍などの顧客の人口統計データは PII データと見なされ、アクセスを制限する必要があるため、営業部門は市場セグメントと口座残高データのみを表示および更新できます。このユースケースは、PII データを保護するための列レベルのアクセス制御の良い例です。以下は、2 つのテーブルのシンプルなエンティティ関係図です。 前提条件 このブログにある図を試す前に、次の前提条件をご確認ください。 Amazon […]

Read More

AWS CloudFormation で Amazon Redshift 横串検索の採用を加速する

Amazon Redshift 横串検索を使用すると、1 つ以上の Amazon RDS for PostgreSQL および Amazon Aurora PostgreSQL データベースのデータを、Amazon Redshift にすでにあるデータと組み合わせることができます。このようなデータを Amazon S3 データレイクのデータと組み合わせることもできます。 この記事では、10 GB の TPC-H データセットを使用して Aurora PostgreSQL と Amazon Redshift をセットアップし、さらに AWS CloudFormation を使用して Amazon Redshift 横串検索を行う方法を示します。横串検索の使用の詳細については、「Redshift 横串検索を使用して、簡略化された ETL およびライブデータクエリソリューションを構築する」を参照してください。この記事で設定した環境を使用して、前の記事のさまざまなユースケースを試すことができます。 CloudFormation テンプレートを使用する利点 Amazon Redshift 横串検索を設定する標準的なワークフローには、6 つのステップが含まれます。詳細については、「Amazon Redshift 横串検索によるデータのクエリ」を参照してください。CloudFormation テンプレートを使用すると、これらの手動の手順をテキストファイルに記載されているいくつかの手順に要約できます。ファイル内の宣言コードは、作成するリソースの意図した状態をキャプチャし、Amazon Redshift 横串検索をサポートする AWS リソースの作成を自動化できます。このテンプレートをさらに拡張して、インフラストラクチャの唯一の信頼できる情報源にすることができます。 CloudFormation テンプレートはアクセラレータとして機能します。このテンプレートで、複数のリージョンと複数のアカウントにまたがり、最小限の労力と時間で、安全で繰り返し可能な方法でテクノロジーとインフラストラクチャのデプロイを自動化できるようになります。 アーキテクチャの概要 次の図は、ソリューションのアーキテクチャを示しています。 […]

Read More