👍

DB 시스템의 특성과 장점


DB 시스템의 주요 특성

1. Self-describing nature of a DB system(스스로 설명가능)

DB 시스템은 DB의 구조, 타입, 제약조건에 대한 정의을 가지고 있다.

'Catalog'에 이 정보들을 보관하고, 정보들을 DB의 metadata라고 한다.

NoSQL 시스템의 경우 metadata가 필요없다. 데이터의 구조 내에 정의를 포함하기 때문이다.

이런 특성을 'self-describing'하다고 한다.

2-1. Insulation between programs and data(프로그램과 분리)

'Program-data independence'라고 부르기도 한다.

DBMS 접근 프로그램을 변경할 필요 없이 데이터나 저장소의 구조를 변경할 수 있다.

2-2. Data abstraction(데이터 추상화)

유저에게 데이터에 대한 개념적인 수단만 제공한다.

유저는 데이터가 실제로 DB에 어떻게 저장되고 접근되는지 알 필요가 없다(선언적 특성).

3. Support of mulitple views of data

각 유저는 그 유저가 관심있는 view를 볼 수 있다. 원하는 데이터만 보면 되지, 전체 데이터를 볼 필요가 없기 때문이다.

4. Sharing of data and multiuser transaction processing

DBMS는 concurrency control(동시성 제어)를 통해 각 transaction이 올바르게 실행(정상)되거나 중단(비정상)되게 보장한다.

OLTP(Online Transaction Processing)은 DB application의 중요한 부분이다.

Transaction은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 일련의 연산들을 의미한다.

ACID(atomicity, consistency, isolation, durability)를 만족해야한다.

DB 시스템 사용 장점

  • 중복 제어: 똑같은 데이터를 여러군데에서 보관하는 것이 아니라 한 곳에서 관리한다. 이것을 'data normalization'(데이터 정규화)라고 한다.

  • 비인가 접근 제한: 보안과 인증

  • 영속 저장: 객체지향 DBMS는 프로그램의 객체들을 영속적(persistent)으로 만들 수 있다.

  • 효율적 질의 처리를 위한 저장 구조 제공: Buffering/Caching을 사용하거나, index를 사용해서 검색과정을 효율적으로 처리한다.

이외에도 많은 장점이 존재한다.