본문 바로가기

데이터4

네트워크 출력과 대역폭의 차이 데이터베이스를 다루다보면 아래와 같이 Mbps 와 같은 것을 본적이 있을 것이다. 이때 Mbps가 무엇을 의미하는 것인지 알아본다. 네트워크 출력과 대역폭의 차이 BPS 란? 먼저 BPS란 Bits Per Second의 약자로 초당 전송되는 비트 수를 의미한다. 그럼 위에서 보았던 네트워크: 4,750Mbps가 의미하는 것은 무엇일까? 네트워크 출력과 대역폭 네트워크: 4,750Mbps를 이해하기 위해서는 네트워크 출력과 대역폭을 이해하면 된다. 네트워크 출력(또는 출력률, 쓰루풋)은 얼마나 많은 데이터가 단위 시간 내 목적지에 전달될 수 있는지에 대한 지표로 사용된다. 쉽게 말해 얼마의 데이터가 1초 동안 전달되는지를 나타내는 것이며, 기본적인 출력률의 단위로 bps를 사용한다. 위에서 본 Mbps의 .. 2023. 8. 2.
JPA - save() & saveAll() 성능 비교 분석 JPA를 사용하면 데이터를 저장할 때 save와 saveAll 함수를 사용하여 데이터를 저장할 수 있다. 두가지 함수의 차이는 데이터를 한번에 한 개를 저장하느냐 N개를 저장하느냐의 차이다. 만약 10개를 데이터를 저장해야 될 때 save()를 통해 데이터를 10번 저장하는 것과 saveAll()을 통해 한번에 데이터를 저장하는 것이 성능적으로 어떻게 차이가 있을지에 대한 궁금점을 해결하기 위한 글이다. save() vs saveAll() 성능 비교 분석 save() vs saveAll() 성능 테스트 거두절미하고 바로 N개의 데이터에 대하여 save()와 saveAll()에 두가지 함수에 대해서 성능을 측정해본다. 성능 테스트 코드는 아래 코드를 참고하자. @Test @Transactional fun .. 2023. 5. 27.
카프카 개념 정리(4) - 카프카는 데이터를 어떻게 저장하고 읽어오는가? 이번 시간에는 카프카에서 데이터를 어떻게 저장하고 읽어오는지에 대해서 정리한다. 카프카 개념 정리(4) - 카프카는 데이터를 어떻게 저장하고 읽어오는가? 데이터를 어떻게 저장하는가? 카프카에서는 데이터를 구분하기 위한 단위로 토픽이라는 용어를 사용하고 이곳에 데이터를 저장한다. 토픽의 이름은 249자 미만의 영문, 숫자, . , _ , - 를 조합하여 만들 수 있으며 여러 서비스에서 공통으로 카프카 클러스터를 사용하게 된다면 토픽명으로 구분을 주는 것이 좋다. 그리고 각 토픽은 1개 이상의 파티션으로 나뉘어지며 프로듀서가 보낸 메시지를 파티션에 분산하여 저장하게 된다. 파티면 마다 메시지가 저장되는 위치를 오프셋이라고 한다. 오프셋의 특징으로는 파티션 내에서 유일하고 순차적으로 증가하는 숫자(정수) 형태.. 2022. 12. 28.
자바 ORM 표준 JPA 프로그래밍 - JPA 정리하기 (12) 스프링 데이터 JPA 자바 ORM 표준 JPA 프로그래밍 - JPA 정리하기 (12) 스프링 데이터 JPA 12.1 스프링 데이터 JPA 소개 스프링 데이터 JPA는 스프링 프레임워크에서 JPA를 편리하게 사용할 수 있도록 지원하는 프로젝트 데이터 접근 계층을 개발할 때 구현 클래스 없이 인터페이스만 작성해도 기본적인 CRUD 개발 완료할 수 있음 리포지토리 인터페이스의 구현체는 애플리케이션 실행 시점에 스프링 데이터 JPA가 생성해서 주입해준다. 12.1.1 스프링 데이터 프로젝트 스프링 데이터 프로젝트는 JPA, 몽고 디비, 레디스, 하둡 등과 같은 다양한 데이터 저장소에 대한 접근을 추상화해서 개발자 편의를 제공하고 지루하게 반복하는 데이터 접근 코드를 줄여준다. 스프링 데이터 JPA 프로젝트는 JPA에 특화된 기능을 .. 2022. 11. 6.