Valkey? (redis의 license변화에 대체제)
redis 대체제가 될 수 있을까
Valkey
홈페이지 : 발키
최근 Valkey는 오픈 소스 인메모리 데이터베이스 분야에서 주목받는 프로젝트로 부상하고 있습니다. 이 글에서는 Valkey의 등장 배경, 유사한 데이터베이스와의 비교, 그리고 현재의 동향과 지원 현황에 대해 살펴보겠습니다.
Valkey란?
Valkey는 Redis 7.2.4의 오픈 소스 포크로, 인메모리 키-값 저장소와 캐시 기능을 제공합니다. 2024년 3월 Linux Foundation의 지원을 받아 출시되었으며, 같은 해 9월, 독자적인 개발 방향을 반영한 Valkey 8.0을 발표했습니다. 앞으로 Redis와의 차별화가 더욱 뚜렷해질 전망입니다.
Valkey의 등장 배경
Redis는 높은 성능과 편의성으로 널리 사용되어 온 인메모리 데이터베이스입니다. 그러나 2024년 3월, Redis는 기존의 BSD 라이선스에서 RSAL(Redis Source Available License) 및 SSPL(Server Side Public License)의 듀얼 라이선스로 전환을 발표하며, 기업들이 라이선스 비용을 고려해야 하는 상황이 되었습니다.
이에 대응하여 AWS, Ericsson, Google Cloud, Oracle, Verizon 등 주요 기업들은 Redis의 오픈 소스 라이선스 변경에 반발하며 Valkey 프로젝트를 시작했습니다. Valkey는 기존 Redis 사용자가 완전한 오픈 소스 환경에서 지속적으로 활용할 수 있도록 개발된 대안입니다.
기존 Redis의 라이선스 : BSD 3-Clause
Redis는 원래 BSD 3-Clause 라이선스로 배포되었습니다.
- BSD
- 자유로운 사용 가능: 상업적/비상업적 목적 모두 사용 가능
- 코드 수정 및 재배포 가능: 누구나 수정하여 배포 가능
- 제한 사항이 적음: 오픈소스 프로젝트에서 자주 사용
기존의 redis의 BSD 라이선스 덕분에 AWS, Google Cloud, Azure 같은 클라우드 서비스 제공업체들이 Redis를 기반으로 매니지드 서비스를 쉽게 제공할 수 있었습니다.
새로운 라이선스 (RSAL + SSPL)
2024년 3월, Redis는 기존 BSD 라이선스를 폐지하고 듀얼 라이선스 방식을 도입했습니다.
이제 Redis는 RSAL(Redis Source Available License) 또는 SSPL(Server Side Public License) 아래에서 배포됩니다.
- RSAL(Redis Source Available License)
- 비오픈소스 라이선스로, Redis 소스 코드는 공개되지만 SaaS(클라우드 서비스)로 제공하는 것은 금지됨
- 온프레미스(자체 서버)에서는 무료 사용 가능하지만, AWS/GCP 같은 클라우드 제공업체가 Redis를 서비스로 제공하면 라이선스 위반
- SSPL(Server Side Public License)
- MongoDB가 만든 라이선스로, 오픈소스처럼 보이지만 사실상 기업용 소스코드 공개 강제 라이선스
- Redis를 서비스화하여 제공하려면 해당 서비스의 전체 소스코드를 공개해야 함
라이선스가 바뀌면서 가장 큰 문제점은 AWS/GCP 등이 Redis 매니지드 서비스를 계속 운영하려면 그들의 관리 자동화 코드까지 공개해야 하는 상황이라는 것입니다.
클라우드 업체들은 Redis를 서비스로 제공할 경우 비즈니스 모델에 큰 영향을 받습니다.
기업들은 RSAL 라이선스 하에서는 클라우드에서 Redis를 사용할 경우 Redis Inc.와 별도 라이선스 계약을 맺어야 하기에 무료로 사용하던 Redis의 비용 부담이 발생합니다.
유사한 데이터베이스와의 비교
Memcached
단순한 키-값 저장소로, 주로 캐싱 용도로 사용됩니다.
- 장점
- 매우 빠른 성능
- 간단한 구조로 인한 쉬운 설정
- 단점
- 데이터 지속성이 없으며, 서버 재시작 시 데이터 손실
- 고급 데이터 구조 지원 부족
Redis
다양한 데이터 구조를 지원하는 인메모리 데이터베이스로, 캐싱, 메시지 큐 등 다양한 용도로 사용됩니다.
- 장점
- 다양한 데이터 타입 지원
- 데이터 지속성 옵션 제공
- 단점
- 최근 라이선스 변경으로 인한 사용 제약 가능성
Valkey
Redis의 포크로서, 오픈 소스 라이선스를 유지하며 Redis와 호환성을 제공합니다.
- 장점
- 완전한 오픈 소스 라이선스 유지
- Redis와의 높은 호환성
- 단점
- 프로젝트의 성숙도와 커뮤니티 지원은 아직 발전 중
Valkey의 부상 이유
Valkey는 Redis의 라이선스 변경에 따른 기업들의 우려를 해소하기 위해 등장하였습니다. 특히, 오픈 소스 소프트웨어의 역할이 강조되는 현대 IT 환경에서, Valkey는 완전한 오픈 소스 라이선스를 유지함으로써 기업들의 주목을 받고 있습니다. 또한, AWS, Google Cloud 등 주요 클라우드 서비스 제공자들이 Valkey를 지원함으로써 그 신뢰성과 안정성을 높이고 있습니다. 
Valkey에 대한 지원 현황
현재 AWS는 Valkey를 지원하는 완전관리형 서비스인 Amazon ElastiCache와 Amazon MemoryDB를 제공하고 있습니다. 이들 서비스는 Valkey와 Redis OSS와 호환되며, 높은 성능과 안정성을 제공합니다.  
또한, Valkey GLIDE와 같은 오픈 소스 클라이언트 라이브러리가 개발되어, Valkey와 Redis OSS 기반 애플리케이션을 위한 안정성, 최적화된 성능 및 고가용성을 제공하고 있습니다. 
이러한 지원을 통해 Valkey는 기업들이 기존 Redis 환경에서 원활하게 전환할 수 있도록 돕고 있습니다.
결론
Valkey는 Redis의 라이선스 변경에 대응하여 등장한 완전한 오픈 소스 인메모리 데이터베이스로, 주요 기업들의 지원과 함께 빠르게 성장하고 있습니다. 앞으로의 발전과 생태계 변화에 주목할 필요가 있습니다.
[출처]
- https://valkey.io/
- https://redis.io/blog/what-is-valkey/
- https://aws.amazon.com/ko/blogs/tech/get-started-with-amazon-elasticache-for-valkey/