반응형
✅ JDBC vs JNDI 비교
🔌 커넥션 관리
- JDBC: 개발자가 코드에서 직접 커넥션을 생성하고 관리합니다.
→ 연결 방식이 명시적이며 유연하지만, 반복되는 설정이 많고 복잡할 수 있습니다. - JNDI: WAS(Web Application Server)에서 커넥션을 중앙에서 관리합니다.
→ 커넥션 풀 사용으로 성능과 관리 효율이 향상됩니다.
⚙️ DB 설정
- JDBC: 애플리케이션 코드에서 DB 정보를 직접 설정해야 합니다.
→ 환경이 바뀔 때마다 코드 수정이 필요합니다. - JNDI: 설정된 DataSource를 참조만 하면 되므로 매우 간단합니다.
🧩 가용성
- JDBC: 예외 처리를 포함한 DB 커넥션 관련 처리를 개발자가 직접 구현해야 합니다.
→ 다양한 예외에 대비해 방어 코드를 추가해야 합니다. - JNDI: 대부분의 예외 처리 및 자원 관리는 WAS에서 자동 처리됩니다.
🔧 운영 및 유지보수
- JDBC: DB 변경 시 코드 수정이 불가피합니다.
→ 운영환경에 따라 배포 리스크 존재. - JNDI: WAS 설정만 변경하면 되므로 애플리케이션을 수정하지 않아도 됩니다.
→ 운영 환경에 따라 유연한 대응이 가능합니다.
💡 추가 장점 (JNDI)
- 다중 DB 환경에 유리: 여러 DB를 사용할 경우, JNDI를 통해 손쉽게 커넥션 풀을 구성하고 관리할 수 있습니다.
✅ 정리
- JDBC는 개발자가 모든 것을 직접 컨트롤해야 하는 반면,
- JNDI는 운영 효율성과 유지보수를 고려한 방식입니다.
프로젝트 초기에는 JDBC가 직관적일 수 있지만, 규모가 커질수록 JNDI의 장점이 두드러집니다.
반응형
'DB' 카테고리의 다른 글
| [SQL ERROR 1054] unknown column '컬럼명' in 'field list' 해결 (0) | 2023.01.27 |
|---|