반응형
길어지는 취준 기간...공부로 멘탈 잘 잡아보자!
감사하게도 유튜버 '나무소리'님께서 무료로 강의를 올려주셨다...영상을 기반으로 공부하며 개인적인 이해를 돕도록 위하여 내용을 추가해보려고 한다.
나무소리님의 강의 재생목록은 밑에서 링크로 공유하겠다. 필요하신 분들은 방문해서 유익을 얻으시길 바란다.
개요
- 영속성: 영원히 계속되는 성질이나 능력
- 트랜잭션 ACID 중 D=Durability와 직결된다.
- Durability: 커밋이 성공하면 전원이 나가도 데이터가 살아 있어야 한다.
- 영속화: 어플리케이션의 상태와 상관 없도록 물리적인 저장소를 이용해 데이터를 저장하는 행위
- 어플리케이션의 상태와 상관 없도록
- 어플리케이션(프로그램)이 실행 중일 때만 유지되는 데이터가 있다(예: 메모리에 올려둔 객체, 변수 값, 캐시에 임시로 담긴 데이터 같은 것들). 이런 데이터는 어플리케이션이 종료되면 전부 사라지므로 어플리케이션의 상태에 따라 데이터의 존재가 좌우된다.
- 영속화는 그 한계를 깬다. 어플리케이션 프로그램이 꺼져도, 서버가 재부팅 되어도 데이터가 살아남도록 한다.
- 물리적인 저장소를 이용
- 데이터를 메모리(RAM)이 아니라, 영구 보관 가능한 매체에 저장한다는 뜻이다.
- 대표적인 물리적 저장소로는 데이터베이스, 파일 시스템(하드디스크/SSD), 클라우드 스토리지(S3 등)가 있다.
- 어플리케이션의 상태와 상관 없도록
- 영속화 방식: 데이터를 어떤 공간에 어떤 형태로 저장할 것인지에 따라 상이함
- RDBMS에 데이터를 저장하려면 SQL을 이용해 데이터를 영속화 해야 함
JDBC(JAVA DATABASE CONNECTIVITY) API

- 자바 어플리케이션에서 데이터베이스에 접근하는 방법: 기본적인 JDBC 인터페이스를 통한 방법
- JDBC 인터페이스: 자바 어플리케이션과 데이터베이스의 소통을 위한 기능들을 정의하고 있음
- JDBC는 어플리케이션과 DB를 연결해 SQL을 실행하고 결과를 받아온다.
- DBMS 종류가 달라도 어플리케이션은 JDBC API만 알면 된다(각 DBMS 벤더(제조사)가 자기 DB에 맞는 JDBC 드라이버를 제공).
- 각 데이터베이스 제조사들은 JDBC 인터페이스를 구현하는 클래스들을 제공, 이를 드라이버라고 함
- DBMS의 데이터 관리는 SQL을 통해 이루어짐
- 순수 JDBC를 적용하여 데이터를 관리할 경우 자바 코드와 SQL 코드를 동일한 파일에서 관리하게 됨
- 자바 소스 파일(DAO/Repository 클래스) 안에 SQL 문자열이 그대로 들어와서, 자바 코드와 SQL을 한 파일에서 같이 관리하게 된다.
https://youtube.com/playlist?list=PLOSNUO27qFbvzGd3yWbHISxHctPRKkctO&si=nQz9QgtcruB4us5c