Notice
Recent Posts
Recent Comments
05-21 07:17
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Byeol Lo

Database Management - DBMS Properties 와 Challenges 본문

BackEnd/Database Management

Database Management - DBMS Properties 와 Challenges

알 수 없는 사용자 2023. 2. 25. 18:00

 앞서 Logical Schema에 대해 세부적으로 알아보았다. Physical Schema와 External Schema가 어떻게 구성되어 있는지도 보며, DBMS가 가지는 성질에 대해서 살펴보자.

 일반적으로 사용자에게 제공되어지기 전의 Background에 있는 물리적인 자원들을 사용하기 위해 구성되는 Schema들은 Administrator의 권한에서 액세스를 하게 된다. 반면, External Schema는 데이터베이스 시스템과 사용자 간의 인터페이스(연결)를 정의하는 것인데 시스템에 접근하는 외부 응용 프로그램이나 사용자가 데이터를 사용하기 위해서 필요한 데이터 모델, 데이터 구조 및 접근 권한까지도 정의를 하게 되는 계층이다. 그러면 Views는 사용자나 응용 프로그램 따위가 DBMS에 접근할 때, 실제 Logical Schema에서 구현된 하나 이상의 테이블의 기존 데이터들로 부터 파생된 가상의 테이블이라고 할 수 있고, 저장 공간을 따로 차지하지 않는 property가 있다. 따라서 External Schema가 Views의 개념과 완전히 일치하는 개념이라고 보기는 힘들며, External Schema 안에 View를 어떻게 정의하는지 까지도 들어가 있는 포괄적인 개념이다.

 

Physical Schema

 In perspective of physical storage, the physical structure of the records to be stored in the database, as well as the representation of stored data items and the physical order of internal records.

 

Logical Schema

 The level that describes the structure of data and constraints applied to the data for the entire database.

 

External Schema

 It is defined by users or applications programmers to represent the logical structure of the databse from their individual perspective or requirements.

 

 이 개념들을 통해 DBMS의 property인 Data independence를 알아보자.

 

 Data independence는 DBMS에서 데이터베이스의 논리적 구조와 물리적 구조를 분리하여 서로 독립적으로 관리할 수 있도록 하는 property이다. 해당 개념에는 두 가지의 성질, Logical Data Independence, Physical Data Independence가 있다.

Data Independence

  • Logical Data Independence : 논리적 데이터 독립성은 데이터베이스 스키마의 변경이 사용자나 응용프로그램의 영향을 미치지 않도록 보장하는데, 데이터 베이스의 테이블 구조를 변경해도, 이를 사용하는 응용프로그램이나 쿼리는 변경할 필요 없이 계속 사용할 수 있다.
  • Physical Data Independence : 물리적 데이터 독립성은 데이터베이스 스키마와 물리적 저장 구조의 변경이 다른 레벨에 영향을 미치지 않도록 보장된다는 성질이며, 데이터 베이스 내의 데이터를 저장할 장치를 변경하더라도, 이를 사용하는 응용 프로그램이나 쿼리는 변경할 필요 없이 계속 사용할 수 있는 것이다. ( 확장성과 이식성이 편하다! )

 

DBMS Challenges

 DBMS는 다양한 사용자들이 접근할 수 있다. 가령 1000명의 사용자들이 어플리케이션 등을 통해 데이터베이스에게 요청을 한다고 하자. 그러면 이때  Security issue, Performance issue, Consistency issue가 있다. Security Issue는 각 사용자들이 과연 동일한 액세스의 유저일까 서로 다른 규칙을 적용해야하지 않을까 라는 것과 Performance issue에서는 많은 사용자들이 "동시"에 데이터베이스를 액세스한다면 Disk의 접근이 느려질 것이고 DBMS의 CPU 연산이 너무 많아 지연될 수 있다. 마지막으로 Consistency issue는 만약 A, B 사용자가 어떤 특정 데이터를 서로 동시에 업데이트 할 경우가 있을 수 있는데, 이 또한 DBMS의 문제가 될 수 있다.

Comments