cheese10yun / blog-comment

0 stars 0 forks source link

Exposed - Yun Blog | 기술 블로그 #54

Open utterances-bot opened 2 years ago

utterances-bot commented 2 years ago

Exposed - Yun Blog | 기술 블로그

Yun Blog | 기술 블로그

https://cheese10yun.github.io/exposed/

soohyun0131-lee commented 2 years ago

안녕하세요, 좋은 글 감사합니다.

혹시 Exposed를 도입하시게 되면 해당 프로젝트에서의 모든 orm을 JPA에서 Exposed로 변경하셨는지가 궁금합니다. 저도 지금 batch insert 문제로 Exposed를 도입할지 검토 중인데, 레거시 코드가 많은 프로젝트여서 Exposed로 완전히 전환해야 할지 아니면 가능하다면 필요한 부분만 ORM 두개(jpa+exposed)로 갈 수 있을지 고민되어서요.

다시 한 번 좋은 글 감사합니다!

cheese10yun commented 2 years ago

ORM 관련된 코드들은 JPA를 유지하고 있습니다. Exposed도 ORM이긴 하지만 ORM 형태로 사용하는 것은 아니라 DSL 으로만 사용하고 있습니다.

ORM은 대부분의 환경에는 매우 적합하지만, 대용량 처리하는 부분에 대해서는 (Batch Insert 뿐만 아니라) ORM이 적절한 솔루션이 아니라고 생각이 들어 Exposed를 ORM 성격으로 사용하지 않고 있습니다.

제 개인적인 생각은 Batch Insert를 특정 시점에서만 해야겠다고 하시면 Statement addBatch() 기반으로 하시는 것을 권장드립니다. 이 내용은 Batch Insert 성능 향상기 2편 - 성능 측정포스팅에 정리한 적이 있습니다.

Exposed Batch Insert를 위해서만 도입하기에는 적절한 도구가 아니라고 생각 합니다. 그러지 않고 Exposed에서 사용하는 것들을 적극 사용하고 싶다면 Exposed + JPA를 선택적으로 사용하는 것이 더 바람직 하다고 생각합니다.

ORM으로 사용하고 싶은 경우는 Exposed는 그렇게 좋은 대안이라고 생각하지 않습니다.

soohyun0131-lee commented 2 years ago

친절한 답변 감사합니다! 작성해 주신 글 덕에 도움 많이 받았습니다.