[Spring] 스프링 입문 공부5 !

석연걸·2025년 1월 31일

스파르타 코딩클럽

목록 보기
13/17

DataBase (DB)

DBMS

  • DB를 관리하고 운영하는 시스템
  • 데이터를 정의, 저장, 수정, 삭제, 조회 등의 작업을 효율적으로 수행할 수 있게 해준다.
  • 다수의 사용자들이 동시에 데이터에 접근하고 데이터를 안전하게 관리할 수 있도록 다양한 기능을 제공한다.
  • SQL이라는 언어로 DBMS에 데이터 관리를 요청하면 DBMS가 요청을 처리한다.


  • DBMS 주요 기능
    1. 데이터 정의
      • DB 구조를 정의할 수 있는 기능을 제공한다.

    2. 데이터 관리
      • 데이터를 물리적으로 저장하고 관리하는 역할을 수행한다.
      • 데이터를 저장하기 위한 최적화된 구조와 파일 시스템을 관리한다.
      • 사용자가 데이터를 다룰 수 있도록 쿼리 언어(SQL)을 제공한다.

    3. 데이터 보안
      • 사용자 권환 관리, 암호화, 감사 로그 등을 통해 데이터를 보호한다.

    4. 트랜잭션 관리
      • DBMS는 여러 사용자가 동시에 데이터에 접근할 때, 데이터의 일관성을 유지하기 위한 트랜잭션 관리 기능을 제공한다.
      • ACID 속성 보장
        • Atomicity : 트랜잭션의 모든 작업이 성공적으로 완료되거나, 실패 시 모든 작업이 롤백됨
        • Consistency : 트랜잭션이 DB를 일관된 상태로 유지
        • Isolation : 동시에 실행되는 트랜잭션 간 영향 최소화
        • Durability : 트랜잭션이 완료된 후 데이터의 변경 사항은 영구적으로 저장

    5. 백업 및 복구
      • 정기적인 백업을 통해 데이터를 보호, 장애 발생 시 데이터 복구가 가능

    6. 동시성 제어
      • 다수의 사용자가 동시에 DB에 접근하더라도 데이터 일관성이 유지되도록 동시성 제어를 제공한다.

관계형 DBMS

  • 가장 많이 사용하는 DB
  • 데이터를 테이블 형태로 구조화해 저장하고 관리하는 시스템
  • 테이블 간 관계를 이용해 데이터를 연결한다.
  • ex) Oracle, MySQL 등

JDBC

  • Java 언어로 DB와 상호작용을 하기 위한 자바 표준 인터페이스로 DBMS와 통신하여 CRUD를 할 수 있게 해준다.

  • JDBC 구조

0개의 댓글