Skip to main content
QUICK REVIEW

[논문 리뷰] Performance Comparison of Persistence Frameworks

Sabu M. Thampi, Ashwin A. K|ArXiv.org|2007. 10. 07.
Software Engineering and Design Patterns참고 문헌 2인용 수 6
한 줄 요약

이 논문은 단일 및 다중 사용자 워크로드 하에서 은행 데이터베이스를 대상으로 히버네이트와 iBATIS SQLMaps라는 두 가지 인기 있는 자바 퍼시스턴스 프레임워크의 성능을 평가한다. iBATIS SQLMaps는 더 직접적인 SQL 실행 방식과 낮은 런타임 오버헤드 덕분에 응답 시간과 처리량 측면에서 히버네이트를 능가하며, 특히 고병렬 환경에서 두각을 나타낸다.

ABSTRACT

One of the essential and most complex components in the software development process is the database. The complexity increases when the "orientation" of the interacting components differs. A persistence framework moves the program data in its most natural form to and from a permanent data store, the database. Thus a persistence framework manages the database and the mapping between the database and the objects. This paper compares the performance of two persistence frameworks ? Hibernate and iBatis?s SQLMaps using a banking database. The performance of both of these tools in single and multi-user environments are evaluated.

연구 동기 및 목표

  • 실제 데이터베이스 워크로드 하에서 널리 사용되는 두 자바 퍼시스턴스 프레임워크인 히버네이트와 iBATIS SQLMaps의 성능을 평가하고 비교하는 것.
  • 각 프레임워크가 단일 사용자 및 다중 사용자 환경에서 데이터 영속성 처리 방식을 어떻게 다루는지 분석하는 것.
  • 객체-관계 매핑 및 SQL 실행 전략의 성능 저하 요인과 효율성 차이를 규명하는 것.
  • 기업용 데이터베이스 애플리케이션에서 성능 특성에 기반한 프레임워크 선택을 위한 실증적 근거를 제공하는 것.

제안 방법

  • 실제 거래 워크로드를 시뮬레이션하기 위해 표준화된 은행 데이터베이스 스키마를 사용한다.
  • 통제된 벤치마킹을 통해 단일 사용자 및 다중 사용자 부하 조건 하에서 성능을 측정한다.
  • 트랜잭션 실행 동안 응답 시간, 처리량, 자원 활용도 기반으로 프레임워크를 평가한다.
  • 성능 차이를 설명하기 위해 SQL 실행 계획과 객체-관계 매핑 오버헤드를 분석한다.
  • 외부 시스템 변수로부터 프레임워크 동작을 분리하기 위해 벤치마킹 환경을 구성한다.
  • 데이터 수집 및 분석은 평균 응답 시간, 초당 트랜잭션 수와 같은 측정 가능한 지표에 집중한다.

실험 결과

연구 질문

  • RQ1단일 사용자 워크로드 하에서 히버네이트와 iBATIS SQLMaps의 응답 시간은 어떻게 비교되는가?
  • RQ2다중 사용자 환경에서 히버네이트와 iBATIS SQLMaps의 처리량 차이는 무엇인가?
  • RQ3각 프레임워크에서 객체-관계 매핑 오버헤드가 성능에 미치는 영향은 어떠한가?
  • RQ4증가하는 병행성 하에서 어느 프레임워크가 더 우수한 확장성을 보여주는가?
  • RQ5직접적인 SQL 실행과 동적 쿼리 생성 간의 역할이 성능 차이에 어떤 영향을 미치는가?

주요 결과

  • iBATIS SQLMaps는 단일 사용자 및 다중 사용자 환경 모두에서 히버네이트보다 유의미하게 낮은 평균 응답 시간을 기록했다.
  • iBATIS SQLMaps는 다중 사용자 부하 하에서 히버네이트보다 초당 더 많은 트랜잭션을 처리하는 데 성공했다.
  • 히버네이트는 동적 프oxy 생성과 반사 기반 매핑을 광범위하게 사용함에 따라 더 높은 런타임 오버헤드를 보였다.
  • 병행성 증가에 따라 두 프레임워크 간 성능 격차가 커졌으며, 이는 iBATIS SQLMaps 유리하게 작용했다.
  • iBATIS SQLMaps의 직접적인 SQL 실행 모델은 지연 시간을 감소시키고 트랜잭션 처리의 예측 가능성을 향상시켰다.
  • 히버네이트의 추상화 계층은 개발에 더 유용하지만, 고부하 환경에서는 측정 가능한 성능 저하를 유발했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.