본문으로 이동
NVMe 기반 KV 스토리지 성능 개선 - 분산 DB Redicoke 소개 / if(kakao)2022
컨퍼런스

NVMe 기반 KV 스토리지 성능 개선 - 분산 DB Redicoke 소개 / if(kakao)2022

if kakao 카카오 · YouTube

원문 보기

AI 핵심 요약

분산 Key-Value DB REDICOKE는 Redis와 비슷한 높은 쓰기 처리량을 요구받았지만, 파일 기반 인덱스의 쓰기 증폭과 커널 페이지 캐시의 영향으로 부하가 커질수록 TPS가 떨어지고 지연 시간 편차가 커졌다. 이를 해결하기 위해 NVMe에 맞춘 스토리지 엔진을 만들고, Direct I/O와 페이지 정렬, append-only 쓰기를 적용했으며, 메모리 해시 인덱스를 쓰는 mutable 영역과 sparse index·디스크 인덱스를 쓰는 immutable 영역을 구성했다. 새 구조는 8시간 테스트에서 쓰기 처리량을 기존 약 2만 TPS에서 약 17만 5천 TPS로 높였고, 테일 레이턴시와 성능 편차도 줄였다. 스토리지 엔진 교체는 청크 단위 온라인 마이그레이션으로 진행해 사용자 영향을 최소화하도록 했다.

  • 페이지 캐시의 성능 변동이 문제라면 Direct I/O로 커널 캐시를 우회해 지연 시간의 예측 가능성을 높일 수 있다.
  • NVMe에는 페이지 정렬을 지키고 append-only 순차 쓰기를 적용해 쓰기 증폭을 줄이는 설계가 효과적이다.
  • 메모리 제약이 있는 인덱스는 전체를 적재하기보다 sparse index와 디스크 인덱스를 조합해 필요한 I/O를 제한할 수 있다.
  • Bloom filter는 검색 성능 향상뿐 아니라 메모리 사용량과 응답 시간의 일관성까지 고려해 도입 여부를 판단해야 한다.

소개

자체개발한 분산 KeyValue DB인 REDICOKE에 대해 소개하고, 기존 저장 구조에 성능 한계와 개선되는 구조에 대해 공유합니다. Key-Value 데이터에 NVMe 저장에 대한 최적화 고민과 문제를 어떻게 풀었는지 자세히 설명 할 예정입니다. #Redicoke 카카오 분산기술셀에서 다양한 분산 플랫폼을 개발하는 레온입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-30 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

비슷한 학습 자료

컨퍼런스 if kakao

"쿠버네티스 클러스터에 구성된 서비스의 리소스를 어떻게 관리하고 계신가요?" 에서 비롯된 지능형 리소스 최적화 시스템 구축 프로젝트 과정을 소개합니다. 이 영상을 통해 효율적 리소스 관리를 통한 비용절감 방법을 공유합니다. #Kubernetes #리소스최적화 #finops 카카오페이증권 DevOps팀 Steve입니다. 카카오페이증권 서비스들을 위한 플랫폼 구축 및 운영, 표준화를 담당하고 있습니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-74 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024

데브옵스 · 인프라 클라우드

컨퍼런스 if kakao

NIC에서 GPU로 zero copy로 데이터를 보내는 방법을 소개합니다. #Cloud 카카오엔터프라이즈에서 리눅스 커널을 개발하고 있는 Herbert입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-58 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024

네트워크 시스템 · 운영체제

컨퍼런스 if kakao

CNI는 Kubernetes의 필수 컴포넌트입니다. 그러므로 Kubernetes를 개발/운영하는 엔지니어라면 누구나 CNI 이슈를 경험했을 텐데요. CNI Plugin인 Cilium의 메모리 누수 버그를 분석/해결하는 과정에서 얻은 경험과 지식을 공유합니다. 특히 누수 디버깅에 가장 중요한 프로그램의 Stack과 Heap 구조에 대해 알아보고 이를 어떻게 활용하는지 이야기합니다. #Kubernetes #CNI #Cilium #Golang 카카오에서 클라우드 플랫폼을 개발하고 있는 규입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-55 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

데브옵스 · 인프라 시스템 · 운영체제

컨퍼런스 if kakao

수 천만 건 이상의 대량 배치처리를 하기 위한 최고의 노하우를 전달드리겠습니다. 카카오페이 정산플랫폼팀은 카카오페이의 빠른 성장과 더불어 늘어나는 데이터를 일괄처리하기 위하여 꾸준히 노력 하고 있습니다. 더 많은 데이터를 처리하기 위해 진화하는 서비스와 개발방식을 소개하고자 합니다. #BatchPerformance #SpringBatch #SpringCloudDataFlow #Kubernetes #Redis 카카오페이 정산플랫폼팀 베니입니다. 서버 Performance 개선에 관심이 많습니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-065 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

백엔드 데이터베이스 데브옵스 · 인프라

컨퍼런스 if kakao

카카오에는 Redis/Redis Cluster를 설치부터 관리까지 운영을 전문으로 하는 조직이 있습니다. 3000개가 넘는레디스 운영 경험을 바탕으로 Docker Swarm을 기반 구축한 Redis SaaS 플랫폼 구축사례를 공유합니다. #Redis #Swarm 카카오 시스템엔지니어와 레디스 플랫폼 엔지니어를 맡고있는 실비아입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-26 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

데이터베이스 데브옵스 · 인프라

컨퍼런스 if kakao

무중단 확장이 가능한 prometheus 호환 Time series DBMS인 TSCoke에 대한 소개와, 성능 최적화 과정에 대해 소개합니다. #TSCoke 카카오 분산기술셀에서 분산 스토리지 플랫폼을 개발하는 야누 입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-29 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

데이터베이스 데브옵스 · 인프라