Amazon Web Services ブログ

Category: Database

Autodesk が Amazon Aurora を使用してデータベースのスケーラビリティを向上させ、レプリケーションラグを削減した方法

Autodesk は 3D 設計、エンジニアリング、エンターテイメントソフトウェアのリーダーです。Autodesk は物を作る人のためのソフトウェアを作成しています。高性能の車を運転したり、超高層ビルを見上げたり、スマートフォンを使用したり、偉大な映画を見たりしたことがある人は、何百万人もの Autodesk ユーザーがソフトウェアで行っていることを体験したことがあると思われます。 Autodesk は Amazon RDS で稼働するマネージド MySQL データベースと Amazon EC2 でホストされるセルフマネージド MySQL データベースの両方からAmazon Auroraに移行しました。このブログ記事は、その経験をまとめ、次の点について取り上げます。 Autodesk の Amazon Aurora への移行決定に影響を与えた要因 移行上の特定の利点 移行と最適化に関して学んだベストプラクティスと教訓 まず、クラウドで生まれた Autodesk Access Control Management (ACM) アプリケーションの移行パスを確認します。始めに Amazon RDS for MySQL を選択し、スケーラビリティ、可用性、およびパフォーマンスを向上させるために Aurora に移行しました。ACM が移行を問題なく完了させたことで、Autodesk の他のいくつかのアプリケーションが Aurora に移行する意欲が高まりました。EC2 でホストされているセルフマネージド MySQL データベースを Amazon Aurora に移行する主要な例として、BIM 360 Field Classic について説明します。 […]

Read More

統合ワークロードに向けた MySQL と互換性がある Amazon Aurora を計画・最適化する方法

MySQL と互換性がある Amazon Aurora はデータベースワークロード統合を検討中のお客様から好評をいただいています。Aurora MySQL は、ハイエンドな商用データベースの速さや信頼性と、オープンソースデータベースのシンプルさと高い費用対効果とを組み合わせたリレーショナルデータベースエンジンです。また Aurora MySQL は、標準の MySQL Community Edition に比べ最大 5 倍のスループットを実現します。 今回のブログ記事では、大規模な統合データベースワークロードのために行う Amazon Aurora の最適化に役立つガイダンスをいくつかお伝えします。また、「統合の費用はどれくらいかかりますか?」や「データセットはどのくらいの大きさにできますか?」など、よくある質問にお答えします。 上記の質問はシンプルですが、必ずしも回答がシンプルになるわけではありません。回答は、お使いのデータセットやワークロードのパターンによって大きく異なります。 データベース統合の定義 統合のユースケースに関しては、以下の要素に的を絞り、それからコンテキストに応じた Aurora MySQL の操作方法について詳細を説明します。 テーブルのサイズ。統合により、一般的にテーブルは大きくなります。アドテック、IoT、消費者向けアプリケーション分野の場合、通常は大きな同種アプリケーションのデータベースをそれぞれにデータのサブセットが含まれる大量のシャードに分割します。Aurora ではシャーディングを完全になくすことはできないかもしれませんが、より少数のシャードに統合して操作上のオーバーヘッドを減らすことができます。 テーブルの数。テーブル数の増加も、統合の結果見られることです。この結果は、各テナントが通常、独自のデータベースまたはテーブルセットを有する場合にテナントの分離が必要な SaaS アプリケーションで一般的なものです。このタイプの複数のテナントは数が少なくより大きな Aurora クラスターにまとめられ、テナントあたりの操作コストを削減します。 データベースの使用率。さらに多数の同時接続を行うなど、統合データベースワークロードの使用率が多くのメトリクスで増加します。 実際には、同じプロジェクト内の複数の要素で使用率が増加することになります。以下のガイドラインは、各要素でワークロードを最適化するのに役立つはずです。 「大きい」とは具体的にどのくらいのサイズですか? Amazon Aurora には最大容量に制限があります。私たちの最も重要な成果は、Aurora クラスターで 64 TB という最大の保存容量です。最大容量により、Aurora クラスターに物理的に保存できるデータ量の上限が決められます。また、個々のテーブルの大きさについて上限が決められます。 加えて、MySQL と互換性があるデータベースエンジンとして、Aurora MySQL は MySQL と InnoDB ストレージエンジンから多くの特徴を受け継いでいます。これらの特徴には効果的な統合に影響を与えるものがあります。 大きなテーブルサイズを最適化する方法 Amazon Aurora […]

Read More

Amazon Kinesis Data Streams および AWS Lambda を使用して、Amazon RDS for PostgreSQL の変更をストリーミングする

この記事では、Amazon Relational Database Service (Amazon RDS) for PostgreSQL 中央データベースを、Amazon Kinesis Data Streams にその変更をストリーミングすることで、他のシステムと統合する方法について説明します。以前の記事、「Amazon Kinesis を使用したデータベースの変更をストリーミングする」では、変更を Kinesis へストリーミングすることによって、MySQL データベース用の中央 RDS を他のシステムに統合する方法についてお話ししました。この記事では、さらに進んで、AWS Lambda 関数を使用して Amazon RDS for PostgreSQL の変更をキャプチャし、その変更を Kinesis Data Streams にストリーミングする方法を説明します。 次の図は、分散システムにおける一般的なアーキテクチャ設計を表しています。これには、信頼できる唯一の情報源と呼ばれる中央ストレージと、この中央ストレージを使用するいくつかの派生「サテライト」システムが含まれます。 この設計アーキテクチャーを用いて、データの整合性を維持するためにこのシステムのトランザクション機能を活用しながら、リレーショナルデータベースを中央データストアとして使用することができます。このコンテクストにおいての派生システムとは、全文検索システムであり、この信頼できる唯一の情報源の変更を観察し、それらの変更を変換かつフィルタリングし、最終的にその内部インデックスを更新するものです。もう 1 つの例は、OLAP クエリにより適したカラムナストレージです。一般に、中央リレーショナルシステムの個々の行が変更された時にアクションを実行する必要があるシステムはどれも、派生データストアにするのに適しているとい言えます。 この種のアーキテクチャの単純な実装では、変更された行を検索するために定期的にクエリを発行する派生システムがあります。これは基本的に SELECT ベースのクエリ (バッチ処理システムとも呼ばれます) で中央データベースをポーリングします。一方で、このアーキテクチャにより適した実装は、非同期の更新ストリームを使用するアーキテクチャです。 データベースには通常、行のすべての変更が格納されるトランザクションログがあります。ですので、この変更のストリームが外部のオブザーバシステムに公開されている場合、このシステムはこれらのストリームに接続し、行の変更を処理およびフィルタリングできる可能性があります。 この記事では、PostgreSQL を中央データベースとして、また Kinesis Data Stream をメッセージバスとして使用して、この基本的な実装を紹介します。 通常、PostgreSQL Write-Ahead Logging (WAL) ファイルは、マスター上のすべての変更を読み込んだ後、ローカルに適用するリードレプリカに公開されます。リードレプリカからデータを読み取る代わりに、wal2json 出力プラグインを用いた論理デコードを使用して、WAL の内容を直接デコードします。プラグインはこの GitHub […]

Read More

RDS for MySQL データベースを Amazon Aurora へ移行するためのベストプラクティス

MySQL は世界で最も普及しているオープンソースデータベースです。それにも関わらず、多くの利用者が一様にバックアップ、高可用性の確保にかかる膨大な手間に苦心していたり、また MySQL のスケーリングが複雑である、時間がかかる、あるいはその両方であると感じています。 お客様がそうした既存の MySQL 環境から Amazon RDS for MySQL へ移行する最大の理由の 1 つはそこにあります。Amazon RDS はポイントインタイムリカバリや高可用性などのオプションを複雑な設定など一切なしですぐに使用できる機能を提供します。RDS for MySQL はさらに、ソースあたり 5 つのリードレプリカに対応しています。このように、バイナリログ (binlog) レプリケーションを手動で設定したり、保守したりする必要なく、簡単にワークロードをスケールできます。 MySQL にハイエンドコマーシャルデータベースのパフォーマンスおよび可用性との互換性を期待するのであれば、MySQL データベースを Amazon Aurora に移行することでそれを実現できます。MySQL との互換性を持つ Amazon Aurora を使用することで、fast database clones および autoscaling replicas などの機能を活用できます。また、AWS Lambda および Amazon CloudWatch Logs といった他の AWS サービスとのネイティブ統合も可能になります。これらの機能に加えて、Amazon Aurora はまた、3 つのアベイラビリティーゾーンをまたぐデータのレプリケーションにより、優れた耐久性を実現します。また、最大で 15 個の Aurora レプリカにスケール可能で、すべてが通常では 20 […]

Read More

[AWS Black Belt Online Seminar] Amazon Neptune 資料及び QA 公開

先日 (2018/7/3) 開催しました AWS Black Belt Online Seminar 「Amazon Neptune」 の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20180703 AWS Black Belt Online Seminar Amazon Neptune from Amazon Web Services Japan PDF Q. DynamoDBを利用するのはLambdaなどのMicroserviceとの親和性が高いためです。ネプチューンとLambdaの関係はどうですか ? A. HTTP RESTが使えるのでRDBMSのDB接続と比較して親和性は高いです。 Q. 暗号化を有効にした際は、性能が落ちるのでしょうか。落ちる場合は、どの程度落ちるかの指標等はありますか A. 格納データの暗号化について、特筆すべきオーバーヘッドはありません。 Q. オンデマンドインスタンス料金はRI適用は可能でしょうか。 A. いいえ、現在RIは使用できません。 以上です。 直近で以下の無料オンラインセミナーを予定しています。各オンラインセミナーの詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております! AWS Black Belt Online Seminar AWSで実現するウェブサイトホスティング 2018 年 7 月 10 日 | 12:00 […]

Read More

Amazon RDS の手動スナップショットを管理するための通知メカニズムを構築する

ビジネスの規模に関係なく、ビジネスを遂行する上でデータが不可欠な要素であることは隠すまでもないことです。多くの企業は、リレーショナルデータベースを使用してビジネスデータをホストしています。その結果、バックアップとリカバリはビジネスを継続的に実行するための重要な側面になっています。Amazon RDS の顧客は、複数の戦略を活用して、自動スナップショットと手動スナップショットの両方でデータをバックアップします。データベースを削除すると自動スナップショットも削除されるため、Amazon RDS の手動スナップショットを使用して寿命を延ばすことができます。また、アカウント間およびリージョン間での共有機能を備えた災害対策用の手動スナップショットを使用することもできます。Amazon RDS は、単一のスナップショットからデータベース全体をリカバリできるため、さまざまなバックアップニーズに対応します。 この記事では、RDS インスタンスと Aurora クラスターの両方の Amazon RDS 手動スナップショットを管理するためのサーバーレスの通知メカニズムを構築する方法を示します。実行する主なアクティビティは次のとおりです。 RDS インスタンスと Aurora クラスターのリストを指定されて、定義されたバックアップ間隔で手動スナップショットを作成する バックアップの保存期間に基づいて、古い手動スナップショットを削除する このアクティビティの最後に、新しく作成された手動スナップショットと古い削除されたスナップショット (存在する場合) のリストが登録しているユーザーに通知される。 詳細については、README.md ファイルを参照し、GitHub リポジトリからソリューションを起動してください。 サーバーレスソリューションのアーキテクチャ このサーバーレスソリューションは、AWS CloudFormation スクリプトに組み込まれています。このスクリプトは、ユーザー指定のスナップショットバックアップ間隔、バックアップ保持期間、RDS インスタンス名のリスト、通知用の E メールアドレスなどのさまざまな入力を受け取ります。Amazon CloudWatch Events ルールは、スケジュールに従って AWS Step Functions ステートマシンを起動します。このステートマシンは手動スナップショットを作成し、古いスナップショットを削除し、最終的に Amazon SNS に通知を送信します。SNS は、ユーザー提供の E メールアドレスに E メールを送信します。 Amazon RDS 手動スナップショット (RDS インスタンスと Aurora クラスター) を管理するソリューションは、次の […]

Read More

[AWS Black Belt Online Seminar] データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法 資料及び QA 公開

こんにちは、マーケティングの鬼形です。 先日 (2018/6/19) 開催しました AWS Black Belt Online Seminar「データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法 from Amazon Web Services Japan PDF Q. RDSからGlueでData Catalogを作成する際、負荷などかかるのでしょうか?分析用にユーザ操作から切り離したほうが良いのか?気にしなくて良いのかを知りたいです。 A. RDS をクロールする際、スキーマ取得のため Connection を使用します。瞬間的な処理にはなりますが、Connection が使用される点に留意いただき、検証の実施と実行タイミングの検討をお願いいたします。 Q. ベストプラクティス 2/5, 3/5 で説明されていた Parquetを使用した場合のメトリクスはRedshift Spectrum ではなく、Athenaを使用している場合に同様の情報を知ることは可能でしょうか。 A. Athena では同様の情報を確認いただくことができません。 以上です。 今後の AWS Black Belt Online Seminar のスケジュール 直近で以下のオンラインセミナーを予定しています。各オンラインセミナーの詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております! […]

Read More

カリフォルニア州立工科大学ソフトウェア工学科のキャップストーンで MySQL のキャプチャーリプレイを AWS に構築

カリフォルニア州立工科大学は、「Learn by Doing」(実践で学ぶ) という同大学の理念にのっとり、ソフトウェア工学科のキャップストーンを開講しました。この科目で学生は 1 年を通じて協働産業プロジェクトとはどういうものかを体験します。今回で David Janzen 博士がこの科目を教えるのは 10 年目になります。博士は、この長さの科目に最適なプロジェクトを見付け、適切な難易度を与えることに長けています。 今年のプロジェクトは「AWS MyCRT」でした。これは「MySQL Capture and Replay Tool」のことです。 Amazon RDS のチームがサポートしました。30 人の学生が能力に基づいてチームに分かれた結果、5 つの多才なチームができ、それぞれが独自の MyCRT を実装しました。 チーム会議、顧客との会議、Amazon RDS チームの Brian Welcker、Rosa Thomas、Sachin Honnudike との要件導出がプロジェクトを方向付けました。これらの会議から、チーム Titans が以下のようなプロジェクトの背景を導き出しました。 アマゾン ウェブ サービス (AWS) では、Amazon のマネージドデータベースサービスである Relational Database Service (RDS) が利用できます。さまざまなサーバーハードウェアから、顧客の要求に最適なものを選ぶ必要があります。しかし、性能要求に合うハードウェアの選択は難しい判断です。また、性能が不足していたり、不必要に性能が高かったりするのも大変不経済です。Amazon の顧客は、異なるサーバー設定の間で性能を比較し、要求に対して適切なサーバーリソースかどうかを確認したいと言っていました。 この問題に対する MyCRT のソリューションは、RDS MySQL データベースでのワークロードとメトリクスをキャプチャーすることです。これにより、キャプチャーしたワークロードを異なるデータベース設定でリプレイし、メトリクスを収集することができます。また、収集した結果を解析することにより、ビジネス要求に対して理想的な MySQL と RDS の設定を選ぶこともできます。どのチームも、AWS […]

Read More

Amazon RDS Performance Insights が一般利用可能に

本日、Performance Insights が一般利用可能になったことを発表します。Performance Insights を使用すると、パフォーマンス問題が発生したときのボトルネックを簡単に特定し、対処方法を見つけることができます。

一般利用可能に合わせて、Performance Insights は次の機能を導入します。

* 7日間のパフォーマンスデータ履歴
* パフォーマンスデータの長期保持オプション
* SDKとAPIの一般公開

Read More

マネージドスキーマを使用して Amazon Cloud Directory 上でアプリケーションを迅速に開発する

この度、Amazon Cloud Directory がマネージドスキーマを使用して、アプリケーションを迅速に開発できるようになりました。マネージドスキーマを使うと、ディレクトリを作成して、それからオブジェクトの作成と検索をさらにすばやく開始できます。今回の立ち上げでは、QuickStartSchema という Cloud Directory マネージドスキーマが利用可能となっています。豊富な種類の階層データモデルを構築し、Amazon Cloud Directory の Typed Links などの構造を使用して、オブジェクト間の関係性を確立することができます。ひいては、階層をトラバースすることで、データ内の任意の情報をクエリすることができます。 Amazon Cloud Directoryでは、動的ファセットという新しいスタイルのファセットも導入されています。これにより、ファセット内の属性を定義しなくても、アプリケーションを迅速にプロトタイプし、開始できるようになりました。アプリケーションのさらなる開発に際して、新しい属性を追加したり、属性に格納されている値をサポートされている他のデータ型へと後日変更したりすることが可能です。 Amazon Cloud Directory では、バリアントという新しいデータ型も導入されています。バリアントデータ型として定義された属性の値を格納するには、Amazon Cloud Directory でサポートされているプリミティブデータ型のいずれかの値 (例えば、文字列またはバイナリ) を利用します。その後、属性の値を別のデータ型に変更することもできます。データ検証を強制されることはありません。 Amazon Cloud Directory は、QuickStartSchema の 1 つのファセットを動的スタイルとして定義しました。これにより、アプリケーションに必要な任意の数の属性を作成することが可能となります。このファセットを使用して任意の属性を作成すると、バリアントデータ型として作成されます。 のブログ記事では、学校のスポーツチームの生徒を追跡するアプリケーションを作成する方法を説明します。Amazon Cloud Directory と新しい QuickStartSchema を使用します。生徒を 1 次元、そしてスポーツチームを 2 次元で作成します。生徒とチームの情報をディレクトリに追加し、データをクエリします。 このブログ記事の例では、Java コードを使用しています。AWS SDK に精通しており、Java ベースのコードを使って Amazon Cloud Directory のコード例を構築できるものとしましょう。この記事で示した概念を、Python や Ruby など他のプログラミング言語に適用してもらって結構です。 Amazon Cloud Directory マネージドスキーマを使って、すばやい開発を行う スポーツチームのディレクトリアプリケーションを大急ぎで開発し、すぐに利用したいとします。階層をトラバースする階層データとクエリが必要です。生徒名やスポーツチーム名など、保存しているデータ型には所定の値が決まっていないため、Cloud Directory が提供するデータ型や制限を確認する作業は必要ありません静的ファセット。つまり私のニーズは、Amazon Cloud […]

Read More