데이터베이스/데이터베이스

데이터베이스(데이터베이스(DB)의-관계형 데이터베이스의 계층)

benjykim 2017. 8. 24. 20:18
반응형

* 관계형 데이터베이스의 계층



* 스키마 

: 데이터베이스에서 '폴더(디렉터리)'에 해당하는 것이 '스키마'이다. ('틀'이라는 의미이다)

테이블은 실제로 몇 개의 스키마 속에 저장되는 형식을 취한다. 

스키마도 폴더처럼 사용자가 자유롭게 만들 수 있어서 용도별로 나누거나 

사용자의 접근을 제한하는 등의 권한 관리를 수행하는 것도 가능하다.




* 데이터베이스

: 스키마의 상위에는 또 하나의 계층으로 '데이터베이스'가 있다. 

'데이터베이스는 데이터를 관리하는 기능의 집합체'라고 생각할 수 있지만

실은 데이터베이스에는 '계층'을 표시하는 의미도 있다.(혼동될 소지가 있음)




* 인스턴스

: 데이터베이스보다 한 층 더 위에 있는 '인스턴스'란 개념이 있다. 물리적 개념으로

DBMS가 동작할 때의 단위이다. 그래서 OS 입장에서는 '프로세스'라고도 부른다.

DBMS에 따라서 이것을 '서버 프로세스' 또는 단순히 '서버'로 부르는 경우가 있다.


-> 여기서 인스턴스는 메모리나 CPU를 사용하는 존재로 OS에 존재하는 '실체'라는 의미이다.






Q. 계층 구조가 이해하기 어려운 이유?

-> 위의 내용까지는 간단하다고 생각할 수 있다. 하지만 현실에서 구현되는 것은 위와 다소 다를 수 있다. 


앞에서 설명한 계층의 원칙을 충실히 지키는 DBMSPostgreSQL, SQL Server, DB2고,

스키마와 데이터베이스 한 계층을 생략한 것MySQL과 Oracle이다.






* MySQL과 Oracle의 계층 구조

: MySQL은 데이터베이스와 스키마를 동일한 것으로 간주해서 계층 차이를 두지 않으므로 

데이터베이스와 스키마는 MySQL에서는 동의어이다.


반면, Oracle은 조금 달라서 4계층 구조로 되어 있지만,

 '인스턴스 아래에 데이터베이스를 한개만 만들 수 있다'는 독자적 제약이 있어서 

실질적으로 데이터베이스를 의식하지는 않으며 3계층 구조로 바뀌지도 않는다.











*이 포스트는 '데이터베이스 첫걸음'책을 참고하여 작성했습니다.



반응형