구분JPAHibernateSpring Data JPA개념Java Persistence API의 약자로, 자바 표준 ORM (인터페이스)JPA의 구현체 중 하나 (가장 많이 사용됨)JPA/Hibernate를 더 쉽게 사용하도록 도와주는 스프링 모듈역할ORM(Object Relational Mapping) 표준을 정의하는 인터페이스JPA의 표준을 구현한 프레임워크 (구현체)JPA/Hibernate를 추상화하여 개발 생산성을 높이는 스프링 프레임워크사용 방식직접 EntityManager 사용하여 쿼리 실행JPA의 기능을 제공하고, 추가적인 캐싱, 성능 최적화 기능 제공Repository 인터페이스만 정의하면 자동으로 CRUD 메서드 제공코드 복잡도비교적 많음 (직접 EntityManager 사용)JPA와 비슷..
R2DBC R2DBC 정의R2DBC (Reactive Relational Database Connectivity)는 이름 그대로 관계형 DB에서 reactive programming을 가능하게 해주는 데이터베이스 접근 API다.R2DBC의 등장 배경 그리고 장점R2DBC는 적은 스레드로 동시성을 처리하고 더 적은 하드웨어 리소스로 확장할 수 있는 논블로킹(non-blocking) 어플리케이션 스택이 필요해지면서 등장했다.기존에 많이 쓰이던 관계형 데이터베이스 접근 API는 주로 JDBC였다. 그러나 JDBC는 블로킹(blocking) API 였고, ThreadPool로 블로킹 동작을 절충하려고 해도 완전한 논블로킹 서비스를 구축할 수 없었다.또한 몇몇 NoSQL 드라이버가 자체 Reactive Datab..
고성능 분산 이벤트 스트리밍 플랫폼(distributed event streaming platform)Apache Kafka는 여러 대의 분산 서버에서 대량의 데이터를 처리하는 분산 메시징 시스템입니다. 카프카는 링크드인에서 최초로 개발되었으며, 현재는 아파치 재단에서 오픈소스로 관리하고 있습니다. 메세지 큐 (Message Queue, MQ) 란?메시지 큐는 메시지 지향 미들웨어(MOM : Message Oriented Middleware)를 구현한 시스템으로 프로그램(프로세스) 간의 데이터를 교환할 때 사용하는 기술이다.메시지 지향 미들웨어(Message Oriented Middleware:MOM)는 비동기 메시지를 사용하는 각각의 응용프로그램 사이의 데이터 송수신을 의미하고, **이를 구현한 시스템..