prisma를 공부하기 전에 ORM이 라는 개념이 나와서 공부해보려고 쓴 글이다.
ORM은 Object Relational Mapping
의 약자로 객체와 관계형 데이터를 이어주는 중재자 역할을 한다.
기본적으로 object와 relation data base는 여러면에서 다르다(mismatch)
잘은 모르겠지만 일단 이해한대로 정리해보려고 한다. 일단 아래 그림을 보자.
왼쪽이 객체이고 오른쪽이 테이블 데이터 이다. 이 테이블에 저장되어 있는 데이터와 객체를 연결해주는게 ORM이다.
크게 아래 처럼 다섯가지 이유로 불일치가 일어난다. 그러나 제대로 이해하면 그때 더 자세히 적어보려고 한다.
query language가 아닌 객체 메소드를 이용하여 코드를 작성해 데이터에 접근하는게 가능
하다.
그래서 시간이 단축되고 디자인패턴도 적용
할 수 있다.
또한, 캐싱과 트랜잭션이 가능하다.
트랜잭션은 어떤 작업을 하기 위해 필요한 연산들의 집합을 말한다. 캐싱과 트랜잭션을 통해 여러가지 데이터베이스 작업을 동시에 처리가능하며 이를 통해 퍼포먼스가 향상된다고 한다.
그러나 무슨 말인지 잘 이해가 가지 않는다.(추후, 업데이트 예정)
출처: https://javabydeveloper.com/orm-object-relational-mapping/#impedance-mismatch
개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.