ダモンデータベースのパフォーマンス最適化によるデータ膨張への対応

2499 ワード

文章は
達夢データベースの性能最適化はデータ膨張に対応し、
「プリズムゲート」、「マイクロソフトXPシステムの停止」の相次ぐ到来は、わが国の情報安全に警鐘を鳴らし、国内の「IOE除去」運動のプロセスを加速させた.達夢データベースは5年連続の国産データベース市場占有率第一の高性能、高信頼性、高安全性、高互換性の大型関係型データベース管理システムとして、すでにOracleの代替に成功し、電力、金融、電子政務、教育などの業界分野で広範な応用を得て、次第に国家情報化建設の重要な基礎プラットフォームとなっている.業務応用をよりよくサポートするために、情報時代に絶えず発生し、急激に膨張しているデータを効果的に管理し、利用することは、夢のデータベースの最適化にとって特に重要である.
一、データベースパラメータの最適化
  1. メモリの最適化
共通メモリプール
共通メモリプールには、システム内でメモリを動的に割り当てる必要があるモジュールにサービスを提供するメモリ申請/解放インタフェースのセットがあります.
  SQL>select * from v$dm_ini where para_name like '%MEM%POOL%';
     PARA_NAME PARA_VALUE
  ---------- --------------- ----------
  1 MEMORY_POOL 40
  2 MEMORY_BAK_POOL 4
  3 N_MEM_POOLS 4

  MEMORY_POOLは、M単位の共通メモリプールの大きさを決定し、前例では40 Mであった.N_MEM_POOLSはメモリプールをいくつかの独立したユニットに分けて、同時アクセスの衝突を減らし、同時効率を高めることを決定した.MEMORY_BAK_POOLは、システムが保持するスペアメモリ量を表し、従来のメモリ申請が失敗した場合、このスペアメモリから割り当て、上位モジュールで必要なフォールトトレランス処理を行う.
現在の共通メモリプールの使用状況は、v$sysstatで表示できます.
  SQL>select * from v$sysstat where name like '%MEM%';
         ID       CLASSID     NAME              STAT_VAL
  -------- -------- ----------- ---------------   --------------------
  1        26       3           MEMORY USED BYTES 25831296

ここのSTAT_VALは既に使用されているバイト数を与える.通常、構成されたプールのサイズより小さくなければなりません.そうしないと、システムはプールの外からオペレーティングシステムにメモリを申請/解放しなければなりません.効率が低下し、オペレーティングシステムのメモリが細かくなる可能性があります.
システムバッファBUFFER
データアクセスを高速化するために、システムはバッファを開き、LRUアルゴリズムを使用して頻繁にアクセスするデータページを保存し、不要なデータページを徐々に淘汰します.
次のパラメータを使用して、基本的なシステムバッファのサイズを設定します.
  SQL>select * from v$dm_ini where para_name like '%BUFFER%';
           PARA_NAME     PARA_VALUE
  ---------- ------------  ----------
  1          HUGE_BUFFER   8
  2          BUFFER        4000
  3          MAX_BUFFER    8000
  4          BUFFER_POOLS  1

そのうちHUGE_BUFFERはカラムテーブル専用のキャッシュ領域であり、BUFFERはユーザ行テーブルのシステムバッファである.BUFFERは初期のシステムバッファサイズを表し、単位はMである.通常、物理データ量が物理メモリより大きい場合は、BUFFERを物理メモリの3分の2に調整するのが適切です.
BUFFER_POOLS=1の場合、システムはバッファの自動拡張をサポートします.MAX_BUFFERは最大でどれくらいまで拡大できるかを示しています.自動拡張後、システムの圧力が一定期間低くなると、バッファが自動的に収縮します.
システムバッファは共有リソースであり、mutexによって保護され、1つの時点で、1つのスレッドだけがこのリソースを保持できるようにします.高同時性の場合、この制限は同時性の効率を大幅に低下させるため、BUFFER_を構成することができるPOOLSは、大きなシステムバッファを複数の小さな部分に分割し、各小さな部分を臨界リソースとして使用します.これにより、アクセスしたデータページが同じサブプールにない限り、競合は発生せず、同時パフォーマンスが向上します.注意BUFFER_が設定されている場合POOLS>1の場合MAX_BUFFERパラメータは失効し,最大利用可能なバッファはBUFFERパラメータによって決定される.
著者:徐志遠
出典:IT 168
译文链接:达梦データベースの性能はデータの膨张に対応することを最适化します