[GeekNews 요약] Murr: ML/AI 워크로드를 위한 서브 밀리초 캐시, Parquet 입력 및 Arrow-Flight 출력 지원
47
설명
ML/AI 워크로드의 데이터 서빙 속도 향상을 목표로 하는 새로운 캐싱 솔루션 'Murr'가 공개되었습니다. Murr는 기존 Redis와 같은 솔루션의 한계를 극복하고, 대규모 데이터셋 처리 및 제로 카피(zero-copy) 데이터 접근을 통해 성능을 극대화하는 데 초점을 맞추고 있습니다. 특히, Parquet 파일과 같은 컬럼 기반 스토리지에서 데이터를 효율적으로 읽어와 Arrow-Flight 프로토콜로 제공하는 점이 특징입니다.
### 배경 설명
머신러닝(ML) 및 인공지능(AI) 모델의 추론(inference) 성능은 데이터 접근 속도에 크게 좌우됩니다. 대규모 데이터셋을 처리해야 하는 경우, 데이터 로딩 및 전처리 과정에서 발생하는 지연은 모델의 응답 시간을 늘리고 전체 시스템의 효율성을 저하시킵니다. 기존에는 Redis와 같은 인메모리 캐시 솔루션이 널리 사용되었으나, 이는 데이터 크기가 커질수록 비용 부담이 증가하고, 특정 데이터 구조나 접근 패턴에 최적화되지 않은 경우가 많았습니다. 또한, 데이터 직렬화/역직렬화 과정에서 발생하는 오버헤드도 성능 저하의 원인이 되었습니다.
이러한 배경 속에서, ML/AI 워크로드에 특화된 고성능 캐싱 솔루션에 대한 필요성이 대두되었습니다. Murr는 이러한 요구사항을 충족시키기 위해 설계되었습니다. Parquet과 같은 효율적인 데이터 포맷을 직접 처리하고, Apache Arrow Flight와 같은 고성능 데이터 전송 프로토콜을 사용하여 데이터 이동 시 발생하는 복사 및 변환 오버헤드를 최소화합니다. 이는 특히 NumPy 배열, Pandas DataFrame, PyTorch 텐서와 같은 ML/AI 라이브러리에서 직접 사용할 수 있는 형태로 데이터를 제공함으로써, 개발자들이 데이터 준비 과정을 간소화하고 모델 학습 및 추론에 집중할 수 있도록 돕습니다. S3 기반의 계층적 스토리지 전략은 비용 효율성까지 고려한 설계입니다.
### 1. Murr란 무엇인가?
Murr는 ML/AI 데이터 서빙을 위한 캐싱 레이어로, 배치 데이터 파이프라인과 추론 애플리케이션 사이에 위치합니다. Murr의 핵심은 '계층적 스토리지(Tiered storage)'와 '배치 입출력(Batch-in, batch-out)'입니다. 핫 데이터는 메모리에 유지하고, 콜드 데이터는 S3 기반 복제를 통해 디스크에 저장하여 비용 효율성을 높입니다. 2026년 현재 RAM 가격이 비싸다는 점을 고려할 때, 자주 사용되는 데이터만 메모리에 두는 전략은 매우 중요합니다. 또한, Murr는 컬럼 기반 스토리지에서 네이티브 배치 읽기 및 쓰기를 지원하며, 각 행(row)에 대한 별도의 오버헤드 없이 1GB의 Parquet/Arrow 파일을 직접 처리할 수 있습니다. 이는 대규모 데이터셋을 효율적으로 관리하고 접근하는 데 필수적입니다.
### 2. Murr의 주요 특징 및 장점
Murr는 '제로 카피 와이어 프로토콜(Zero-copy wire protocol)'을 통해 API 응답을 NumPy, Pandas, PyTorch 객체로 변환할 때 별도의 데이터 복사나 변환 과정이 필요 없도록 설계되었습니다. 이는 Python에서 Redis 응답을 파싱할 때 발생하는 성능 저하 문제를 해결합니다. Murr는 데이터베이스가 아니므로 상태를 자체적으로 관리하지 않으며, 모든 상태는 S3에 영구적으로 저장됩니다. 따라서 Redis 노드가 사라져도 Murr는 블록 스토리지에서 자체적으로 재부팅될 수 있습니다. Murr는 데이터가 크고 테이블 형식일 때, 읽기 작업이 배치로 이루어질 때, 그리고 비용 효율성이 중요할 때 특히 유용합니다. 예를 들어, 에이전트가 분석을 위해 1000개의 문서에 걸쳐 100개의 열을 읽어야 하는 경우, Murr는 이러한 작업을 매우 효율적으로 처리할 수 있습니다.
### 3. Murr vs. 기존 솔루션 비교
Murr는 Redis와 비교했을 때, 영구적인 저장소(S3)를 지원하고 콜드 데이터를 NVMe로 오프로드할 수 있다는 점에서 차별화됩니다. 또한, RocksDB와 같은 임베디드 솔루션과 달리, Murr는 분산 환경을 염두에 두고 설계되어 데이터 동기화 문제를 해결합니다. DynamoDB와 비교하면, Murr는 쿼리당 비용이 아닌 CPU/RAM 사용량에 따라 비용이 책정되므로 약 10배 저렴할 수 있습니다. Murr는 일반적인 데이터베이스나 분석 도구와는 다릅니다. OLTP 워크로드, 전체 테이블 집계 분석, 웹 애플리케이션의 일반적인 캐싱에는 적합하지 않습니다. 하지만 Feast, Hopsworks와 같은 피처 스토어의 일부로 사용될 수 있으며, 온라인 서빙 레이어로서의 역할을 수행합니다.
### 4. 성능 벤치마크 결과
Murr는 벤치마크에서 뛰어난 성능을 보여주었습니다. 1억 개의 행과 10개의 float32 열을 가진 데이터셋을 대상으로 한 테스트에서, Murr는 Redis의 packed-blob 읽기보다 약 3배, Feast 스타일의 HSET 레이아웃보다 약 12배 더 빠르면서도 약 3배 적은 RAM을 사용했습니다. 특히, Rust 기반의 time-to-last-byte 측정에서는 Murr의 mmap 모드가 268µs의 p50 지연 시간을 기록하며 Dragonfly(296µs)보다 우수한 성능을 보였습니다. Python 클라이언트 관점의 end-to-end 측정에서도 Murr는 1.08ms의 읽기 지연 시간으로 경쟁 솔루션들을 능가했습니다. 디스크 모드(2GiB RAM 제한)에서도 Murr는 6.33ms의 p50 지연 시간을 기록하며, PostgreSQL의 blob 및 col-per-feature 모드보다 훨씬 빠른 성능을 입증했습니다.
### 가치와 인사이트
Murr의 등장은 ML/AI 워크로드에서 데이터 접근 병목 현상을 해결하는 데 중요한 시사점을 제공합니다. 특히 대규모 데이터셋을 다루는 현대의 AI 모델들은 데이터 로딩 및 전처리 단계에서 상당한 시간을 소요하는데, Murr는 이러한 과정을 획기적으로 단축시킬 잠재력을 가지고 있습니다. Parquet과 같은 효율적인 포맷을 직접 지원하고 Arrow Flight를 통해 제로 카피 데이터 전송을 구현함으로써, 개발자는 데이터 직렬화/역직렬화에 드는 시간과 노력을 절감하고 모델 개발 및 최적화에 더 집중할 수 있습니다. 이는 실무에서 AI 모델의 추론 속도를 높이고, 더 적은 리소스로 더 높은 성능을 달성하는 데 직접적으로 기여할 수 있습니다. 또한, S3 기반의 계층적 스토리지 전략은 비용 효율적인 데이터 관리를 가능하게 하여, 대규모 AI 프로젝트의 경제성을 향상시키는 데 도움을 줄 것입니다.
### 기술·메타
* 언어: Rust (90.5%), HTML (3.4%), CSS (3.1%), Shell (2.7%), Dockerfile (0.1%), Python (0.1%), Makefile (0.1%)
* 라이선스: Apache 2.0
* 저장소: GitHub (https://github.com/murrdb/murr)
* 릴리스: v0.2.1 (2026년 5월 26일)
### 향후 전망
Murr는 아직 초기 단계에 있지만, 그 잠재력은 매우 큽니다. 향후 HTTP API, gRPC API, 그리고 데이터 수집을 위한 API가 추가될 예정이며, 이는 다양한 시스템과의 통합을 용이하게 할 것입니다. 또한, Apache Lucene에서 영감을 받은 디렉토리 인터페이스와 세그먼트 읽기/쓰기 기능은 스토리지 효율성을 더욱 높일 것으로 기대됩니다. Python 임베디드 Murrdb는 데모 제작 및 사용 편의성을 증대시킬 것입니다. Redis 및 Feast, feature-blob 스타일 지원을 포함한 벤치마킹 하네스는 Murr의 성능을 지속적으로 검증하고 개선하는 데 기여할 것입니다.
경쟁 구도 측면에서는 Redis, Dragonfly와 같은 기존 캐싱 솔루션뿐만 아니라, 피처 스토어 솔루션들과의 경쟁 및 협력이 예상됩니다. Murr는 특정 ML/AI 워크로드에 최적화된 솔루션으로서, 범용 캐시나 데이터베이스와는 차별화된 포지셔닝을 가져갈 것입니다. 규제 측면에서는 데이터 프라이버시 및 보안에 대한 요구가 증가함에 따라, Murr가 이러한 요구사항을 어떻게 충족시킬지가 중요해질 것입니다. 로드맵에 포함된 다양한 데이터 타입 지원(utf8, bool, int, float, array 등)과 RocksDB, PostgreSQL 벤치마크 추가는 Murr의 적용 범위를 넓히고 안정성을 강화할 것입니다. Apache Iceberg 및 Parquet 데이터 카탈로그 지원은 클라우드 기반 데이터 레이크 환경과의 통합을 더욱 강화할 것으로 보입니다.
📝 원문 및 참고
- 원문: [링크 열기](https://github.com/murrdb/murr)
- GeekNews 토픽: [보기](https://news.hada.io/topic?id=30469)
---
출처: GeekNews ([원문 링크](https://github.com/murrdb/murr))
신고 · 불법·유해·아동 안전(CSAE) 관련 콘텐츠


댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.