Contents
JDBC란?JDBC란?
JDBC(Java Database Connectivity)는 Java 기반 애플리케이션의 데이터를 데이터베이스에 저장 및 업데이트하거나, 데이터베이스에 저장된 데이터를 Java에서 사용할 수 있도록 하는 자바 API이다.

툴과 DBMS에서 통신을 하려면 서로 버퍼가 있어야 한다.

우리는 툴을 통해 DBMS에 IP, Port, Protocol, ID, PW를 보내준다.
서버소켓은 연결요청을 받고 새로운 소켓을 만들어낸다.
그럼 그 소켓과 우리의 소켓을 연결한 것이다.
연결됐을 때를 “세션이 만들어졌다” 라고 한다.
이 때, DBMS는 리스너의 역할을 하는 서버소켓, 그 서버소켓이 연결요청을 받아 프로토콜에 맞게 만든 소켓을 가지고 있기 때문에 총 2개의 스레드를 가지고 있다.

이제 버퍼에 Select문으로 데이터를 받는 쿼리문을 보냈다고 가정하자.
그럼 우리는 write버퍼로 보냈을 것이고 DBMS의 소켓은 read버퍼로 읽을 것이다.
읽으면 데이터가 있는 HDD로 가는데, RAM을 통해 간다.
HDD에는 DBS이라는 영역이 나누어져 있는데, 여기서 데이터를 찾아서
write버퍼로 우리에게 반환해준다.
그럼 우리는 read버퍼로 반환값을 읽을 것이다.

만약 비교적 최근에 건든 데이터라면 RAM에 남아있을 것이다.
상대적으로 가까운 데서 데이터를 찾는 것을 캐싱이라고 하는데,
RAM의 캐싱메모리에 남아있는 데이터를 가져올 수가 있다.
즉, RAM에 캐싱메모리가 있으면 RAM이 HDD랑 I.O를 할 필요가 없다.
그러면 DBMS가 HDD까지 I.O하는 과정이 줄어든다.
이것이 가장 좋은 알고리즘이다.
Share article