YURU_DB

OracleDB / AOJ(python)

プロとしてのOracleアーキテクチャ入門」 第1章読んだ [データベース]

まずはじめに

  • RDBMSはまだまだITシステムの中心。アーキテクチャ理解しとけ。
  • アーキテクチャわかってると適切な物理設計・シューニングトラブルシュートできる。
  • シェア大きいからOracleやっとけ。
  • Oracleは柔軟なシステム設計/物理設計できるのが特性。

第1章 データベースとインスタンス

  • ざっくり言うと「Oracleソフトウェア」「データベース」「インスタンス」の3つで構成されてる。
  • グローバル・データベース名: ネットワーク内でデータベースを特定する為の名前  <DB_NAME>.<DB_DOMAIN> ※DB_DOMAINの指定がない場合、DB_NAMEと同じ値になる。

  • 「データベース」はデータファイルや制御ファイルなどのデータを格納するファイル群から構成される。

  • インスタンス」はSGA(SystemGlobalArea)と呼ばれるメモリ領域とバックグラウンドプロセスと呼ばれるプロセス群から構成される。
  • 通常のOracle構成では「データベース」と「インスタンス」は1対1の構成
  • 「データベース」は以下で構成されている。  ・データファイル:テーブル、インデックスなどを格納  ・REDOログ・ファイル:更新履歴を格納  ・ 制御ファイル:制御情報を格納

データファイル

ユーザが作成したテーブルやインデックスなどのデータが格納される。 データが多くなればデータファイルも大きくなる。 他にも「UNDOデータ」という過去データや、一時的作業に使用される「一時データ」、システム管理用のデータも含まれている。

REDOログファイル

データベースの更新記録が逐次書き込まれる。 Oracle複数のログファイルをローテーションして更新記録を書き込む。 オン

制御ファイル

データファイルやREDOログファイルの格納場所(パス)、各ファイルの最終更新時刻などの制御情報が保存されている。 多重化しておく事が推奨されている。

感想

いつも技術書を読んで挫折している僕ですが、この本については図解を用いて、各用語、各プロセスの働きなどが示されており非常にわかりやすいです。

「まず大枠を理解して次に詳細を理解する。」がいわゆる勉強の定石かと思いますが、詳細を理解してからどんどん大枠が見えるようになる自分にとっては、こういった本のほうが合っているようです。

今までふんわりと使っていた用語も自信をもって使えるようになりそうです。