일단 해보고, 아니면 뭐

실패했어도 배웠으면 실패가 아냐.

무한한 개발세계 여행기

rdbms 2

JPA / Hibernate / Spring Data JPA

사용하는 기술에 대한 정확한 개념을 가지고 있는 것이 좋은 코드의 시작점이라고 생각한다. 그래서 나는 내가 사용하는 기술들 중에 여태까지 헷갈렸던? 기술들 세가지(JPA / Hibernate / Spring Data JPA)의 차이점을 정리해보았다. 1. JPA JPA는 기술명세이다. JPA는 Java Persistence API의 약자로, 자바 애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. 여기서 중요한 것은 말 그대로 인터페이스라는 점이고, 특정 기능을 하는 라이브러리가 아니라는 점이다. 2. Hibernate Hibernate는 JPA라는 명세의 구현체이다. 즉, 위에서 언급한 JPA의 인터페이스를 직접 구현한 라이브러리이다. "Hibernate는 JPA의 구현체이다"..

Programing/Jpa 2022.05.30

Index & Composite Index 잘 사용하기

개발을 하다 보면 RDBMS에 보관되는 데이터가 많아지고, 그러다 보면 쿼리에 따라 검색 속도가 느려지는 경우를 많이 마주치게 된다. 그런 경우에는 대부분 검색 용도로 자주 사용되는 칼럼에 Index를 걸어 검색 속도를 향상하게 될 것이다. 나 또한 그런 방식으로 사용하곤 하는데, 과연 Index가 무엇이고 어떤 원리이길래 이런 경우에 사용되게 되는지 궁금해졌고 어떻게 써야 좀 더 효율적으로 사용할 수 있을지 궁금해졌다. Index란? 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상하기 위한 자료구조이다. 임의의 데이터를 찾기 위해 테이블의 모든 데이터를 검색하면 시간이 오래 걸리기 때문에 데이터와 데이터의 위치를 포함한 자료구조를 생성하여 빠르게 조회할 수 있게 도와준..

Database/RDBMS 2022.05.26