とあるITエンジニアたちの備忘録

新米エンジニア5人がお送りする、ちょっとためになる話

データベース解説 ~インスタンス~

みなさん、こんにちは。

どうも、さいばーきゃっとです。

 

今回は、データベースを勉強していると、最初に出てくる非常になじみにくい言葉のインスタンスについて、解説していきます。

 

インスタンスの言葉自体は、データベースを勉強した最初のころから登場した言葉でしたが、データベースについて、まったく無知な私にとって、インスタンスの定義を説明されても、まったく理解できませんでした。

 

おそらく、私のようにインスタンスの概要をよくわからない方も多くいらっしゃると思いますので、つたないですがインスタンスについて解説していきます。

 

インスタンス

そもそもインスタンスは、オラクルデータベースを構成する要素の1つです。

オラクルデータベース上でのインスタンスは、データベースとユーザの中間に位置するメモリ構造プロセス郡のセットのことです。

 

あるデータベースが作成されるとき、そのデータベースに対して、最低1つのインスタンスが作成されます。

ユーザが、データベースにアクセスするときは、このデータベース時に作成されたインスタンスを介して、アクセスされます。

 

簡単に説明すると、下記のようになります。

インスタンス = メモリ構造 + プロセス郡

 

さらに、詳しく説明するとメモリ構造とは、システムグローバル領域のことを指します。これは、データを一時的に、メモリに格納する機能を持っています。
例えば、一度実行されたコンパイル済みのSQL文を格納することにより、SQL文の再利用が可能になります。

 

また、プロセス郡とは、バックグランドプロセスを指します。

バックグランドプロセスでは、メモリ領域内にある情報(データ)を物理ファイル(データベース)に書き込みます。

 

 

具体的なインスタンスの機能は、このようになります。

まずユーザの命令をシステムグローバル領域に格納し、

それから、バックグランドプロセスで、メモリ領域内にある情報(データ)を物理ファイル(データベース)に書き込みをおこないます。

 

オラクルデータベースでは、データをダイレクトに読み書きをするのではなく、システムグローバル領域の共有プールなどを利用して、ワンクッションおいてから格納することにより、データベースの安全性や、パフォーマンスの向上を役割を持っているのです。

 

インスタンスの存在により、データベースの利用が効率よく行うことができるのです。