Amazon Web Services ブログ

Category: Database

カリフォルニア州立工科大学ソフトウェア工学科のキャップストーンで 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

新機能: Amazon RDS for Oracle Database がvCPUの削減や最適化に対応

すべてのAWSサービスと同様に、Amazon RDS のロードマップは、主にお客様からのフィードバックや製品改善リクエストに基づいています。Oracle RDS for Oracle Database でデータベースワークロードを実行しているエンタープライズの複数のお客様から、私たちはフィードバックを受けました。そのフィードバックとは、物理コアに対するRAMの比率を Amazon RDS for Oracle より大幅に高くすることで、Oracleのワークロードを実行しているエンタープライズのお客様は、ソフトウェアライセンスの価値を最大化しているというものでした。

この記事の目的は、Amazon RDS 上の Oracle Database のための2つの新機能を使用することで、仮想CPU (vCPU) の数を減らし、ライセンスコストを最適化する方法を説明することです。

Read More

Redis セキュリティ アドバイザリ

日本時間 2018年6月13日 03:00 インメモリデータストアであるRedisのセキュリティアドバイザリが公開されました。Amazon ElastiCache によって管理される Redis互換のノードは、単一のエンジンが稼働する、お客様の VPC で独立したお客様専用のノードです。したがって、VPC の設定で明示的に許可されていない限りは、他のお客様がそれらのノードに対しアクセスすることはできません。 Amazon ElastiCache においても、アップデートを含む新しい Redis バージョンがリリースされました。2018年6月10日以降に起動された ElastiCache クラスターには、影響はありません。既存の ElastiCache クラスターをお持ちのお客様は、メンテナンスウィンドウにて新しいバージョンへのアップデートが予定され、順次実施されます。このアップデ―トは今回の問題に完全に対処できるよう設計されており、ElastiCache はデフォルトで意図しない外部からのアクセスを防ぎます。このアップデートに関して、お客様によるアクションは必要ありません。 本件に関してセキュリティの懸念がある場合は、http://antirez.com/news/119 をご覧ください。また、Amazon ElastiCache クラスターへのネットワークアクセスをセキュアに保つ方法は、”Amazon VPCs and ElastiCache Security”[1] をご覧ください。 [1]: https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/VPCs.html   上記はAWS Japan Security Awareness Teamによって翻訳されました。原文は以下です: https://aws.amazon.com/jp/security/security-bulletins/AWS-2018-016/

Read More

新規 – Amazon ElastiCache での Redis 4.0 の互換性

Amazon ElastiCache は、Redis または Memcached での完全マネージド型のインメモリデータストアやキャッシュの設定を簡単にします。本日、ElastiCache が Redis 4.0 と互換になったことを発表いたします。これにより、すべての商用 AWS リージョンで、Redis 4.0 互換の ElastiCache ノードまたはクラスターを起動できるようになります。ElastiCache Redis クラスターは、テラバイト単位のメモリや毎秒当たり何百万回もの読み書きへスケールして、ゲーム、IoT デバイス、金融アプリケーション、ウェブアプリケーションなどの最も厳しいニーズに対応することができます。 AWS マネジメントコンソールまたは AWS コマンドラインインターフェイス (CLI) で Redis クラスターを起動する方法は、引き続き簡単です。新しい Redis 4.0 の機能を使ってみるための小さなクラスターを作成し、新しいバージョンを使用するために「Engine version compatibility」で 4.0 リリースを選択します。これにより、この記事を書いている時点で、4.0.10 互換のクラスターが起動します。 新機能 Least Frequently Used (LFU) キャッシュエビクションポリシー – Redis 4.0 は、新しい LFU キャッシュエビクションアルゴリズムを含めて多くのキャッシング機能が強化されたことで、Least Recently Used (LRU) より優れたパフォーマンスを実現できます。Antirez のブログが、いくつかの変更について深く掘り下げています。 非同期の FLUSHDB、FLUSHALL、UNLINK – […]

Read More

Amazon RDS for MySQL および MariaDB に MariaDB MaxScale を使用して Binlog Server を設定する方法

Amazon RDS for MySQL と Amazon RDS for MariaDB の主要機能の 1 つが リードレプリカ を作成する機能です。AWS マネジメントコンソールまたは AWS CLI を使用して、1 つのマスターデータベースインスタンスについて、最大 5 つのレプリカを簡単に作成できます。Amazon RDS は、マスターのバックアップを作成し、バックアップをレプリカとしてリストアし、マスターとレプリカへのレプリケーションチャネルを確立する、といった作業すべてを処理します。Amazon RDS のレプリケーションを完全に自動化した処理は、マネージドレプリケーションと呼ばれます。 非標準のレプリケーショントポロジを求めている場合は、Binlog Server を使用できます。たとえば、レプリカが 5 つ以上必要な場合や、下流のアプリケーションにレプリケーションログレコードを転送する場合です。Binlog Server はレプリカとは違い、マスターのログレコードを使用せず、マスターと 1 つ以上のサブスクライバーの間にキャッシングレイヤーを提供します。今回の記事では、このアプローチを使用した場合の利点 (といくつかの制限) について説明します。MariaDB MaxScale と ノンマネージドレプリケーション を使用して、Amazon RDS for MySQL および MariaDB に Binglog Server をセットアップする作業を紹介します。 Amazon RDS for MySQL および MariaDB […]

Read More

Performance Insights を使用した Amazon RDS データベースの負荷分析

AWSは Amazon Aurora with PostgreSQL compatibility の一般リリースを先日発表しました。このリリースには Performance Insights と呼ばれる Amazon Relational Database Service (Amazon RDS) に有用な機能の最初のリリースも含まれます。データベースの負荷(どのSQL文が負荷を発生させており、それはなぜなのか)を可視化するダッシュボードを使用して、エキスパートな方とエキスパートではない方の両方が、Performance Insights でパフォーマンス問題を容易に検出できます。

Read More

Amazon RDS for PostgreSQLにおける自動バキュームのケーススタディ

PostgreSQLデータベースにおいて、自動バキューム処理(autovacuum)は複数の重要なメンテナンス操作を実行します。周回を防止するためにトランザクションIDをフリーズすることに加えて、デッドタプルを削除し空きスペースを回復させます。書き込み回数の多いデータベースの場合は、自動バキュームを頻繁に実行するようにチューニングすることをお勧めします。そうすることで、テーブルやインデックスを膨らませるデッドタプルの蓄積を避けることができます。

この記事では、デッドタプルが蓄積される状況でどのように自動バキューム処理を監視し、チューニングするかを実際に示すために、ケーススタディを用いてご説明します。

Read More

Amazon DynamoDB グローバルテーブルを使用して、高速かつグローバルで利用可能なユーザープロファイリングシステムを作成する方法

ユーザープロファイリングシステムとは、ユーザーの名前、ID、連絡先情報、過去の行動、関心事項、その他の情報を保存するシステムです。こうしたシステムはまた、ユーザー情報を照会する方法も提供します。この記事では、グローバル化されたユーザープロファイリングシステムの重要性、Amazon DynamoDB グローバルテーブルを使用してこのシステムを作成する方法、機械学習でこのシステムを使用する方法について説明します。 概要 ウェブサイト、モバイルアプリケーション、ゲームは、グローバルなユーザーベースを持つことができます。たとえば、最近のトップトレンドゲームである PlayerUnknown の Battlegrounds を考えてみましょう。そのユーザーベースは、以下のような地理的な内訳です。 米国から 24% 中国から 19% ドイツから 6% このゲームや同様の他のゲームでは、レイテンシーが少なくグローバルに利用可能なユーザープロファイリングシステムが、世界中のユーザーに優れたエクスペリエンスを提供するのに役立ちます。 DynamoDB グローバルテーブルは、複数の AWS リージョンで DynamoDB テーブルを複製することにより、データへの高速なグローバルアクセスを可能にします。DynamoDB グローバルテーブルを使用すると、迅速で一貫性のあるグローバルなユーザープロファイリングシステムを構築できます。この記事で説明しているユーザープロファイリングシステムは、グローバルな低レイテンシーアクセス用のグローバルテーブルのローカルレプリカテーブルを使用し、そのデータには最終的な一貫性があります。 このグローバル化されたユーザープロファイリングシステムは、機械学習目的でも使用できます。DynamoDB はスキーマレスなので、任意の形式のデータを簡単に保存して照会することができます。したがって、DynamoDB ベースのユーザープロファイリングシステムで使用されるデータ形式を、選択した機械学習モデルに最適なデータ形式に調整することができます。この記事では、機械学習でユーザープロファイリングシステムを採用する方法を示します。 グローバルユーザープロファイリングシステムの構築 Example Corp. は世界的なオンライン書籍販売店であり、世界中に顧客を抱えているとしましょう。Example Corp. は、顧客の名前、ID、住所、支払い方法などの情報を記憶しておき、この情報を顧客の注文を遂行するために使用したいと考えています。この場合、Example Corp. はユーザーの情報を保存するためのユーザープロファイリングシステムが必要です。 このユーザプロファイリングシステムは、次の 2 つの要件を満たす必要があります。まず、Example Corp. はグローバルなオンライン書籍販売店であるため、このユーザープロファイリングシステムは世界中のユーザーをサポートする必要があります。次に、このユーザープロファイリングシステムは、顧客がウェブの遅延を経験しないように、迅速に要求に応答する必要があります。(注文にかかる時間が長くなるほど、顧客が注文を放棄する可能性が高くなります。) この 2 つの要件を満たすために、Amazon DynamoDB グローバルテーブルを使用して Example Corp. のサンプルユーザープロファイリングシステムを作成する方法を説明します。分かりやすくするために、この例では user_id と user_name の属性だけを使用します。 まず、米国西部 (オレゴン) リージョンに UserProfiles […]

Read More