[DATABASE]데이터베이스 개론_CH1,2

bin1225·2024년 10월 10일
0

DATABASE

목록 보기
7/19
post-thumbnail

데이터베이스 개론2판(김연희)를 읽고 복습 목적으로 내용을 정리한 글입니다.

01. 데이터베이스 기본 개념

데이터와 정보는 서로 다른 개념임을 인지해야 한다.

  • 데이터 : 현실 세계에서 단순히 관찰하거나 측성한 사실, 값.
  • 정보 : 데이터를 의사결정에 유용하게 활용할 수 있도록 체계적으로 조직한 결과물.

데이터 베이스 정의

데이터베이스는 여러 사용자가 공유하여 사용할 수 있도록 통합해서 저장한 운영 데이터의 집합이다.

  • 공유 데이터 (shared data)
    • 데이터베이스는 특정 조짓의 여러 사용자가 함께 소유하고 이용하는 공용 데이터이다.
  • 통합 데이터 (integrated data)
    • 데이터 중복을 최소화하고 통제가 가능한 중복만 허용하는 데이터이다.
  • 저장 데이터
    • 컴퓨터가 처리하고 접근할 수 있는 매체에 데이터베이스를 저장한다.
  • 운영 데이터
    • 일시적으로 사용하는 것이 아닌 지속적으로 유지해야 하는 데이터이다.

가치 있는 정보를 얻기 위해서는 의미있는 데이터를 많이 수집해야 한다.
그리고 수집한 데이터를 효율적으로 저장하고 필요할 때 사용할 수 있어야하는데, 이러한 역할을 데이터베이스가 수행한다.

데이터 베이스의 특징

  • 실시간 접근 (real-time accessibility)
    • 사용자의 요구에 실시간으로 응답한다.
  • 계속 변화 (continuous evolution)
    • 현실 세계의 상태는 계속 변화한다.
    • 데이터베이스에 저장된 데이터도 삽입, 삭제, 수정을 통해 정확한 데이터를 유지한다.
  • 동시 공유 (concurrent sharing)
    • 여러 사용자가 모든 데이터를 동시에 사용하도록 지원한다.
    • 같은 데이터를 동시에 사용할 수 있도록 하기 위해서 관리해줘야 한다.
  • 내용으로 참고 (content reference)
    • 데이터베이스는 저장된 주소나 위치가 아니라, 데이터의 내용으로 참조할 수 있다.

데이터의 분류

  1. 정형 데이터(structured data)
    미리 정해진 구조(schema)에 따라 저장된 데이터
    ex) 엑셀 스프레드 시트, 관계형 데이터베이스 테이블

  2. 반정형 데이터(semi-structured data)
    정형데이터와 달리 데이터 내용 안에 구조에 대한 설명이 함께 존재한다.
    따라서 구조를 파악하는 파싱(parsing)과정이 필요하고, 파일로 저장된다.
    ex) HTML, XML, JSON

  1. 비정형 데이터(unstructured data)
    정해진 구조가 없이 저장된 데이터이다.
    ex) 텍스트, 영상, 이미지, 워드, PDF 등 멀티미디어 데이터

02. 데이터베이스 관리 시스템 (DBMS)

파일 시스템

과거에는 데이터 관리를 위해 파일 시스템(file system)이라는 소프트웨어를 사용했다.

파일에 데이터를 저장하고 이용하는 방식이다. 별도의 비용이 들지 않지만 응용프로그램마다 파일을 따로 유지하는 특성때문에 문제가 발생한다.

파일 시스템의 문제점

  1. 데이터 중복 저장

    • 각 응용프로그램별로 파일을 유지하므로 같은 데이터가 여러 파일에 저장된다.
      • 데이터 중복성(data redundancy) 문제가 발생한다.
      • 데이터 일관성과 무결성을 유지하기 어렵다.
        -> 중복 데이터가 많은 상황에서 특정 데이터에 대한 제약조건이 생기거나 변경이 생겼을 때, 모든 중복 데이터에 대해 같은 처리를 해줘야 한다.
  2. 데이터 종속성 (data dependency)

    • 응용 프로그램이 파일에 직접접근하여 데이터를 처리한다. 따라서 데이터를 구성하고 처리하는 방식이 파일 시스템을 따라야 한다.
  3. 데이터 파일에 대한 동시 공유, 보안, 회복 기능 부족

    • 파일 시스템은 파일 데이터에 대한 동시 접근 기능을 일반적으로 제공하지 않는다.

    • 파일단위로 권한을 부여하기 때문에 데이터 접근 권한에 대한 세세한 조정이 불가능하다.

    • 파일 사용 도중 장애 발생시 데이터를 일관된 상태로 회복하기 어렵다.

파일 시스템이 지닌 문제는 결국 데이터 중복성 및 종속성이다.

데이터베이스 관리 시스템

파일 시스템이 가진 문제점을 해결하기 위해 제시된 소프트웨어이다.

  • 데이터가 통합되어 저장된다.

  • 여러 응용프로그램이 동시에 데이터에 접근할 때 생기는 문제를 데이터베이스가 중재하기 때문에 데이터 중복으로 인한 여러 문제가 해결된다.

장점

  1. 데이터 중복 통제

    • 파일 시스템과 달리 데이터를 통합하여 저장하고 관리하기 때문에 중복을 최소화한다.
  2. 데이터 독립성 확보

    • 데이터 베이스는 응용프로그램과 데이터 사이에서 인터페이스 역할을 해준다.
    • 데이터베이스 구조 변화에 응용프로그램이 영향을 받지 않는다.
  3. 데이터 동시 공유 지원

  4. 데이터 보안 향상

    • 데이터 각각에 대한 구체적인 보안 수준 설정이 가능하다.
  5. 데이터 무결성 유지

    • 데이터 무결성은 저장된 데이터 값의 정확성을 의미한다.
    • 데이터가 통합적으로 저장되어 있기 때문에 유효성 검사가 수월하다.
      -> 무결성 유지에 유리하다(데이터가 중복될 경우 어려움).
  6. 장애 발생 시 회복이 가능하다.

  7. 데이터 표준화가 유리하다.

    • 마찬가지로 데이터가 통합되어 관리되기 때문이다.
  8. 응용프로그램 개발 비용이 줄어든다.

    • 데이터 관리를 신경쓸 필요가 없이지기 때문이다.

데이터와 응용프로그램 사이에 중재자가 생겨서 데이터 종속성으로부터 자유로워진다. 또 데이터가 통합적으로 관리되기 때문에 데이터 중복 문제가 해결되고 여러가지 장점이 생긴다.

단점

  1. 초기 설치 비용
  2. 백업 및 회복 방법이 복잡
  3. 중앙 집중 관리로 인한 취약

데이터베이스 관리 시스템의 변화

1세대: 네트워크, 계층 DBMS

  • 네트워크 DBMS는 노드와 간선을 이용한 그래프 형태로 구성하는 데이터 모델을 사용한다.
  • 계층 DBMS는 데이터베이스를 트리 형태로 구성한다.

두 형태 모두 구조가 복잡하고 변경이 어렵다는 문제가 생긴다.

2세대: 관계형 DBMS

  • 데이터베이스를 테이블 형태로 구성한다.
  • 데이터를 단순하고 이해하기 쉬운 형태로 구성한다.
  • DBMS의 주류로 자리 잡아 MYSQL, Oracle 등 의 시스템이 있다.

3세대: 객체지향, 객체관계 DBMS

  • 객체지향의 개념을 도입한 데이터 모델을 사용한다.
  • 객체관계는 객체지향 + 관계형 DBMS를 결합한 모델이다.

4세대 이후: NoSQL, NewSQL DBMS

소셜 네트워크 서비스의 이용이 증가하면서 사진, 동영상, 검색 로그와 같은 비정형 데이터가 대량으로 생산되었다.

  • 관계형 DBMS는 비정형 데이터 처리에 비효율적이다.

따라서 관계 DBMS의 안정성과 일관성 유지를 위한 복잡한 기능을 포기하고 비정형 데이터 처리에 유리한 NoSQL이 등장한다.

0개의 댓글