반응형
1. 애플리케이션 서버와 DB의 일반적인 사용법의 문제점
- 데이터베이스를 다른 종류의 데이터베이스로 변경하면 애플리케이션 서버에 개발된 데이터베이스 사용 코드도 함께 변경해야 한다
- 개발자가 각각의 데이터베이스마다 커넥션 연결, SQL 전달, 그리고 그 결과를 응답 받는 방법을 새로 학습해야한다
2. JDBC개념과 나온 이유는?
- 위 1번과 같은 문제를 해결하기 위해 JDBC라는 표준 인터페이스가 나왔다.
- JDBC(Java Database Connectivity) : 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API다
- 애플리케이션 로직은 이제 JDBC 표준 인터페이스에만 의존한다.
- 따라서 데이터베이스를 다른 종류의 데이터베이스로 변경하고 싶으면 JDBC 구현 라이브러리만 변경하면 된다
- JDBC 드라이버: 이 JDBC 인터페이스를 각각의 DB 벤더(회사)에서 자신의 DB에 맞도록 구현해서 라이브러리로 제공하는데, 이것을 JDBC 드라이버라 한다.
- 따라서 다른 종류의 데이터베이스로 변경해도 애플리케이션 서버의 사용 코드를 그대로 유지할 수 있다.
3. JDBC 표준화의 한계
- 데이터베이스를 변경하면 JDBC 코드는 변경하지 않아도 되지만 SQL은 해당 데이터베이스에 맞도록 변경해야한다.
- 각각의 데이터베이스마다 SQL, 데이터타입 등의 일부 사용법 다르다.
- ANSI SQL이라는 표준이 있기는 하지만 일반적인 부분만 공통화했기 때문에 한계가 있다.
- JPA(Java Persistence API)를 사용하면 이렇게 각각의 데이터베이스마다 다른 SQL을 정의해야 하는문제도 많은 부분 해결할 수 있다.
반응형