DB

[DB] JDBC vs JNDI 비교

고구마맨 2025. 8. 19. 13:06
반응형

✅ 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