Overcome Redis Cluster Scale Bottlenecks with ScyllaDB & EloqKV by Hubert Zhang

ScyllaDB 96 views 20 slides Mar 04, 2025
Slide 1
Slide 1 of 20
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20

About This Presentation

Introducing EloqKV—a new project built on ScyllaDB! It delivers sub-millisecond read/write performance, full transactions, and a Redis-compatible API, acting as a fast, consistent cache. Scale beyond Redis Cluster limits with ScyllaDB’s massive scalability and resilience.


Slide Content

A ScyllaDB Community
Overcome Redis Scale
Bottleneck with EloqKV
on ScyllaDB
Hubert Zhang
CTO EloqData

Hubert Zhang
■CTO of EloqData
■Former Global Tech Lead of GreenplumDB, VMware
■Apache HAWQ PMC Member
■Talks on SIGMOD/PGCon/ApacheCon/PGConf

■EloqData Introduction
■Problem: Redis Scale Bottleneck
■Solution: EloqKV on ScyllaDB
■Beyond: Redis/SQL/Mongo API and Open Source
Agenda

EloqData:
Modular Database

EloqData: A Modular Database

Problem

Redis Scale Issue
Redis cluster scale out with tradeoffs:
not support cross-node ops
high gossip overhead for 1K nodes
Redis & Redis Cluster use
different API, client needs to
rewrite when switching from
single node to cluster mode.
Scale out
Client Transparency
Data Volume
Redis is pure in memory with
limited enterprise feature on Disk
Storage, which makes it expensive

Scale up
Redis is single thread model with
limited capability to scale up
compute resource
Elastic
Unable to decouple & scale the
right components: compute,
memory, storage and WAL
separately
Transaction
Redis doesn’t support rollback,
cross-node transaction and LUA
Redis is not cache coherence with
underlying storage (i.e. ScyllaDB)

Solution

EloqKV on ScyllaDB is a
high performance distributed
transactional key-value store
with Redis API

EloqKV Architecture

Data Volume
EloqKV can leverage memory, local SSD and object storage to
auto-tiering the data volume management
■Hot data are cached in buffer pool of EloqKV Cluster
■Both key and value can be kicked out from memory
■Cold data are stored in ScyllaDB
■ScyllaDB also serves for cache miss read with low latency
■Object Storage (optional)
■Flush is synchronous to object storage while local SSD’s role as cache

Scale Up
EloqKV is multi-thread & thread per core model similar to ScyllaDB

Hardware Configuration
■server: c7g.8xlarge
■client: c6gn.8xlarge

Scale Out & Elastic
EloqKV is scalable and elastic on all resource types to satisfy
diverse workloads. It is the only DB that has this capability
The total cost of a DB is proportional to the allocated resources. Scale the right
DB module(s) for different workloads is critical for reducing TCO
Storage
CPU
Log
Memory
Independently Scale Resources
Fully Elastic, Fully Dynamic

Transaction
EloqKV is not only cache, but a fully ACID transactional database

■Cross-node Multi/Exec
■Cross-node Lua Script
■Rollback
■Explicit Begin/Commit
■Cross-AZ WAL and Parallel Recovery

Transaction
EloqKV is not only cache, but a fully ACID transactional database
Hardware Configuration
■server: c7gd.8xlarge
■client: c6gn.8xlarge

Beyond

More API
MongoDB Compatible
Document Store
EloqDocEloqKV
Redis Compatible
Key-Value Store

EloqSQL
MySQL Compatible
Distributed SQL

More Features
Decouple of Compute and
Storage

Optimized Distributed
Transaction Performance
EloqDocEloqKV
Persistent Storage

Transaction Support

Auto Data Tiering

Cross-node Ops


EloqSQL
Increase Write Throughput
by Scaling WAL

Reduce Cache-miss with
Elastic and Distributed
Buffer Pool

More Open Source
EloqDocEloqKV EloqSQL
Every API is Open Source

Stay in Touch
Hubert Zhang
[email protected]
EloqData
[email protected]
https://github.com/eloqdata
https://github.com/zhangh43
Tags