TL;DR

  • Valkey 9.2는 데이터베이스 스냅샷 중 쓰기 작업으로 발생하는 메모리 부담을 줄이기 위해 포크 없는 RDB 스냅샷을 도입함.
  • 새 스냅샷 방식으로 스냅샷용 메모리 예약 기준을 대략 50%에서 10~15%로 낮추는 것이 목표임.
  • Path Hash는 접두사 기반 작업을 위한 자료형으로, 대형 언어 모델(LLM) 키-값 캐싱 등 인공지능 작업에 활용될 가능성이 있음.
  • 이번 릴리스에는 더 효율적인 정렬 집합과 새 관리 제어 기능이 포함되며, 인공지능은 코드 작성뿐 아니라 테스트·검토·백포팅에도 활용됨.
  • Valkey 팀은 지원 중인 7개 릴리스의 코드 유지 관리에 자동화를 적용하고 있으며, 지난 6개월간 백포트한 커밋 수가 이전 전체 기간보다 약 8배 많다고 추산함.

Valkey 9.2와 스냅샷 메모리 사용량

  • Valkey는 데이터베이스, 캐시, 메시지 브로커, 스트리밍 엔진으로 쓰이는 오픈 소스 고성능 인메모리 키-값 데이터 저장소임. Linux Foundation이 주관하는 커뮤니티 기반 Redis 포크이며, BSD 3-Clause 허가형 라이선스로 배포됨.
  • Valkey 팀은 11월 릴리스를 준비 중이며, 첫 릴리스 후보인 Valkey 9.2.0-rc1은 9월 16일 공개됨. 이번 버전의 주요 개선 사항은 애플리케이션이 계속 데이터를 쓰는 동안 스냅샷을 저장할 때 필요한 추가 메모리를 줄이는 것임.
  • 핵심 인프라 변경은 자식 프로세스를 만들어 데이터베이스를 저장하는 방식의 선택적 대안인 포크 없는 RDB 스냅샷임. 릴리스 후보에는 forkless-infrastructure-enabled와 bgsave-default-method 설정 옵션이 추가되며, 지속성 정보에 저장 방식과 진행 상황을 보고함.
  • 메모리 부담의 주요 원인은 Linux의 fork() 속도나 데이터베이스 전체를 물리 메모리에서 복제하는 동작 자체가 아님. 스냅샷 저장 중 후속 쓰기가 발생하면 메모리 페이지를 복사해야 하며, 쓰기가 많은 캐시에서는 이 복사 후 쓰기(copy-on-write) 할당 비용이 커질 수 있음.
  • Valkey 공동 창립자 Madelyn Olson에 따르면 쓰기 속도가 높은 최악의 경우 페이지 복사로 데이터베이스 메모리 사용량이 두 배가 될 수 있음. 이로 인해 메모리 스래싱이 발생하거나 스토리지 스와핑으로 이어져 작업이 중단될 수 있음.

“많은 사용자가 스냅샷 처리만을 위해 메모리의 50%를 예약한다는 기존 경험칙을 따름. 목표는 이를 대략 10~15%로 낮추는 것임.”

  • Google 엔지니어이자 전업 Valkey 유지 관리자 Jacob Murphy는 오래되고 느린 일부 CPU에서 일시 정지 시간이 길어질 수 있으며, 초기의 전체 작업 일시 정지 단계에서 시간 초과가 많이 발생한다고 설명함.

Path Hash와 인공지능 작업

  • Valkey 9.2에는 인공지능 작업용 접두사 인식 자료형, 더 효율적인 정렬 집합, 새 관리 제어 기능도 포함될 예정임.
  • 주요 추가 기능인 Path Hash는 기수 트리(radix tree) 기반 자료형으로, 이진 안전 경로에 대한 정확한 조회, 최장 접두사 일치, 접두사 순회에 적합함.
  • Path Hash는 접두사 색인에 사용할 수 있음. 기존 Valkey 해시는 속성을 가진 객체와 단일 키를 나타내지만 계층 구조를 표현하지 않음. 일반 해시의 필드 기반 접근과 달리 접두사 계층을 나타내는 방식임.
  • 인터뷰 참여 기여자는 새 자료형이 대형 언어 모델의 키-값 캐싱에 활용될 수 있으며, 이를 통해 LLM이 Valkey 작업 부하에서 더 효율적으로 작동할 수 있다고 설명함.

인공지능을 활용한 개발과 유지 관리

  • Valkey 9.2는 인공지능 지원 코딩, 코드 검토, 유지 관리가 반영된 릴리스임. 인공지능으로 단순히 코드 생성량만 늘리는 방식은 아님.
  • Valkey는 하나의 대형 언어 모델을 공통으로 사용하지 않으며, 기여자와 유지 관리자가 각자 선호하는 인공지능 코드 생성 도구를 사용함.

“기여자는 저마다 선호하는 인공지능 코드 생성 스택을 가지고 참여함.”

  • 새 자료형을 담당한 유지 관리자에 따르면 자료형 코드를 만드는 데 대략 일주일이 걸렸고, 이어 약 2주간 논의가 진행됨. 사람만으로 작업했을 때보다 훨씬 짧은 기간임.
  • Olson은 Valkey가 새 코드 작성 외에도 적대적 테스트, 자동 코드 검토, 백포팅에 인공지능을 적용한다고 설명함. 검토 도구는 스타일 지적을 쏟아내기보다 기능 오류를 찾도록 조정됨.

“목표 중 하나는 오탐을 매우 낮게 유지하는 것임.”

  • 자동화의 도움으로 지난 6개월간 백포트한 커밋 수는 프로젝트의 이전 전체 역사에서 백포트한 수의 약 8배라고 Olson은 추산함. Valkey는 지원 중인 릴리스 7개 전반에서 코드 유지 관리에도 인공지능을 활용함.
  • 출력 증가로 유지 관리 부담도 커짐. 더 나은 버그 탐지 도구는 보고서를 늘리고, 코딩 보조 도구는 유지 관리자의 검토가 필요한 풀 리퀘스트를 더 많이 생성함.

“그 정도의 작업량을 두고 만족하는 사람은 없다고 생각함.”

릴리스 후보 검증

  • Valkey 9.2의 릴리스 후보 기간은 최종 패키징만을 위한 단계가 아님. 개발자는 인공지능 자동화 테스트와 외부 연구자를 활용해 정식 출시 전에 문제를 찾고 있음.
  • 공개된 수정 사항에는 스냅샷 압축, 새 B+ 트리 구현, 클러스터 동작, 접근 제어 검사 관련 문제가 포함됨.