Symfoware(R) Server 概説書 - FUJITSU - |
目次 索引 |
Symfoware Serverでは、パーティショニング (DSIの分割運用)を強く推奨しています。
Symfoware Serverは、表と磁気ディスクを橋渡しするために、データをどのように格納するかを示す格納構造と呼ばれる考え方が導入されています。ここで、パーティション(DSI)という定義があります。1つの実表を規則に基づいて、複数のグループに分割して独立に運用(パーティショニング)することができます。
パーティショニングを行うことで、大容量データベースのバッチ、バックアップおよびデータベースの再配置を、分割したグループ単位で、独立に、かつ並行に行うことができます。
パーティショニングの考え方について、以下に示します。この例は、1つの表のデータを単純に2つのグループでパーティショニングする場合を示しています。
パーティショニングの特徴について、以下に示します。
複数のトランザクションが同一の表をアクセスすると、同時にディスク入出力が発生します。また、トランザクション間での排他による待ち関係が発生するために、処理レスポンスが低下します。
パーティショニングを利用し表やインデックスを細分化することで、運用単位を小さく、かつ並行に処理できます。
細分化された表やインデックスは内部的に独立して処理されるため、複数のトランザクションの同時実行性が高まり、ディスク入出力が分散されます。また、排他の単位も細分化されるため、トランザクション間の排他待ちが発生しにくくなります。
パーティショニングを適用してもアプリケーションでの配慮は不要です。そのため、データベース規模の成長に合わせて、容易にパーティショニングを適用できます。
パーティショニングを適用している場合、ディスク障害などによりデータベースの閉塞が発生した際の単位がパーティション単位になります。したがって、影響のないパーティションにアクセスしている業務は、問題なく継続させることができます。このためパーティションを限定したフォールバック運用ができます。
パーティションごとに独立して、データベースのバッチ処理、データのロード、アンロードや一括更新、再配置処理およびデータベースのスペース容量の拡張などを行うことができます。そのため、並行および段階的なデータベースの保全、保守が可能になり、全体の業務運用を滞りなく行うことができます。
論理的に1つの表を、規則に基づき複数のDSIに分割(パーティショニング)します。規則を以下に示します。
対象の表から特定の列(複数可)をパーティショニングのキーとして選択します。これを分割キーと呼びます。
分割キーの値により行を分割したDSIに振り分けて格納します。1つのDSIに対応する分割キーの値は、例えば支店番号100以上で支店番号200以下というように、範囲値とすることができます。
多様なデータの検索を効率よく実現するため、インデックスのDSIは、分割した表のDSIに1対1に対応して作成します。
支店番号(支店NO)を分割キーとした例について、以下に示します。
目次 索引 |