[데이터베이스 첫 걸음] 1장 공부 내용 정리

heesang0930 2023. 9. 22. 22:29
728x90
반응형

DB 공부 책!

데이터베이스의 정의

데이터베이스란 어떠한 내용을 저장, 생성, 수정, 삭제할 수 있는 창고와 같은 개념이다.

데이터 베이스의 기능

  • 데이터의 검색과 갱신
    • 넓은 의미에서 갱신은 등록, 수정, 제거
      • 갱신이라고 함은 기존에 있던 데이터를 최신화된 데이터로 변경하는 과정이므로, 새로운 정보를 등록, 기존의 정보를 수정, 기존의 정보를 제거 하여 데이터 베이스를 갱신할 수 있다.
    • 데이터 포맷에 유의한다.
      • 데이터베이스를 조작할 때, 데이터를 어떤 형식으로 저장하는 지는 효율성과 깊은 관계가 있다. 2명의 중복된 이름이 데이터 베이스에 저장되어 있을 때, 다른 사람이라는 것을 알도록 관리해야한다. → “고유성(Uniqueness)”
    • 처리 성능에 유의한다.
      • 적은 양의 데이터를 가지고있는 데이터 베이스보다 더 많은 양의 데이터를 가지고 있는 데이터베이스에서의 속도 향상이 데이터베이스에서의 성능과 성능향상에 대한 고민을 해봐야 한다.
  • 동시성 제어자신의 데이터 베이스를 자신 혼자만 사용하는 경우, 문제 발생 X
    1. 한명이 쓸 때, 다른 인원이 접근한 경우, 열리지 않도록 설정
    2. 읽기 전용으로만 설정
    3. 제한이 없고, 나중에 저장한 사람의 데이터만 갱신
    • 괴로운 트레이드오프의 관계⭐ 트레이드 오프(Trade-Off)란? 어느 사용자에게는 괜찮은 갱신 제어가 다른 사용자에게는 불편한 상황! ⇒ 제로섬 관계?
    • 1번의 케이스가 가장 엄격하고, 3번의 케이스가 가장 느슨하다고 할 수 있다.
  • 하지만, 다수의 인원이 동일한 데이터에 대해서 접근하는 경우, 무결성 원칙에 따라 무결섬을 어느 정도로 보장하는 가에 따라서 여러가지의 경우의 수로 나뉘게 된다.
  • 중요한 기능이라고 생각되는 부분!
  • 장애 대응
    • 장애에 얼마나 강한가? 고장나더라도 쉽게 고칠 수 있는가?
    • 주소록 데이터가 날라간 경우, 사용자가 일일히 하나씩 입력하면 해결 될 수 있지만, 기업 데이터가 유실된 경우, 매우 많은 데이터가 사라지게 되어 업무에 영향을 초래할 수 있다.
    • 이런 장애에 대응하기 위해 2가지의 방법이 존재한다
      • 데이터 다중화 : 한 곳에 데이터를 두는 것이 아니라, 여러 곳에 분산시켜 두는 것
      • ⇒ 사전 대책!
      • 복원 : 소실이 발생했을 때, 데이터를 복원하는 것 ⇒ 사후 대책!
    • 발생하는 이유는 서비스 레벨과 비용의 트레이드오프 딜레마로 고민하여, 돈이 없어서 발생한다…..
  • 보안
    • 데이터 베이스는 보통 사용자에게 보여지지 않는다. ⇒ 2가지 이유
    1. 사용자는 서버를 의식할 필요가 없다.
      1. 보통 사용자는 클라이언트 단의 화면을 통해 데이터베이스를 보기 때문
    2. 데이터베이스는 기밀성이 높다
      1. 데이터베이스에는 개인 정보, 주소, 계좌번호등 비밀스러운 정보들이 들어있기 때문에, 노출 될 경우 커다란 리스크를 지게 된다.

데이터 베이스의 종류

  1. 계층형 데이터 베이스
    1. 계층 구조로 데이터를 관리한다. ex) 조직도, 전체 구조도
    2. 최초의 데이터 베이스 BUT, 아직 현역으로 사용 중
  2. 관계형 데이터 베이스
    1. 표 형식으로 데이터를 관리하는 데이터 베이스 ⇒ 가장 주류픽이다!
    2. 가장 일반적인 데이터 베이스
  3. 객체 지향 데이터 베이스와 XML 데이터 베이스
    1. 객체 또는 XML을 통해 데이터를 관리하는 데이터 베이스 ⇒ 마이너한 픽
  4. NoSQL 데이터 베이스
    1. 최근 핫하게 떠오른다
    2. SQL만이 아닌 다른 방법을 통해 데이터를 저장 ex) 그래프 형
728x90
반응형