Amazon Web Services ブログ

Category: Database

AWSデータベース対応プログラムの紹介

新しいAWS Database Ready Programを導入し、ソフトウェアベンダーが彼らのソフトウェアを現代化し、Amazon Auroraをサポートできるようにします。 顧客は、商用データベースのライセンス費用を掛けずに、Amazon Auroraの性能、可用性、およびオープンソースの簡潔性を活用するクラウドネイティブアプリケーションを求めています。 AWS Database Readyは、元々AWSデータベースサービスで実行されるアプリケーションを使用してクラウド移行を加速することを可能にするものです。

Read More

Performance Insights を使用して Amazon Aurora の MySQL のワークロードを分析する

Amazon Relational Database Service (Amazon RDS) Performance Insights を使用すれば、パフォーマンスの問題の原因だけでなく、Amazon RDS データベース上のワークロードの性質を即座に把握できます。このブログ記事では、Amazon Aurora MySQL-Compatible Edition の Performance Insights ダッシュボードを手短に見て、パフォーマンスの問題を分析する方法を学びます。前回のブログ記事「Performance Insights で Amazon RDS データベースのワークロードを分析する」では、Performance Insights へのアクセスに関する基本的な事項と、Amazon Aurora PostgreSQL-Compatible Edition でそれを使用することについて取り上げました。 以下では、Performance Insights が、Aurora MySQL データベースで実行されている負荷が示されています。この例では、負荷グラフは待機でスライスされます。待機から、どのような作業が負荷の原因となっているか、そしてCPU、I/O 読み取り、ロック、安定したストレージへの書き込み、または他のデータベースリソースからの競合によってどれくらいの負荷がかかているかがわかります。Aurora MySQL は、MySQL の Performance Schema を使用してデータベースの待機を計測します。つまり、Performance Insights を最大限に活用したい Aurora MySQL ユーザーは、MySQL Performance Schema を有効にする必要があります。RDS パラメータグループで Performance Schema を有効または無効にしたことがない場合は、Performance Insights を有効にすると、自動的に […]

Read More

EMR – Sqoop を使用して RDBMS またはオンプレミスデータを EMR Hive、S3、および Amazon Redshift に移行する

 このブログ記事では、AWS のお客様が Apache Sqoop ツールの使用によって利益を得る方法について説明します。このツールは、データをリレーショナルデータベース管理システム (RDBMS) から AWS の EMR Hadoop Distributed File System (HDFS) にインポートし、データを Hadoop で変換して、それをデータウェアハウス (例: Hive または Amazon Redshift) にエクスポートするために設計されています。 Sqoop ツールのデモを行うために、この記事では以下の 3 つのシナリオにおいて、Amazon RDS for MySQL をソースとして使用し、データをインポートします。 シナリオ 1 — AWS EMR (HDFS -> Hive および HDFS) シナリオ 2 — Amazon S3 (EMFRS)、次に EMR-Hive シナリオ 3 — S3 (EMFRS)、次に […]

Read More

Amazon Aurora を使用してエンドユーザーの待ち時間を 3 倍に改善する方法

  AWS で誕生 2011年の創業以来、我々の旅に加わっている InfoScout は AWS で誕生しました。友人や家族からアップロードされたレシートを収集する 1 つの Amazon EC2 インスタンス とともにすべてが始まりました。それから7年後、モバイルアプリケーション、データパイプライン、マシンラーニングモデル”→”機械学習モデル、SaaS 分析プラットフォームをサポートするため、現在では 150 以上の AWS インスタンスを管理しています。この記事では、増加するインフラストラクチャとデータベース移行での課題を詳細に分析しています。 我々のビジネスはシンプルです。日常の消費者がショッピングレシートの写真を撮影してクラウドにアップロードが可能なモバイルアプリケーションのポートフォリオを持っています。我々はこのデータを分析し、ブランド、小売業者、代理店、消費者パッケージ商品 (CPG) 企業の買い物客に深い識見を提供します。大規模なデータ収集に対するこの消費者中心のアプローチは、ブランドが最終的に非常に多くの問いの背後にある「なぜ」に答えることを可能にします。「なぜ、私のカテゴリーで売上高が 5% 減少したのでしょうか ? 」「このカテゴリーのどのような消費者シフトが私のブランドに売上に貢献しているのでしょうか ? 」「消費者のどのセグメントがオンラインに移行しているのでしょうか ? 」 米国では 500 回の購入で 1 回のキャプチャを行い、1 日に 300,000 枚のレシート画像をストリームします。 AWS でインフラストラクチャとアプリケーション全体を強化するために、Amazon EC2 、Amazon RDS 、Amazon S3 、Amazon VPC 、および Route 53 を大量に使用しています。2011 年にはカリフォルニア北部の single VPC 1 […]

Read More

ProxySQL と Percona Monitoring and Management で、Amazon RDS for MySQL のデプロイを強化する

本日は、Percona 社の Michael Benshoof 氏によるゲストブログ投稿です。Benshoof 氏によると、「Percona 社は、3 千人以上の顧客をグローバルに持ち、バイアスのない最善の企業規模サポート、コンサルティング、管理サービスおよびトレーニングを提供し、リスクと運用コストを減らす対策を提供しています。さらにオンプレミスとオープンソース環境でのオープンソースデータベースのためのソフトウェアを使って、ロックインを排除し、機敏性を高め、ビジネスの成長を可能にしています。」 」 クラウドにアプリケーションをデプロイする予定で、データ層には Amazon RDS for MySQL を利用しようと考えている? それはいい選択ですね! それでは、アーキテクチャを最大限に活用するためのベストプラクティスをいくつか見てみましょう。 Amazon RDS for MySQL とは RDS for MySQL は、アマゾン ウェブ サービス (AWS) スタック内でサービスを行う管理データベース (DBaaS) です。RDS for MySQL では、次のような細かな操作作業の多くを処理します。 バックアップ ポイントインタイムリカバリ マイナーバージョンの自動アップグレード 新しいレプリカの追加 自動フェイルオーバー (Multi-AZ を実行している場合) このように、RDS for MySQL は、クラウド上で動作するデータ層にとって最適なオプションです。よく見られるフェールオーバーは標準の Multi-AZ デプロイで対応可能はもちろんのこと、RDSの回復力と使いやすさの向上も目指すことが可能です。これらの方法により、ワークロードの増加に合わせて、よりシームレスにデプロイおよびインフラストラクチャを拡張できます。 標準的なベストプラクティス 任意のアーキテクチャ (クラウドまたは物理データセンター内にある) を一から設計する場合、不具合への対応を準備しておくことは大変重要です。障害に対する準備が整ったインフラストラクチャの設定は、耐障害性のある環境を設計する上でかなめとなります。そのため、本番でのデプロイ (または高可用性が必要なデプロイ) の場合は、少なくとも以下を実行する必要があります。 プライマリインスタンスに、Multi-AZ を指定する […]

Read More

SGK が RDBMS から Amazon DynamoDB に移行することにより、高度に動的なワークロードのデータ構造を簡素化する方法

今日、多くのデータベースソリューションが利用可能となっており、ユーザーの使用事例に適したソリューションを選択することは難しいことがあります。最近では、NoSQL データベースがリアルタイム Web アプリケーションに幅広く採用されています。Amazon DynamoDB は、従来のリレーショナルデータベースマネージメントシステム (RDBMS) に比べて大幅な柔軟性とパフォーマンスの利点をもたらすように最適化された NoSQL データベースの一例です。従来の RDBMS は、固定されたスキーマベースのテーブル設計によって制限される可能性があります。 このブログ記事では、SGK のダイナミックなクライアント設定とルールについて、どのようにして SGK が最適なデザインパターンを作り出したかを SGK Solutions 社のアーキテクトである Murugan Poornachandran 氏が説明します。この設計では DynamoDB を使用して、SGK の進化するマイクロサービスアーキテクチャと多様なステークホルダーに適応します。この新しいデザインは、SGK のレガシー RDBMS ソリューションよりも大幅に改善されました。Murugan 氏はまた、データ管理システムの頻繁な変更を管理または自動化するために、正規化されたリレーショナルデータモデルを使用して、SGK が DynamoDB のスキーマレステーブル機能をどのように使用されているのかについても説明します。このアプローチは、データ処理に要する時間を大幅に短縮します。 背景情報 SGK の Global Content Creation Studio ネットワークは、写真、ビデオ、およびコピーライティングを通じてブランドと製品を消費者に結びつけるコンテンツとソリューションをつくり出します。マルチテナントアプリケーションとしての大規模エンタープライズからマイクロサービスアーキテクチャへ移行する場合、我々が直面した SGK の1つの重要な課題は、クライアントやそれの可変構成とルールを管理することでした。 たとえば、我々はすべてのマイクロサービスでクライアントと構成データを共有する必要がありました。クライアントデータには、カテゴリ、部門、および場所が含まれており、また構成パラメータには、アクセス権限や役割などのセキュリティ関連の詳細が含まれます。さらに、クライアントの構成とルールは、さまざまなユーザー向けにカスタマイズされ、複数のマイクロサービスで共有される必要がありました。 定期的に新しいマイクロサービスをリリースしました。そのため我々にとって、変化するクライアントおよび構成データを関連データベースに保持することがさらに困難になりました。重要な課題は、新しいマイクロサービスごとにデータベースの変更が必要で、またアプリケーション層でのオブジェクトリレーショナルマッピングの更新に時間を要することでした。新しいマイクロサービスの登場のたびにデータ管理システムの複雑さが増したため、新しい REST ベースの管理サービスである DRDS (Dynamic Reference Data Service) を作成することにしました。DRDS は、ダイナミッククライアントの構成とルールを管理するために、プライマリデータストアとして DynamoDB を使用します。DRDS は完全なサーバーレスで、Amazon […]

Read More

Amazon CloudWatch を使用して Performance Insights メトリックにアラームを設定する

Amazon RDS Performance Insightsは、重要ななパフォーマンスメトリックを Performance Insights から Amazon CloudWatchに送信できる機能を、先ごろリリースしました。この機能を使うと、これらのメトリックに関するアラートを設定できます。 Performance Insights が有効になっている場合、CloudWatch に次の 3 つのメトリックが自動的に送信されます。 DBLoad DBLoadCPU DBLoadNonCPU これら 3 つのメトリックを、次に解説します。 DBLoad 最初のメトリック、DBLoadは、Performance Insights の中核となるものです。DBLoad は、同時にアクティブとなるデータベース接続数の尺度となります。この記事の中でセッションと呼んでいるアクティブな接続とは、データベースが結果を返さなかったデータベースにクエリを送信する接続のことです。クエリが送信される間、およびクエリ結果が戻される前、クエリはいくつかある状態のいずれかの状態となります。つまり、CPU 上で実行されているか、CPU を待っているか、ロックや I/O などのリソースが終了するのを待っているか、他のデータベースリソースへのアクセスを待っているかのいずれかの状態です。 クエリの処理中、通常、クエリはこれらの状態の間で切り替わります。ただし、クエリは待機するのではなく、クエリを実際に処理している CPU 上で動く時間がすべてクエリに費やされるのが理想です。同時にアクティブとなっている接続数とその接続状態を確認することで、データベースの負荷をすばやく強力に把握できます。DBLoadは、アクティブな同時データベース接続の平均数である、平均アクティブセッション (AAS) で測定します。デフォルトでは、Performance Insights ダッシュボードにある DBLoad グラフの各ポイントが、1 分以上経過した平均時間です。 DBLoadは 2 つの種類に分かれます。 DBLoadCPU は、接続が CPU 上で実行されていた時間、または CPU 上で実行準備が整っている時間を表します。 DBLoadNonCPU は、接続が I/O、ロック、データベースバッファーなどのデータベースリソースを待機していた時間を表します。 以下では、DBLoadCPU を中心にお話しします。 DBLoadCPU アラートを設定する […]

Read More

AWS での SQL Server のパフォーマンスベンチマーク

非常に多くのインスタンスタイプから選択できるため、アーキテクトや顧客にとって、SQL Server ワークロードを AWS に移行する際に最適なものを選択することが難しい場合があります。それぞれのインスタンスタイプとストレージのオプションについて詳細な仕様を利用できますが、こうした情報をすべて現実のシナリオにマッピングするのは難しいことがあります。 こうした課題に対処するために、SQL Server のベンチマークに関するホワイトペーパーを紹介しています。インスタンスタイプをベンチマークして、その実行方法をテストする方法に関する情報を提供します。また、コンピューティングとストレージの一般的な組み合わせに関するベンチマークによるパフォーマンスの数値も示しています。 このホワイトペーパーは、TPC ベンチマークの説明から始まり、データベースベンチマークの業界標準である HammerDB を紹介し、次にテストの範囲について説明します。さらに、環境、ワークロード、インスタンスタイプ、ストレージ、およびSQL Server の設定について詳しく説明します。最初のテストでは GP2 ボリュームのみ、2 番目のテストではローカルの NVMe ディスクにトランザクションログがある GP2 ボリュームのテスト、3 番目のテストではインスタンスストア NVMe ディスクのボリュームのテストと、3 種類のテストの結果について検討します。最終的な推奨が提供されます。 SQL Server Performance on AWS (AWS での SQL Server のパフォーマンス) のホワイトペーパーをご覧ください。 著者について Alan Cranfield は、EC2 Windows チームの上級ソフトウェアエンジニアであり、AWS 向けの Windows ワークロードの最適化をテーマにしています。       Bini Berhe は、Microsoft プラットフォームを担当する上級ソリューションアーキテクトであり、この分野の専門家として、オンプレミスのワークロードを AWS へ移行している顧客に指導や技術支援を提供しています。   […]

Read More

Amazon RDS for SQL Server でデータベースメールをパワーアップ – アンダーアーマーが Amazon RDS for SQL Server でデータベースメールを運用する方法

データベースメールは Microsoft SQL Server で多用される機能の 1 つです。データベースメールは、SMTP サーバーを使用することにより、SQL Server からユーザーにメッセージを送信できるようにします。ここでご紹介するソリューションは、ご使用の SQL Server ワークロードが Amazon RDS 上にある場合に、データベースメールを使用するのに役立ちます。 データベースメールの使用例: テキストメッセージを送信する テキストまたはファイル添付でクエリの結果またはレポートを送信する エラーや通知のアラートを送信する ジョブが成功または失敗したときに、SQL エージェントジョブのステータスメッセージを送信する AWS のカスタマーであるアンダーアーマー社では、SQL Server のワークロードを Amazon RDS for SQL Server に移行する手立てを模索していましたが、RDS でデータベースメールがサポートされていないことがネックとなっていました。SQL のワークロードを Amazon RDS へ移行しようとしているカスタマーにとって、この問題は致命的です。 私はアンダーアーマー社のデータアーキテクト、Leonard Humphries とともにこの問題に対処することになり、2 人で次のようなソリューションを思いつきました。私たちは集中データベースメールハブに SQL Amazon EC2 インスタンスをプロモートしたのです。こうすることで、アンダーアーマー社のデータベースメール問題を解決できました。この記事では私たちのソリューションについて解説します。 使用した AWS のサービス Amazon RDS for SQL Server 既存の SMTP […]

Read More

パフォーマンスの重要性: Amazon Redshift で実環境のワークロードが 3.5 倍の速さに

Amazon Redshift はそのサービスの開始以来、高度な複雑性を持つ分析ワークロードにも妥協を許さない高速処理で数千におよぶお客様の信頼を得てきました。2017 年にお客様にもたらした 3 倍から 5 倍のパフォーマンスゲインの実現には、ショートクエリの高速化、結果キャッシュ、遅延マテリアライゼーション、そのほか重要な多数の改善点が貢献しています。本記事では、Amazon Redshift の最新の改善活動や、パフォーマンス向上への絶え間ない取組みがお客様を支援している様子をご紹介します。また、今でも継続中の改善活動の評価に利用していた業界標準のベンチマークから得られたパフォーマンステストを考察します。 最新のパフォーマンス改善活動 AWS はそのデータウェアハウスの世界最大規模のデプロイメントによって、さまざまな分析ワークロードにわたる使用パターンを分析し、パフォーマンス向上のための機会を探り出します。そこから得た知見は数千におよぶお客様の利益にシームレスにつながる改善をもたらします。パフォーマンス面における過去 6 か月間の主な改善点は、次のとおりです。 メモリ重視型クエリ用途のリソース管理の改善: Amazon Redshift で結合時と集計時のメモリの消費および予約プロセスが向上しました。これにより、大多数のハッシュテーブルに対するキャッシュの効率性を向上させ、メモリ重視型の結合および集計操作の洩れの低減を最大で 1.6 倍改善しました。 コミットのパフォーマンス改善: コミットは書き込みトランザクションの主なコンポーネントとして、ETL (抽出、変換、ロード) ジョブといったデータアップデートおよびデータインジェスチョンのワークロード処理のパフォーマンスに直接インパクトを与えます。2017 年 11 月以降、コミットのパフォーマンスの最適化活動の一環として、複数コミットを 1 回の操作で行うバッチ処理、コミットロック性能の向上、データ局所性認識型のメタデータのデフラグ用プログラムなどを実現してきました。これらに代表される最適化活動は、HDD ベースのクラスターでかかるコミット時間の低減効果を平均で 4 倍にしています。大量トランザクション (Amazon Redshift のコミット操作の上位 5%) では、最適化効果は 7.5 倍になっています。 繰り返しクエリのパフォーマンス改善: Amazon Redshift の結果キャッシュ、ダッシュボード、可視化、ビジネスインテリジェンス (BI) ツールが繰り返しクエリを実行すると、パフォーマンスを大幅に向上します。さらに、結果キャッシュで解放されるリソースにより、他のすべてのクエリのパフォーマンスが向上します。 クエリ処理の改善: Amazon Redshift は繰り返しサブクエリ、述語を使用した高度分析用関数、重複作業を避けて工程を合理化することによる複雑なクエリプランなどの事例では、そのパフォーマンスは 2 倍から 6 倍高速化しています。 文字列操作の高速化: […]

Read More