[1장] 데이터베이스란

신은지·2021년 9월 11일
0

데이터베이스의 역할과 기본 성능, 데이터베이스의 종류

데이터베이스의 역할

데이터를 저장하고 보존하는 그릇. 대량의 데이터를 효율성 높게 보존하고 이용하기 위해 필수적

데이터베이스의 기능

  • 기본 기능, 저장
    : 주소록. 데이터를 기록한다.

  • 데이터의 검색과 갱신
    (1) 검색 : 원하는 데이터를 찾는다.
    (2) 갱신 : (넓은 의미) 새로운 데이터의 등록 / 기존 데이터의 수정 / 불필요한 데이터의 삭제
                  : (좁은 의미) 기존 데이터의 수정

    ※ 데이터 조작 시 고유성(Uniqueness)를 지키기 위해 데이터 포맷에 유의해야 한다.
    ※ 검색 & 갱신 시 연산 처리 성능에 유의해야 한다.


  • 동시성 제어 (배타 제어)
    : 동시에 복수의 사용자의 검색/갱신 연산을 수행할 때, 갱신의 무결성을 어느 정도로 보장하는가?
    : 복수의 사용자의 동일 데이터를 갱신을 조절하는 기능
    (1) 최초로 파일을 연 사람이 접근 중일 때, 다음 사람은 해당 파일에 접근할 수 없다.
    (2) 최초로 파일을 연 사람이 접근 중일 때, 다음 사람은 ReadOnly로만 접근할 수 있다.
    (3) 더티 쓰기(Dirty Write) - 어떤 사람도 문제 없이 파일을 여는 것이 가능하며, 나중에 수행된 쪽의 갱신이 반영된다. 무결성 관점에서 기피된다.

    ※ 트레이드오프 관계 : 누군가에게 괜찮은 갱신 제어가 누군가에게는 불편한 상황.


  • 장애 대응
    : 좀처럼 문제가 발생하지 않으며, 발생했을 경우에도 복원할 수 있는 것 (데이터 보호와 장애 대책)
    : 데이터 소실 대책
    (1) 데이터 다중화 : 데이터를 복수의 장소에 분산하여 유지. 완전한 소실을 막는 예방책
    (2) 백업 : 데이터 소실이 발생했을 때 복원하는 방법. 사후 대책



  • 보안
    : 데이터베이스에 보존된 데이터를 어떻게 숨길 것인가?
    (1) 사용자는 클라이언트 기술 중심이기에 데이터베이스가 동작하는 서버를 의식할 필요가 없다
    (2) 데이터를 일반에 공개할 수 없기 때문에 시스템은 데이터베이스를 사용자에게 알리지 않겠다는 목표로 구축되어 기밀성이 높다.

데이터베이스의 종류

  • 계층형 DB : 데이터를 계층 구조로 관리한다.
  • 관계형 DB : 2차원 표 형식으로 데이터를 관리. 현재 제일 주류
  • 객체지향 DB & XML DB : 각각 객체와 XML의 형식으로 데이터를 관리.
  • NoSQL DB : Not only SQL. RDB의 기능 일부를 버려서 성능(처리 속도)를 높이며, 대용량 데이터의 고속 처리에 적합하다.
profile
호그와트 장학생

0개의 댓글