AEROSPIKE

< BLOGに戻る

高可用性とは?事例や信頼性・冗長性との違いを解説

2024.03.01ビジネス

IT用語でよく聞かれる「高可用性」「可用性が高い」という言葉。

システム運用では覚えておきたい用語の一つでもあります。

この記事では「高可用性」の基本的な考えと、「信頼性」「冗長性」との違いについて解説します。

 

高可用性とは

高可用性の解説の前に可用性について説明します。

可用性とは、製品やシステム、サービスが特定のユーザーにとってどれだけ効果的に、効率的に、満足して使用できるか(停止することなく稼働し続けられるか)を指す概念です。

 

主にソフトウェア設計、ウェブデザイン、ユーザーインターフェース(UI)設計において重要視されますが、あらゆる製品やサービスに適用されます。

高可用性(High Availability, HA)は、システムやサービスが長期間にわたって連続的に稼働し、中断やダウンタイムが最小限に抑えられる能力を指します。

これは特に、ビジネスクリティカルなアプリケーションやサービスにおいて非常に重要です。

 

高可用性と信頼性の違い

このように説明すると「信頼性」「冗長性」と何が違うの?と思いますよね。

どちらもシステム設計において重要な概念ですが、実はそれぞれ異なる側面に焦点を当てています。

 

高可用性は、システムが長期間にわたって連続稼働し、中断やダウンタイムを最小限に抑える能力を指します。

高可用性は、システムがいつでも利用可能であることを保証することを目的とします。

 

例えば「99.9%の稼働時間」のように、アップタイムの割合が重要な指標です。

一方で、信頼性はシステムが特定の条件下で、特定の期間にわたって正確かつ一貫して機能する能力を指します。信頼性の高いシステムは、エラーや故障が少なく、予測可能なパフォーマンスを提供します。

また、エラー処理、品質保証、堅牢な設計によって達成されます。

 

高可用性と冗長性との違い

冗長性は、システムやネットワークが故障や障害に対して耐性を持つように設計されていることを指します。

これは、重要なコンポーネントのバックアップや複製を意味し、一部が故障してもシステム全体が機能し続けることを保証します。

 

高可用の目標は「いつでも利用できること」ですが、信頼性は「正しく機能すること」、冗長性は「一部が故障してもシステム全体として機能すること」を目標としているとイメージすると分かりやすいでしょう。

 

システム運用において高可用性が重要な3つの理由

高可用性が重要と考えられている理由の背景には、ビジネスへの影響、信頼性、災害対策があげられます。

 

  • ビジネスへの影響: システムのダウンタイムは、収益損失、顧客満足度の低下、ブランドイメージの損傷につながる可能性があります。
  • 信頼性の向上: 高可用性を備えたシステムは、ユーザーに信頼性の高いサービスを提供します。
  • 災害対策: 自然災害やハードウェアの故障など、予期せぬ事態にも対応できるようになります。

 

可用性を高める6つの方法

可用性を高める方法の一つにデータベースがあります。

データベースといっても様々な種類がありますが、選ぶ際には下記の6つを押さえておくと良いでしょう。

 

  • 冗長性を設計する:システムの重要なコンポーネントを複製し、一部が故障しても全体が機能し続けるようにします。
  • フェイルオーバー機構: 主要なシステムがダウンした場合、自動的にバックアップシステムに切り替える機能です。
  • ロードバランシング: トラフィックやリクエストを複数のサーバー間で分散させ、過負荷によるダウンタイムを防ぎます。
  • スケールアウト・スケールイン:負荷に合わせて分散させるサーバの台数を変更することで、ダウンタイムを防ぎます。
  • 定期的なバックアップ: データの損失を防ぐために、定期的にデータをバックアップします。
  • 監視とアラート: システムのパフォーマンスを監視し、問題が発生した際には速やかに通知します。

 

Aerospike Databaseの場合

Aerospike Databaseは最大の稼働率99.999%と可用性を実現するように構築されており、一般的な障害に対して高い回復力を備えています。

自動フェイルオーバーでデータを確実に保存し、サーバーレベルでレプリケーションを提供します。

また、動的クラスター管理、 Aerospike Smart Client ™、遠隔地におけるデータセンター間のレプリケーションといったさまざまなコンポーネントにより、可用性を向上させることが可能になります。

 

高可用性の事例

ここでは、Aerospike Databaseによって高い可用性を実現した事例を2社ご紹介します。

 

高可用性の事例楽天

楽天はAerospike Databaseを導入するまでは、同社のデータベースがターゲティング広告プラットフォームに最適化されていないという課題を抱えていました。

そのため、ターゲティング広告をサポートするために必要となる、スピードとボリュームを処理できるデータストアが必要だったのです。

 

広告サービスは24時間365日稼働していなければなりません。なぜならダウンタイムは収益の損失を意味するからです。

データベースの可用性が高ければ、サービスを停止したり多くのリソースを使用したりすることなくメンテナンスやアップグレードを行うことができます。

 

導入後は上記の要件だけでなく、チームの運用効率も向上。仮にノードがダウンしたり、サーバーが再起動したりするなどの問題が発生した場合でも、エアロスパイクであれば自動的に解決することができます。

 

楽天の詳しい事例についてはこちらでもご覧いただけます。

【事例:楽天】エアロスパイクを活用したターゲティング広告の実例

高可用性の事例Charles Schwab

金融大手のCharles Schwabは、7兆7000億ドルの資産管理を支えるために、単一の運用データストア、ローカルキャッシュの回避、コードの再利用、CLR/JVMの焦点というアーキテクチャ原則に基づいてデータベースアーキテクチャを最新化しました。

 

Charles Schwabは、リアルタイムデータの重要性を認識し、日中の記録システムとしてAerospike Databaseを採用。この採用により、彼らは価格変動を分析し、短期取引を実行するためのリアルタイムデータを提供することができるようになりました。

 

現在、Charles Schwabは7兆7000億ドルの資産を管理し、99.99%の可用性を備えた完全な仲介サービスを提供しています。

Aerospikeを分散型データベースとして利用することで、毎日750億件のトランザクションを処理し、各ゾーンで約150TB、毎秒110万の読み取り、毎秒45万の書き込みのスループットを実現しています。

Charles Schwabの詳しい事例についてはこちらでもご覧いただけます。

【事例:Charles Schwab】リアルタイムな証券取引のため最新化したデータベースとは

 

まとめ:高可用性実現の一つとしてデータベースの見直しがある

ビジネスにおいてダウンタイムなしにシステムを稼働させることは、多様化する消費者のニーズを満たすために重要な要件の一つとなっています。

 

本動画では、高可用性以外にリアルタイムデータに対応するために必要な高スループット、低レイテンシー(遅延)について、初心者にも分かりやすく解説しています。

 

ぜひ合わせてご覧ください。

  • Twitter
  • Facebook
  • Instagram
  • note
  • Qiita
PAGE TOP