28P by xguru 2022-05-31 | favorite | 댓글 6개
  • SET/GET 성능면에서 Redis 보다 25배 빠른 인메모리 저장소. 메모리 효율도 뛰어남
  • 약 ~130개의 Redis 명령과 거의 모든 Memcache 명령(cas 제외)을 다 지원함
  • I/O를 위해서 Linux의 io-uring API를 사용. (Linux 5.10 이상을 요구함. Ubuntu 20.04.4~)
  • x86/arm64 바이너리 제공

호오... 예전에 Redis 첨 쓸때도 언빌리버블! 하면서 썼는데 25배라니...

이런걸 보면 왠지 불안한 부분이 있더라구요.
Redis와 Memcached가 뭘 몰라서 25배나 느리게 돌아가고 있지는 않을 것인데
25배 빠르게 한 만큼의 트레이드 오프가 어디에서 나올것인가 하는.

최신 리눅스 커널에서만 지원되는 기능을 사용했으니, 그 댓가로 설치 가능한 시스템의 범위를 포기한 것이라고 보면 되지 않을까 싶습니다. 최신 커널의 리눅스가 아니면 동작하지 않을 테니까요. 하지만 최신 버전 리눅스를 실행하는 인스턴스를 금방 띄울 수 있는 클라우드 환경에서는 충분히 감수할 만한 트레이드 오프라고 생각합니다.

리눅스 전용 비동기IO인 io_uring 을 적용하면서 나오는 장점인 듯 하네요.
Redis 에도 io_uring 적용해보자는 이슈가 있는거 같은데 아직 시도는 없는 듯
https://github.com/redis/redis/issues/9441

개발자가 HN에서 질문/답변 받고 있네요.
https://news.ycombinator.com/item?id=31560547