セカンダリ (セカンダリ) とは | 意味や読み方など丁寧でわかりやすい用語解説
セカンダリ (セカンダリ) の読み方
日本語表記
副 (フク)
英語表記
secondary (セカンダリー)
セカンダリ (セカンダリ) の意味や用語解説
「セカンダリ」とは、情報技術の分野において、主要な要素や機能である「プライマリ」を補完、補助、または代替する役割を持つものを指す言葉である。語源はラテン語で「第二の」を意味し、多くの場合、プライマリと対になる概念として用いられる。システム全体としての可用性、信頼性、パフォーマンスの向上、あるいはデータの保護を目的として、様々なシステム構成に導入される。 セカンダリの最も一般的な目的は、プライマリに障害が発生した際に、その機能を自動的または手動で引き継ぎ、システムの停止時間を最小限に抑えることである。これを「冗長化」と呼ぶ。例えば、データベースシステムでは、プライマリデータベースが書き込み処理と読み込み処理の主要な役割を担い、セカンダリデータベースはプライマリのデータを複製し、常に待機状態を維持する。プライマリに障害が発生した場合、セカンダリが新たなプライマリとして昇格し、サービスを継続する。この仕組みは、金融システムやオンラインサービスなど、中断が許されないクリティカルなシステムにおいて特に重要である。 また、セカンダリは負荷分散の目的でも利用される。プライマリが主に書き込み処理を担当し、セカンダリが読み込み処理をオフロードする構成はその典型例である。ウェブサイトやアプリケーションへのアクセスが増大し、データベースへの読み込みリクエストがプライマリに集中すると、パフォーマンスが低下する可能性がある。この時、複数のセカンダリデータベースに読み込み処理を分散させることで、システム全体の応答速度を向上させ、ユーザーエクスペリエンスを改善する。これにより、プライマリの負担を軽減し、システムのスケーラビリティを高めることが可能となる。 さらに、データ保護と災害復旧(ディザスタリカバリ)の観点からもセカンダリは重要な役割を果たす。プライマリデータに対する定期的なバックアップや、遠隔地にセカンダリシステムを構築してデータを複製する「ディザスタリカバリサイト(DRサイト)」はその具体例である。大規模な自然災害やシステム障害により、プライマリシステムが完全に機能停止した場合でも、DRサイトのセカンダリシステムが稼働することで、事業継続性を確保する。この場合、セカンダリはプライマリのリアルタイムな複製であるとは限らず、一定間隔で同期されるバックアップデータや、災害時に手動で復旧させるための準備された環境を指すこともある。 具体的な技術領域におけるセカンダリの例は多岐にわたる。データベースの世界では、「マスター-スレーブ構成」がよく知られている。マスターがプライマリ、スレーブがセカンダリに相当し、マスターでのデータ更新がスレーブにリアルタイムまたは非同期で伝播される。スレーブは読み込み処理を担当したり、マスターの障害発生時に新しいマスターとして機能する準備をしたりする。また、「アクティブ-スタンバイ構成」も広く用いられ、アクティブなデータベースインスタンスがプライマリとして稼働し、もう一方のスタンバイインスタンスがセカンダリとして待機し、障害時に切り替わる。 サーバーやネットワーク機器の分野でも同様の概念が見られる。「サーバークラスタリング」において、アクティブなサーバーがプライマリとして処理を行い、別のスタンバイサーバーがセカンダリとして待機する構成が一般的である。ネットワーク機器、例えばルータやファイアウォールでも、VRRP(Virtual Router Redundancy Protocol)のようなプロトコルを用いて、複数の機器がプライマリとセカンダリの役割を分担し、プライマリが故障した場合にセカンダリが自動的にトラフィック処理を引き継ぐことで、ネットワークの継続性を保証する。 ストレージにおいてもセカンダリの概念は重要である。RAID(Redundant Array of Independent Disks)のような技術は、複数の物理ディスクを組み合わせて仮想的な一つのディスクとして扱い、データの冗長性を持たせることで、単一ディスクの故障によるデータ損失を防ぐ。この場合、ミラーリングされたディスクやパリティ情報を持つディスクがセカンダリ的な役割を果たすと言える。また、プライマリデータを保存するストレージとは別に、バックアップデータやアーカイブデータを格納するための「セカンダリストレージ」が用意されることもある。これは、プライマリデータが破損した場合に復旧するための重要な役割を担う。 セカンダリシステムを導入する際には、いくつかの重要な考慮事項がある。第一に、プライマリとセカンダリ間のデータ同期方式である。リアルタイムで常にデータを同期する「同期レプリケーション」は、プライマリ障害時のデータ損失を最小限に抑えるが、プライマリの書き込み処理に遅延が生じる可能性がある。一方、一定間隔で同期を行う「非同期レプリケーション」は、プライマリのパフォーマンスへの影響は小さいが、障害発生時に同期されていないデータの一部が失われる可能性がある。目的に応じて最適な方式を選択する必要がある。 第二に、フェイルオーバーとフェイルバックの仕組みである。フェイルオーバーは、プライマリに障害が発生した際にセカンダリがその役割を自動的または手動で引き継ぐプロセスを指す。この切り替えが迅速かつ確実に行われるよう、綿密な設計とテストが不可欠である。フェイルバックは、プライマリが復旧した後に、再度プライマリに役割を戻すプロセスであり、ここでもデータの一貫性を保ちながら安全に切り戻すための手順が求められる。 第三に、目標復旧時点(RPO: Recovery Point Objective)と目標復旧時間(RTO: Recovery Time Objective)の達成度を考慮する必要がある。RPOは、障害発生時に許容できるデータの最大損失量を意味し、RTOは、障害発生からシステムが復旧するまでに許容できる最大時間を意味する。セカンダリの構成は、これらの目標を満たすように設計されるべきである。 最後に、セカンダリの導入にはコストが伴う。追加のハードウェア、ソフトウェアライセンス、および運用管理のためのリソースが必要となるため、システムが求める可用性、信頼性、パフォーマンスと導入コストとのバランスを慎重に検討することが重要である。システムの要件に応じて、最適なセカンダリ戦略を選択することが、安定したITインフラストラクチャを構築する上で不可欠である。