Amazon Web Services ブログ

Category: Python

Amazon DynamoDB スキャンパフォーマンスに対する Python バージョンの影響の分析

Amazon DynamoDB は、柔軟なスキーマを使用できる NoSQL データベースです。これは、項目それぞれにどのような属性が存在するかという点で、同じテーブル内の項目が互いに異なることを意味します。 前の AWS ブログ記事では、項目あたりの属性数の影響について検証しましたが、私たちは先日、お客様の Python アプリケーションにおけるスキャンが遅いという問題を解決するお手伝いをしていた時、Python バージョンのアップグレードがパフォーマンス向上に役立つかどうかを確認するために、異なるバージョンの Python インタプリタを調べました。 この記事では、Python インタプリタのバージョンがスキャンパフォーマンスにどのように影響し得るかをお見せしたいと思います。 手法 パーティションキーとソートキー (どちらも文字列) で構成されるプライマリキーというシンプルな構造の DynamoDB テーブルを 1 つ作成しました。また、それぞれに 7 文字のキー名 (「field01」、「field10」、など) を含む、個別の 6 文字の文字列属性 24 個 (6 x 24 = 合計 144 文字) で構成されるもうひとつの DynamoDB テーブルも作成しました。 DynamoDB には、単一のリクエストで取得するデータの量に 1 MB の上限があるので、ランダムなデータ 10,000 項目でテーブルをシードしてから、1 MB の上限内に収まるだけの項目を取得する単一のスキャンを実行します。その後、クライアント側でこれらの項目を取得し、アンマーシャルするためにかかる時間を測定します。 ウォークスルー 以下は、Python バージョンの比較に関する典型的な質問です。 Python のあるバージョンを使用する場合と、別のバージョンを使用する場合とでは、どのようにパフォーマンスが変化するのか? […]

Read More

AWS DMS タスク ID を使用して DMS タスクログをダウンロードするための Python コード

AWS Database Migration Service (AWS DMS) を使用すると、データベースを迅速かつ安全に AWS に移行できます。この記事では、AWS DMS タスク ID を使用して AWS DMS タスクログをローカルコンピュータにダウンロードするために必要なサンプル Python コードについて説明します。 概要 DMS タスクログには、移行プロセス中に記録されたタスク情報が含まれています。記事「AWS DMS 移行のデバッグ: 問題が発生した場合の対処方法 (パート1)」で示唆されているように、AWS DMS を使用してデータを移行する際、これらのログを使用して問題を解決することができます。 この記事では、DMS は Amazon CloudWatch Logs のログストリームにタスクログを送信するので、DMS 移行タスクに関する情報を取得できます。けれども、トラブルシューティングをスピードアップするためにローカルにログをダウンロードしたい場合はどうすればよいでしょうか? Download DM Task ログの GitHub レポジトリで、DMS タスク ID を使用して AWS DMS タスクログをダウンロードするための完璧な Python コードを見つけてください。この記事の残りの部分では、Python コードを分解してそのソリューションの使用方法を次の順序で説明します。 必要なライブラリをインポートします。 DMS タスク ID の引数とログの時間範囲を読み取ります。 エポックからの経過時間をミリ秒に変換します。 […]

Read More

新発表 – AWS Toolkits for PyCharm、IntelliJ(プレビュー)、Visual Studio Code(プレビュー)

ソフトウェア開発者には好みの開発ツールというものがあります。パワフルなエディタを使う人もいれば、特定の言語やプラットフォームに最適化された統合開発環境(IDE)を使う人もいます。AWS Lambda のコンソールのエディタを使って、2014年に私は初めての AWS Lambda 関数を作りました。現在では、サーバーレス・アプリケーションをビルドしデプロイするためのツールの選択肢は豊富になりました。例えば、昨年 AWS Cloud9 がリリースされて AWS Lambda のコンソールのエディタ環境は大きく強化されました。.NET アプリケーションでは、 AWS Toolkit for Visual Studio と AWS Tools for Visual Studio Team Services を使う事ができます。 AWS Toolkits for PyCharm、IntelliJ(プレビュー)、そして Visual Studio Code(プレビュー) 今日、 AWS Toolkit for PyCharm の一般提供をお知らせします。また、 AWS Toolkits for IntelliJ と Visual Studio Code の開発者プレビューをお知らせします。これら(AWS Toolkits for IntelliJ と Visual Studio […]

Read More