카
카카오페이
December 9, 20221회
[if kakao 2022] Batch Performance를 고려한 최선의 Aggregation
간단 소개
기존 통계 배치의 GroupBy+SUM 쿼리 의존성 문제를 Redis를 활용한 새로운 아키텍처로 개선하여 성능을 향상시킨 사례를 소개합니다.
AI Summary
- 기존 통계 배치의 문제점
- 기존 방식은 GroupBy+SUM 쿼리에 의존하여 DB 부하를 증가시키고, 쿼리 튜닝이 어렵다.
- 데이터 증가에 따라 카디널리티 변화로 실행 계획이 변경될 수 있으며, 인덱스 추가는 성능 저하 및 저장 용량 증가를 초래한다.
- 새로운 아키텍처: Redis 활용
- Redis를 중간 저장 공간으로 활용하여 직접 Aggregation하는 방식으로 변경한다.
- hincrby, hincrbyfloat와 같은 O(1) 연산 명령어를 통해 빠른 누적 연산을 수행하고, 충분한 메모리 공간을 확보한다.
- Redis Pipeline을 사용하여 네트워크 I/O를 줄여 Redis 호출 횟수를 최소화한다.
- 결론 및 효과
- 새로운 아키텍처는 DB 의존도를 낮추고 성능을 개선한다.
- 복잡한 쿼리, 인덱스 추가 어려움, 많은 데이터 등의 상황에서 효과적이다.
- 단순한 GroupBy 쿼리는 RDBMS에 위임하는 것이 더 효율적일 수 있다.
Next Feeds
[if kakao 2022] Batch Performance를 고려한 최선의 Reader
카카오페이의 대량 데이터 처리를 위한 최적의 ItemReader 구현 경험 공유: ZeroOffsetItemReader와 ExposedCursorItemReader를 소개하고 성능을 비교 분석합니다.
Batch PerformanceItemReaderZeroOffsetItemReaderExposedCursorItemReaderChunk Processing
2022. 12. 9.
카카오페이
[if kakao 2022] 사례로 보는 모바일 자동화 테스트를 통한 모니터링
카카오페이의 모바일 자동화 테스트 환경 구축 및 모니터링 프로세스, 장애 발생 사례를 통한 효율적인 이슈 파악 및 처리 과정 소개.
자동화 테스트모바일 테스트Device FarmJenkins카카오페이
2022. 12. 9.
카카오페이
ㄷㄷㄷ: Domain Driven Design과 적용 사례 공유 / if(kakao)2022
카카오엔터테인먼트의 MSA 전환 사례로, DDD 적용 배경, 핵심 개념, Hexagonal Architecture, 그리고 적용 후 과제와 효과를 분석합니다.
DDDMSAHexagonal ArchitectureBounded-ContextAggregate
2022. 12. 9.
카카오엔터테인먼트FE
Technical Writing: 글로 하는 의사소통 / if(kakao)2022
테크니컬 라이팅의 중요성과 원칙을 소개하고, 효과적인 정보 전달을 위한 글쓰기 방법을 제시합니다.
테크니컬 라이팅글쓰기의사소통정보 전달문서화
2022. 12. 9.
카카오엔터테인먼트FE
섬세한 ISFP의 코드 가독성 개선 경험 / if(kakao)2022
ISFP 개발자의 코드 가독성 개선 경험을 바탕으로, 정확한 단어 선택과 코드 형태 개선을 통해 가독성을 높이는 방법을 제시합니다.
코드 가독성ISFP단어 선택코드 형태유지보수
2022. 12. 9.
카카오엔터테인먼트FE

무형상품 서비스에 캐시 적용하기
무형상품 서비스에 ElastiCache를 적용하여 캐시 전략을 구현하고 Spring Boot를 활용해 효율적인 캐싱 시스템을 구축하는 과정을 설명합니다.
캐시ElastiCacheRedisSpringBootCacheable
2022. 12. 8.
올리브영