01. ANSI/SPARC 아키텍처란?
DBMS의 주요 목적은 사용자에게 데이터에 대한 추상적인 뷰를 제공하는 것이라고 합니다.
즉 데이터가 어떻게 저장되고 유지되는 건지 자세한 과정이나 내용은 숨기는 것입니다.
현재의 대부분의 상용 DBMS 구현에서 사용되는 일반적인 아키텍처는 1978년에 제안된
ANSI/SPARC 아키텍처라고 합니다. 이 ANSI/SPARC 아키텍처는 3단계의 외부 단계로 이루어집니다.
① 외부 단계 (external level) : 각 사용자의 뷰
② 개념 단계 (conceptual level) : 사용자 공동체의 뷰
③ 내부 단계 (internal level) : 물리적 또는 저장 뷰
3단계 데이터베이스 아키텍처는 프로그램과 데이터 간의 독립성, 데이터에 대한 다수의 뷰를
제공하는 DBMS의 특성을 지원한다고 합니다.
이 3단계 아키텍처의 주요 목적을 아시나요?
바로 데이터베이스에 대한 사용자의 관점과 데이터베이스가 실제로 표현되는 방식을 분리하는 것입니다.
• 독립적인 사용자 맞춤형 뷰(customized vies)를 제공한다고 합니다.
각 사용자는 동일한 데이터를 서로 다른 맞춤형 뷰를 가지면서 접근할 수 있어야 하고
이는 서로 독립적이어야 합니다. 즉 한 사용자의 뷰의 변화는 다른 사용자의 뷰에
영향을 미치지 않아야 합니다.
• 사용자를 위해서 상세한 물리적인 저장을 숨겨야 한다고 합니다.
사용자는 물리적인 데이터베이스 저장의 상세한 내용을 다룰 필요가 없어야 하며,
사용자들은 데이터 자체만을 다루도록 허용되어야 합니다.
• 데이터베이스의 내부 구조는 저장의 물리적인 측면이 바뀌어도
영향을 받지 않게 설계되어야 합니다.
새로운 디스크에 데이터베이스가 저장될 수 있게 하기 위해서입니다.
• 데이터베이스 관리자는 사용자들에게 영향을 미치지 않으면서
데이터베이스의 개념적 구조 또는 전역적인 구조를 바꿀 수 있어야 한다고 합니다.
요구되는 각 사용자의 뷰를 여전히 유지하면서 이런 작업이 가능해야 하기 때문입니다.
① 외부 단계란?
외부 단계는 데이터베이스의 각 사용자가 갖는 뷰를 의미합니다. 외부 단계는 각 사용자가 어떻게 데이터를
보는가를 말합니다. 여러 부류의 사용자를 위해 동일한 개념 단계로부터 다수의 서로 다른 뷰가 제공될 수 있습니다.
예를 들어 설명해보겠습니다.
은행 데이터베이스는 고객, 은행원, 신용카드 회사, 은행의 급여 관리자가 접근하지만 각각은
전체 은행 데이터베이스의 일부에만 접근할 뿐입니다.
대학교 데이터베이스에서는 한 학과의 학과장은 학과의 예산과 학생들의 수강 정보에는
관심이 있지만 도서관에 관한 정보에는 관심이 없을 수 있습니다. 또, 도서관의 사서는 교수들에 관해
어떠한 관심도 없을 수 있습니다.
이처럼 외부 단계들은 동일한 데이터에 대한 서로 다른 표현들을 제공합니다.
어떤 사용자는 날짜를 월/일/년도 형식으로 보고, 또 다른 사용자는 날짜를 연도/월/일의 형식으로
볼 수도 있습니다.
② 개념 단계란?
개념 단계는 조직체의 정보 모델로서, 물리적인 구현은 고려하지 않으며 조직체 전체에 관한 스키마를
포함한다고 합니다. 개념 단계는 데이터베이스에 어떤 데이터가 저장되어 있으며, 데이터 간에는
어떤 관계가 존재하고, 어떤 무결성 제약조건들이 명시되어 있는가를 나타냅니다.
③ 내부 단계란?
내부 단계는 실제의 물리적인 데이터 구조에 관한 스키마라고 합니다. 데이터베이스에 어떤 데이터가
어떻게 저장되어 있는가를 나타냅니다. 내부 단계에서는 인덱스, 해싱 등과 같은 접근 경로, 데이터 압축 등을
기술합니다.
02. 데이터 독립성에 대하여
ANSI/SPARC 아키텍처의 주요 목적은 무엇일까요?
바로 데이터 독립성(data independence)을 제공하는 것입니다.
데이터 독립성은 상위 단계의 스키마 정의에 영향을 주지 않으면서 스키마 정의를 변경할 수 있음을 나타냅니다.
데이터 독립성은 두 가지로 나뉠 수 있습니다.
① 논리적 데이터 독립성 (logical data independence)
논리적 데이터 독립성은 개념 스키마의 변화로부터 외부 스키마가 영향을 받지 않는 것을 의미합니다.
기존의 외부 스키마에는 영향을 미치지 않으며 응용 프로그램을 다시 작성할 필요 없이 개념 스키마에 대한
변화만 가능해야 합니다.
② 물리적 데이터 독립성 (physical data independence)
물리적 데이터 독립성은 내부 스키마의 변화가 개념 스키마에 영향을 미치지 않으면서 외부 스키마에도
영향을 미치지 않는 것을 의미합니다. 물리적 데이터 독립성이 제공되면 응용 프로그램들은 데이터가 어떻게
물리적인 구조를 갖고 저장되었는가는 신경 쓸 필요가 없기 때문에 오늘날 관계 DBMS가 성공을 거둔
가장 중요한 이유 중의 하나입니다.
03. 데이터베이스 시스템 아키텍처
소프트웨어 시스템은 일반적으로 아키텍처를 갖습니다. DBMS는 다수의 모듈로 이루어진 복잡한
소프트웨어입니다. 데이터베이스 관리자가 데이터 정의어를 사용하여 테이블 생성을 요청하면
데이터 정의어 컴파일러(DDL compiler)가 이를 번역하여, 테이블이 파일 형태로 데이터베이스에 만들어지고,
이 테이블에 대한 명세가 시스템 카탈로그에 저장됩니다. 그럼 최종 사용자나 응용 프로그래머가 데이터 조작어를
사용하여 데이터베이스를 접근하려 하면 DBMS의 질의 처리기(query processor)를 통해서 기계어 코드로 번역되고,
DBMS의 런타임 데이터베이스 관리기(run-time database manager)에 의해 데이터베이스가 접근됩니다.
① 중앙 집중식 데이터베이스 시스템(centralized database system)
데이터베이스 시스템은 하나의 컴퓨터 시스템에서 운영됩니다. 데이터베이스 접근과 관련하여 다른 컴퓨터와
상호 작용하지 않습니다. 중앙의 컴퓨터에 저장된 데이터베이스를 여러 단말기에서 접근하는 방식입니다.
② 분산 데이터베이스 시스템(distributed database system)
네트워크로 연결된 여러 사이트에 데이터베이스 자체가 분산되어 있으며, 데이터 베이스 시스템도
여러 컴퓨터 시스템에서 운영됩니다. 사용자는 다른 사이트에 저장된 데이터베이스에도 접근할 수 있습니다.
③ 클라이언트-서버 데이터베이스 시스템(client-server database system)
중앙 집중식 데이터베이스 시스템에서는 자체 처리 능력이 없는 단말기를 통해 중앙의 데이터 베이스를
접근하지만 클라이언트-서버 데이터베이스 시스템에서는 PC 또는 워크스테이션처럼 자체 컴퓨팅 능력을 가진
클라이언트를 통해 데이터베이스 서버를 접근합니다.
'💕IT 공부하기 > 데이터베이스' 카테고리의 다른 글
오라클의 개념과 PL / SQL 에 대하여 (0) | 2022.08.22 |
---|---|
릴레이션의 특성과 키에 대하여 알아보자 (0) | 2022.08.20 |
관계 데이터 모델 개념의 이해와 제약 조건 (0) | 2022.08.19 |
데이터베이스 시스템의 발전 과정을 알아봅시다. (0) | 2022.08.18 |
데이터베이스 시스템이란 무엇인가요? (0) | 2022.08.17 |