見出し画像

日々の通勤で感じるAWS,RDSのI/O-Optimizedの重要性

はじめに

RDSのI/O-Optimizedという言葉を聞いたことがありますか?これは、データベースのパフォーマンスを最大化し、効率を向上させるための技術です。しかし、これがどのように役立つのか、私も調べるまであまり理解してませんでした。
※RDSの中での役割が日常的な通勤サラリーマンにみたいだなと思いました。
そこで、日常的な通勤サラリーマンの生活に例えて、I/O-Optimizedの重要性について記事にしてみました。また、I/O-Optimizedを設定している場合と設定していない場合のコストの違いも考えてみました。

通勤サラリーマンとデータベースの関係

通勤サラリーマンの毎日は、データベースがデータを処理するプロセスに似てるのではないですかね?。朝、家を出てオフィスに向かい、一日の仕事を終えて家に帰るまで、多くの活動と待ち時間があります。これをデータベースのI/O(入出力)に例えて考えてみます。


I/O-Optimizedの特徴とサラリーマンの例え

  1. 高スループットと低レイテンシ:電車の本数が多い

    • データベース: I/O-Optimizedインスタンスは、大量のデータを高速で処理し、応答時間を短縮します。

    • サラリーマン: 通勤電車が頻繁に来ると、待ち時間が短くなり、多くの乗客が効率よく移動できます。これにより、通勤時間が短縮され、仕事の開始時間が早くなります。

  2. スケーラブルなストレージ:拡張可能な通勤ルート

    • データベース: データ量が増えても、自動的にストレージが拡張され、パフォーマンスが維持されます。

    • サラリーマン: 新しい地下鉄路線やバス路線が追加されると、通勤ルートが増え、混雑が緩和されます。新しいルートを利用することで、時間通りにオフィスに到着できます。

  3. プロビジョンドIOPS:特急電車の導入

    • データベース: 必要なI/Oパフォーマンスに応じて、特定のIOPSを設定することができます。

    • サラリーマン: 通勤時間を短縮するために、特急電車を利用するようなものです。特急電車は停車駅が少ないため、目的地に迅速に到着できます。

  4. マルチAZ配置:複数の通勤経路の確保

    • データベース: データの高可用性を確保するために、データが複数のアベイラビリティゾーン(AZ)にレプリケートされます。

    • サラリーマン: もし主要な通勤路が閉鎖された場合でも、別のルートを利用できるようにすることです。これにより、遅刻することなく職場に到着できます。

【I/O-Optimizedの利点とコスト比較】

I/O-Optimizedの利点

  1. パフォーマンス向上:ストレスフリーな通勤

    • 効率的な通勤方法を取ることで、通勤時間が短縮され、ストレスが減少します。同様に、I/O-Optimizedデータベースは、高パフォーマンスを提供し、業務の効率を向上させます。

  2. コスト効率:節約できる時間とエネルギー

    • 最適な通勤方法を選ぶことで、時間と交通費を節約できます。データベースでも、必要なI/O性能に応じてリソースを適切に割り当てることで、コストを最小限に抑えることができます。

  3. 柔軟なスケーリング:ライフステージに合わせた通勤方法の変更

    • 家族が増えるなどライフステージが変わった場合、新しい通勤方法を探すことが必要です。データベースでも、ビジネスの成長に応じてスケーリングすることで、常に最適なパフォーマンスを提供できます。

  4. 高可用性と耐障害性:予期せぬトラブルへの対応力

    • 通勤路が突然閉鎖された場合でも、他のルートを確保していれば対応可能です。同様に、I/O-Optimizedデータベースは、障害発生時でも迅速に切り替えられ、業務の中断を最小限に抑えます。

【コストの比較】

I/O-Optimizedを設定している場合と設定していない場合のコストの違いについて、通勤サラリーマンの例えで考えてみましょう。

  • 設定していない場合:

    • 通勤時間が長くなり、ストレスが増える。

    • 交通渋滞や電車の遅延によって、仕事の開始時間が遅れ、生産性が低下する。

    • 非効率な通勤方法により、交通費が高くなる。

  • 設定している場合:

    • 効率的な通勤方法を利用することで、通勤時間が短縮され、ストレスが軽減される。

    • 高速で信頼性のある交通手段を利用することで、生産性が向上する。

    • 最適な交通手段を選ぶことで、交通費を節約できる。

実際のコストシミュレーション

以下は、I/O-Optimizedを設定している場合と設定していない場合のコストシミュレーションです。
法人の会社で1か月のRDSのコストが2000USDから3000USDを想定して作成したサンプルです。

条件
東京リージョンでのI/O料金とストレージ料金を想定してます。

I/O-Optimizedを設定していない場合

  1. ストレージとI/Oリクエストのコスト:

    • I/Oリクエスト: 3,000,000,000 IOs

    • 単価: 0.24 USD/1百万リクエスト

    • コスト: 720 USD

  2. インスタンス時間のコスト:

    • db.t4g.medium: 700 時間

    • 単価: 0.113 USD/時間

    • コスト: 79 USD

  3. バックアップストレージのコスト:

    • 800 GB-月

    • 単価: 0.095 USD/GB-月

    • コスト: 76 USD

  4. 合計コスト:

    • 合計: 875 USD

I/O-Optimizedを設定している場合

  1. ストレージとI/Oリクエストのコスト:

    • I/Oリクエスト: 3,000,000,000 IOs

    • 単価: 0.12 USD/1百万リクエスト(50%のコスト削減)

    • コスト: 360 USD

  2. インスタンス時間のコスト:

    • db.t4g.medium: 700 時間

    • 単価: 0.0565 USD/時間(50%のコスト削減)

    • コスト: 39 USD

  3. バックアップストレージのコスト:

    • 800 GB-月

    • 単価: 0.0475 USD/GB-月(50%のコスト削減)

    • コスト: 38 USD

  4. 合計コスト:

    • 合計: 437 USD

【コスト削減率】

I/O-Optimizedを設定した場合のコスト削減率を想定して計算してみます。

  • 設定していない場合の合計コスト: 875 USD

  • 設定している場合の合計コスト: 437 USD

コスト削減率 = ((875 USD - 437 USD) / 875 USD) * 100 = 50%

まとめ

I/O-Optimizedは、とにかくなんか調べたらすげえいいやつなんです。
これにより、データベースは高いパフォーマンスを維持してくれますし、コスト効率を向上してくれますし。
毎日の通勤を最適化するように、データベースのパフォーマンスも最適化することで、総合的に考えてビジネスの成功に貢献できそうです。


この記事が気に入ったらサポートをしてみませんか?