Redis 8.10 출시, 컴팩트 해시로 메모리 절반 절감
최근 30일 조회수 — 좋아요 —핵심 요약
Redis 8.10이 해시 템플릿·HIMPORT 도입으로 메모리와 처리량을 개선하고 JSONPath 문법을 확장했다.
Redis 오픈소스 프로젝트가 9월 14일 새 버전 8.10을 발표했다. 핵심은 메모리 효율을 크게 끌어올린 컴팩트 해시(Compact Hash) 구조와 JSONPath 문법 확장이며, 여기에 증분 백업·복원, 스트림 소비 유연화, 셋 카디널리티 연산, 리스트 원소 다중 이동, 타임시리즈 기능 강화가 함께 담겼다.1
Redis 블로그에 따르면 8.10은 효율 개선, 데이터 구조 기능 확장, 운영 단순화라는 세 가지 방향에 초점을 맞췄다. 이 중 가장 눈에 띄는 변화는 해시 구조에 적용된 ‘해시 템플릿(hash templates)‘이다. 사용자 프로필처럼 name, email, country, last_login 같은 동일한 필드 구성을 수백만 개씩 반복해서 저장하는 경우, 기존에는 각 해시가 필드명 자체를 매번 따로 저장해야 했다. 해시 템플릿은 같은 필드명 집합을 공유하는 해시들이 값만 따로 저장하도록 내부 인코딩을 바꿔, 이런 워크로드에서 메모리 사용량을 최대 50%까지 줄인다.
이와 함께 새 명령어 HIMPORT가 도입됐다. 클라이언트가 필드 집합을 한 번만 준비해두면, 이후에는 값만 전송해 해시를 적재할 수 있는 구조다. 필드명을 매 건마다 반복 전송하고 파싱하는 과정이 사라지면서 해시 적재 처리량이 최대 2배까지 높아진다. 기존 해시 명령어는 동작 방식이 그대로 유지되며, 애플리케이션 코드를 HIMPORT로 바꾸지 않아도 자동 템플릿 전환을 선택할 수 있다. Redis는 이 기능이 사용자 프로필, 세션, 피처 스토어, 대량 임포트, ETL 워크로드처럼 필드 구성이 안정적으로 유지되는 경우에 특히 유용하다고 밝혔다.
성능 개선은 해시 외에 스트림에도 적용됐다. 폭이 넓고 새로 생성된 해시에 대한 HSET, HMSET 처리량은 최대 104% 높아졌고, 필드명 스키마를 공유하는 키들의 메모리 사용량은 최대 50% 줄었다. 스트림 쪽에서는 XREADGROUP(COUNT 100 기준) 처리량이 최대 28% 높아졌고, 깊이가 깊은 스트림의 메모리 사용량은 최대 26% 감소했다.
| 데이터 타입 | 대상 연산 | 개선 효과 |
|---|---|---|
| Hash | HSET, HMSET (폭이 넓고 새로 생성된 해시) | 처리량 최대 104% 향상 |
| Hash | 필드명 스키마 공유 키 | 메모리 사용량 최대 50% 감소 |
| Streams | XREADGROUP (COUNT 100) | 처리량 최대 28% 향상 |
| Streams | 깊은 구조의 스트림 | 메모리 사용량 최대 26% 감소 |
기능 확장 측면에서는 RedisJSON의 JSONPath 문법이 크게 넓어졌다. Redis JSON은 JSONPath 표현식으로 JSON 문서 전체를 가져오지 않고 특정 부분만 조회하거나 조작하는 방식을 쓰는데, 8.10에서는 산술·비교 연산자, in·nin 연산, 필터 부정(negation), 문자열·배열·객체·노드리스트 대상 연산이 추가됐다. 문자열 함수로는 match(), search(), concat() 등이 새로 들어갔고, 배열 관련 함수도 확장됐다. 이를 통해 필터링·계산·집계 같은 데이터 처리 작업을 클라이언트 애플리케이션 쪽 코드 없이 Redis 내부에서 직접 처리할 수 있는 범위가 넓어진다.
운영 측면에서는 증분 백업·복원 기능이 새로 추가돼, 실행 중인 워크로드에 미치는 영향을 크게 줄이면서 클러스터 단위로 조율된 백업을 만들 수 있게 됐다. Redis는 이 기능이 대규모 Redis 배포 환경의 안정성을 높인다고 설명했다.
다만 주어진 자료에는 셋 카디널리티 연산, 리스트 원소 다중 이동, 타임시리즈 기능 강화의 구체적인 명령어나 수치는 제시돼 있지 않아, 해당 부분의 세부 내용은 확인되지 않았다.
Footnotes
-
Redis Blog, “Redis 8.10: New Compact Hash & open-source features” ↩
읽기 목록은 이 브라우저에 저장됩니다.
출처
- Redis 8.10: New Compact Hash & open-source features — Redis Blog
이 글은 위 출처를 근거로 자동 생성된 뒤 발행됐습니다. 원문을 함께 확인해 주세요. 교차 보도 없이 단독 출처로 작성됐습니다.