1)クラスタリングの意味
クラスタリングは「複数のコンピュータを全体で一つのコンピュータであるかのように動作させる技術」とDB本にあり、さらにそれはホットとコールドスタンバイの2種類あるとありました。ただ、どちらの場合であっても「共有ストレージ上のDBはひとつ」とあったので、そのひとつのDBに障害があった場合には、復旧させることはできないのではないかと思うのですが…
ホットスタンバイとは、障害時にすぐにDBもアプリも何事もなかったように待機サーバに切り替わり通常処理を行えると思っていたのですが、これは認識違いでしょうか?
2)レプリケーションとの違い
「共有ストレージ上のDBはひとつ」であるとすれば、レプリケーションは「ネットワーク上に同じ内容のデータベースを複数台用意し常に同期される構成」であるので障害時には別のDBを継続使用できるので耐障害ではレプリケーションの方が優れているのではないでしょうか?
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
一般的な業務で使われている構成で見れば
普通はクラスタリングとリプリケーションを
併用します。
クラスタリングはサーバー側で行なわれ
VCS・RAC・HACMP等があります。
これらは基本的にはサーバーのハードウェア
に対する冗長化(2重化)です。
(ソフト側の冗長化にもなっていますが、
サービス・OSがクラッシュすると、結局は
同じOS構成なのでスタンバイでも同じ
問題が起きる可能性があります)
HBA・イーサカード・CPUが仕様不可になった場合は
スタンバイに切り替わり業務再開となります。
リプリケーションとは大抵の場合はストレージ側(外部HDD)
で取られています。
RAID構成の1ボリューム対し ミラーリング・静止点バックアップ・災害対策
この3つのボリュームが作られます。
ミラーリングとは実際に使用しているデータがそのままコピーされています。
生のデータが入っているので、もしも本番のHDDが壊れた場合は
このコピーが即座に使用可能になり業務再開します。
静止点バックアップは、ある一定の間隔でバックアップを取る事によって
不正データ等があった際にその時点までロールバックできます。
災害対策は物理的に違う場所、機器にデータをコピーしておき
地震等の災害に備えてあります。地震が来た際はサーバー側からは
HDDが壊れている事等は全く関係なく、遠距離にあるHDDにDBはアクセスします。
クラスター = サーバーの二重化
リプリケーション = HDDの二重化
となります。
No.2
- 回答日時:
こんにちは。
私なりに質問を解釈して回答します。
1-A) クラスタリング
ノード(コンピュータ)上の障害(インスタンス、プロセス障害等)に
対するものなので、それ以外の場所である共有ディスク上のDBで
障害が起これば、それを復旧させるまでサービス停止となります。
1-B) ホットスタンバイ
合ってます。
厳密に言えば、何事もなかったように出来る処理と出来ない処理が
あるのですが別な話なので省略します。
2) レプリケーションの方が耐障害に優れているか?
クラスタシステム全体に対する障害のためのものなので、一概に
優れているかを比較しようがないと思います。
レプリケーションを行っているから、クラスタリングしなくても
良いという話にはならないですし。※レプリケーションの同期間隔に
より データが消失してしまう可能性があります
クラスタシステム全体の障害に対しては優れていますが、データ障害
の面では劣ってますよね。
No.1
- 回答日時:
合ってるような、間違ってるような・・・
それぞれの技術には、本来の目的がありますので、「優れている」というのは価値観に
よりけり(運用コスト、復旧速度など)だと思います。
1)クラスタリング
> そのひとつのDBに障害があった場合には、復旧させることはできないのではないかと思うのですが…
これは具体的にはなにができないと疑問に思われているのでしょうか。
SQLServerを例にあげると、DBインスタンスとストレージの間に、
クラスタサービスというものを介在させて、片方のインスタンスに障害が発生すると、もう一方に
切り替わる仕組みがあったと思いますので、サービスは継続します。
ただし、トランザクションが完了していないものは、(たぶん)ロールバックされると
思います。
Oracleの場合はOracleRACでクラスタリングすると思いますが、その場合は、メモリ内の情報もクラスタリングするので、
処理は継続されます。
ですので、「何事もなかったように」というのは、OracleRACでは合っていて、その他のDBでは、その瞬間にトランザクションを実行していた人は不幸にもロールバックしちゃいますが、
システム全体としてのサービスは継続可能と思います。
2)レプリケーション
>耐障害ではレプリケーションの方が優れている
レプリケーションの場合、更新系のDBから参照系に複製されますので、
レプリケーションしている最中に更新系のDBが逝っちゃった場合は、
データが消滅します。
共有ストレージを利用しているクラスタの場合は、片方のインスタンスの
サーバーが死んだところで、もう一方で共有ストレージ上のデータを利用することができます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- MySQL AWSのRDSを無料枠で使用しておりますが、2日前にDBインスタンスを作成し、現在確認したらDBイン 1 2022/07/19 23:49
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- SQL Server SQL ServerでDBを構築。これは開発? 4 2022/05/28 14:10
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- 哲学 《言語記号の恣意性》なる仮説を問い直し 《無主体》を説く構造主義を批判します 2 2023/05/10 04:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DB2で SQL1032N start databas...
-
oracleのメモリ使用量が97%ほど...
-
AWS初学者です。 AWSの学習を終...
-
Oracleのセッションの強制タイ...
-
SQLサーバーへの接続について
-
OracleDBConsoleorclのサービス...
-
SQLServer2005上の別DBからテ...
-
SIDとSERVICE_NAMEの違いとは?
-
データベース接続情報作成しま...
-
Oracle11g SQLPlusログインにつ...
-
突然オラクルへ接続できなくな...
-
Windows Storeを使わずに付箋を...
-
.NET Frameworkがコントロール...
-
ORA-12170のエラーについて
-
住所コード11桁の住所データ...
-
Oracleへのリンクサーバー設定...
-
正しいSQLなのに「ORA-00936: ...
-
QOH'99SecondEditionのパッチ
-
SQLSERVER 2008 ODBC接続
-
LaTeXマクロのemathを使っても...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DB2で SQL1032N start databas...
-
oracleのメモリ使用量が97%ほど...
-
AWS初学者です。 AWSの学習を終...
-
SQLServer2005上の別DBからテ...
-
クラスタリングとレプリケーシ...
-
SQLServer 2008のインスタンス...
-
インスタンス、ノード、ターゲ...
-
OracleDBConsoleorclのサービス...
-
SQL Server 2005 の インスタ...
-
Windows2000でのOSシャットダウ...
-
SQLSERVER データインポート
-
インスタンスの再作成について
-
SQLサーバーへの接続について
-
SQLサーバーの停止。
-
SQL Server 2005(2008)とVB.net...
-
SQLServer2005 リンクサーバー...
-
SQLserver2005のデータベースミ...
-
Oracleのセッションの強制タイ...
-
データベースをオープンできない
-
SIDとSERVICE_NAMEの違いとは?
おすすめ情報