[교재] 데이터베이스 첫걸음 1장 - 데이터베이스란?

hwwwa·2023년 1월 12일
0

1장 데이터베이스란 - 용도와 역할

  • 대량의 데이터를 효율성 높게 보존하여 이용하기 쉽게 애플리케이션을 제작하려면 데이터 관리에 특화된 데이터베이스가 매우 중요
  • 문자나 숫자 같은 언어 데이터뿐만 아니라 그림이나 동영상 같은 비언어 데이터도 데이터베이스로 관리

데이터베이스의 기본 기능

데이터의 검색과 갱신

  • 검색: 원하는 데이터 찾기. 참조 또는 추출
  • 갱신: 새로운 데이터 등록, 기존 데이터 수정, 불필요한 데이터 제거

동시성 제어 (또는 배타 제어)

  • 데이터베이스를 복수의 사용자가 동시에 공유하고 이용하려고 한다면 같은 데이터를 갱신하는 상황에 대한 제어 필요
  • trade off 관계: 어느 사용자에게는 괜찮은 동시성 제어가 다른 사용자에게는 불편할 수 있음
  • 일반적인 동시성 제어
    • 최초로 파일을 연 사람이 파일을 열고 있다면 다른 사람은 파일을 열 수 없음
    • 최초로 파일을 연 사람이 파일을 열고 있다면 다른 사람은 파일을 읽기 전용으로만 열 수 있음
  • Dirty Write
    • 모든 사람이 파일을 여는 것이 가능하고 나중에 수행된 쪽의 갱신이 반영됨 -> 데이터 무결성에 문제 발생

장애 대응

  • 데이터 다중화: 데이터를 복수의 장소에 분산하여 유지. 데이터가 완전히 소실되는 것을 막는 예방책
  • 백업: 데이터 소실 시 데이터 복원법. 사후대책

보안

  • 데이터베이스는 사용자로부터 가능한 보이지 않게 설계
  • 사용자가 서버의 데이터베이스 등을 조작하는 것은 시스템 결함 -> 보안 구멍
  • 데이터베이스의 데이터는 기밀성이 높아 일반에 공개할 수 없는 내용이 상당수 포함됨

데이터베이스의 종류

  • 계층형 데이터베이스: 데이터를 계층 구조로 관리
  • 관계형 데이터베이스: 데이터를 2차원 표 형식으로 관리
  • 객체지향 데이터베이스: 데이터를 객체 형식으로 관리
  • XML 데이터베이스: 데이터를 XML 형식으로 관리
  • NoSQL 데이터베이스
    • NoSQL: Not only SQL
    • 관계형 데이터베이스의 일부 기능을 버려 성능(처리속도)를 높임
    • 대량의 데이터를 고속으로 처리해야 하는 웹 서비스와 잘 맞음
    • 자세한 내용은 NoSQL이란? 글 참고

0개의 댓글