[요약집] 데이터베이스란

Updated:

데이터베이스란

데이터베이스의 기본 기능

  • 데이터의 검색과 갱신
    • 갱신은 넓은 의미에서 등록, 수정, 제거를 말한다.
    • 검색과 갱신에 걸리는 처리 성능에 유의해야 한다.
  • 동시성 제어
    • 복수 사용자의 갱신을 조절하기 위한 기능을 ‘동시성 제어’ 혹은 ‘베타 제어’라고 한다.
    • 어느 사용자에게는 괜찮은 갱신 제어가 다른 사용자에게 불편한 상황을 ‘트레이드 오프 관계’라고 한다.
      • 예) 최초로 파일을 연 사람이 있으면 다른 사람은 열 수 없다.
      • 예) 최초로 파일을 연 사람이 있으면 다른 사람은 읽기(read)만 가능하다.
      • 예) 어떤 사람도 파일을 열 수가 있으며 나중에 갱신을 한 쪽이 반영된다. 이를 더티 쓰기(Dirty Write) 라고 하며, 이런식의 제어는 데이터 무결성 관점에서 기피하는 경향이 있다.
  • 장애 대응
    • 데이터베이스는 좀처럼 부서지기 어렵고, 부서졌어도 복원할 수 있다.
    • 데이터 다중화 : 데이터를 한 곳이 아니라 복수의 장소에 분산해서 유지하는 것이다. 이로써 데이터가 완전하게 소실되는 것을 예방한다.
    • 백업 : 데이터 소실이 발생했을 때 데이터를 복원하는 방법으로 ‘사후 대책’이라 할 수 있다.
  • 보안
    • 데이터 베이스는 사용자로부터 가능한 보이지 않게 설곋된다. 이유는 크게 두 가지이다.
      • 첫째, 사용자는 서버를 의식할 필요가 없다. 사용자가 이용하는 서비스는 클라이언트이기 때문에 서버에 배치된 데이터베이스를 조작하는 일은 없다.
      • 둘째, 데이터베이스는 기밀성이 높다. 데이터베이스에 들어있는 데이터는 기밀성이 지극히 높아서 일반에 공개할 수 없는 내용이 상당수 포함되어 있다.
  • 데이터 베이스의 종류
    • 계층형 데이터베이스 : 데이터를 계층 구조로 관리하는 데이터베이스이다. 조직도나 전체 구조도를 상상하면 이미지가 쉽게 잡힌다.
    • 관계형 데이터베이스 : 2차원 표 형식으로 데이터를 관리하는 데이터베이스로 현재 가장 주류를 이루고 있다.
    • 객체 지향 데이터베이스 & XML 데이터 베이스 : 각각 ‘객체’와 ‘XML’이라는 형식으로 데이터를 관리하는 데이터베이스이다.
    • NoSQL : Not only SQL 로써 관계형 데이터베이스를 만들기 위한 SQL 뿐만 아니라 다른 것이 더 있다라는 의미이다. 관계형 데이터베이스에 있는 일부 기능을 버려서 성능(처리 속도)를 높이고 있다. 대량의 데이터를 고속으로 처리해야하는 웹 서비스에서 자주 사용된다.

Categories:

Updated:

Leave a comment