Amazon Web Services ブログ

Category: Database

Amazon RDS for PostgreSQL クロスリージョンリードレプリカのためのベストプラクティス

Amazon RDS for PostgreSQL のマネージドサービスのひとつにクロスリージョンリードレプリカがあります。クロスリージョンリードレプリカを使用することで、災害対策ソリューションの確保、データベースの読み込みワークロードのスケーリング、およびリージョン間での移行が可能になります。クロスリージョンリードレプリカは、Amazon RDS コンソール、AWS CLI、または create-db-instance-read-replica API を使用して作成できます。クロスリージョンリードレプリカには、追加のデータ転送料金がかかります。 Amazon RDS はクロスリージョンリードレプリカを容易にしますが、最良の経験を実現するために認識しておく必要がある注意点がいくつかあります。この記事では、以下のトピックに関する Amazon RDS for PostgreSQL クロスリージョンレプリケーションのベストプラクティスを説明します。 クロスリージョンリードレプリカの作成の流れ レプリケーション遅延を最小限化する方法 Amazon RDS for PostgreSQL クロスリージョンレプリカの使用中における一般的な問題 クロスリージョンリードレプリカの作成の流れ クロスリージョンリードレプリカは、Amazon RDS for PostgreSQL のバージョン 9.5.2 以降でサポートされます。クロスリージョンレプリカの作成中、システムは以下のステップを実行します。 ソースインスタンスのスナップショットを作成する。 スナップショットをレプリケーション先のリージョンにコピーする。 ソースとクロスリージョンレプリカ間におけるストリーミングレプリケーションスロットを設定する。 ソースからレプリカへのログ先行書き込み (WAL) のストリーミングを開始する。WAL ファイルは PostgreSQL のトランザクションログです。データ変更は、まず WAL ファイルに記録されてから、永続ストレージに書き込まれます。 Amazon RDS for PostgreSQL のクロスリージョンレプリカは、以下の手順に従うことで最も簡単に作成できます。 Amazon RDS コンソールで、Amazon RDS for […]

Read More

論理レプリケーションを使用してオンプレミスまたは Amazon EC2 から Amazon RDS に PostgreSQL を移行する

PostgreSQL は、オープンソースのリレーショナルデータベースの中でも最も人気のある先進的なシステムの 1 つです。30 年以上におよぶ開発作業を経ている PostgreSQL は、多数の複雑なデータワークロードを処理できる、信頼性が高く堅牢なデータベースであることが証明されています。PostgreSQL は、Oracle や Microsoft SQL Server などの商用データベースから移行する際に多くの人から選ばれるオープンソースデータベースです。クラウドの観点から、AWS は 2 つのマネージド PostgreSQL オプションを提供しています。それは、Amazon Relational Database Service (RDS) for PostgreSQL と Amazon Aurora for PostgreSQL です。 PostgreSQL データベースをオンプレミスから AWS マネージド PostgreSQL に移行またはアップグレードする場合、または AWS マネージドサービス内の PostgreSQL のメジャーバージョンにアップグレードする場合は、論理レプリケーションを使用して、ネイティブの PostgreSQL 機能を介して実行できます。pglogical 拡張機能は、バージョン 9.6.6 以降の Amazon RDS for PostgreSQL の一部で、コミュニティ PostgreSQL バージョン 9.4 以降で機能します。 pglogical 拡張機能は、バージョン […]

Read More

Netezza データウェアハウスの Amazon Redshift への移行

IBM により Netezza の製品寿命が終了する旨の発表がなされており、現状の分析アプライアンスからデータとワークロードを移動する必要性に迫られている人もいることでしょう。一部の人にとっては、これがクラウド移行の良いチャンスにもなります。 そこで Amazon Redshift の登場です。 Amazon Redshift は、大規模なワークロードを処理できるように構築された、クラウドネイティブなデータウェアハウスプラットフォームです。主要な部分が Netezza と共通なので、オンプレミスのアプライアンスの置き換え先として素晴らしい候補の 1 つとなります。Amazon Redshift を使えば、他の分析プラットフォームに対する場合より短い時間と少ない変更点で、データやアプリケーションを移行できます。このことは、開発者にとってみれば、新しいデータベースを再トレーニングする時間が削減できることを意味します。また経営側から見てみると、移行に関するコストと時間を節約できることになります。詳細については、「How to migrate a large data warehouse from IBM Netezza to Amazon Redshift with no downtime」をご参照ください。 この記事では、Netezza と Amazon Redshift の間での重要な共通点と相違点をご説明しながら、それらが移行タイムラインに与える影響についても解説していきます。 共通点 Netezza と Amazon Redshift の間には、3 つの大きな共通点が存在します。つまり、Postgres との互換性、強力な並列処理 (MPP) アーキテクチャ、そして Netezza では FPGA で実現している機能である Amazon Redshift の Advanced […]

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

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