사이드 프로젝트 진행 시, typeorm을 사용하게 되었는데, 왜 사용하게 되었는지 디테일한 추가적인 부분을 멘토링하면서 생각하게 되어 글을 작성하게 되었다.
그렇다면 typeorm을 썼을 때 장점과 단점 pg를 쓰는 장점과 단점을 알아보도록하자.
- pg의 장점
- 직접 SQL 쿼리를 작성하기 때문에 추가적인 추상화 계층이 없다. 빠른 실행속도가 장점이다.
- 사용자가 직접 SQL 쿼리를 사용하기 때문에 복잡한 쿼리를 구현할 수 있다.
- 단점
- 개발 속도가 느리다는 것. 쿼리를 일일이 직접 작성해야하기 때문에 개발시간이 걸린다.
- 수정해야한다면, 유지보수할 때 일일이 쿼리를 수정해야하기때문에 어렵다.
- typeorm의 장점
- 데이터베이스 작업을 위해 메서드를 사용하여 CRUD 작업에 빠른 개발 속도를 가져올 수 있다.
- 타입스크립트와 통합되어 있어 타입 안정성을 확보한다.
- 다양한 데이터베이스와 호환할 수 있다.
- 단점
- 속도가 pg보다는 성능이 떨어질 수 있다.
- 복잡한 요구사항에는 쿼리를 작성할 수 없어 제약이 있다.
사이드 프로젝트에서는 복잡한 쿼리가 없기도하고, pg와의 속도에 대해서 생각을 하지 않고, 만드는 데에 집중했기 때문에 pg를 깔아두고 쓰질 않았었는데, 속도에 대한 생각을 해본 적이 없었다. 실제 npm에서도 77.kb로 pg가 용량이 압도적으로 작기도 한데, 다음에는 실습이나 다음 프로젝트에는 Pg를 사용해보고 api 테스트를 직접해보아서 속도가 얼마나 차이나는 지 확인해봐야겠다.