Most key-value stores need a remote database cluster, whereas IKV is a fully-managed embedded key-value store, built on top of a persistent data plane. This allows you to utilize your existing application infrastructure to store data (cost efficient) and access it without any network calls (better performance).
Utilize your existing application cluster (or augment it with memory/SSD) to store your data. No need for costly database clusters.
IKV doesn't need to make any network calls to access data. This enables use of Flash/SSD instead of memory for storing data, while still achieving sub-millisecond access speeds.
IKV can be used as a library, i.e. it auto-scales with your existing application cluster. Traditional database clusters need to be provisioned for peak-load at all times.
IKV is as an embedded (client-side) store for accessing data without the need of network calls (no overhead of network latency, ser-deserialization, encryption, etc). Data can be accessed from local memory or disk - even on a cold start.
Blazing fast storage allows you to query multiple datasets and normalize your data (joins). You can also feed more candidates to your ML models or make them more expensive.
No need for data compaction (like LSM tree databases) - use IKV without worrying about a saturated disk. No garbage collection (written in Rust), maximal data locality, lock-free multithreaded data structures and zero-copy disk reads.
Write once and read forever with no need for backup or snapshotting. Scales horizontally with your application - partitioning for more data and replicas for more compute.
IKV can be accessed as a library (on-host data storage) across your application cluster. IKV's underlying data-delivery pipeline replicates data across your fleet.
Onboard a data stream (kafka, kinesis, redpanda, etc) or a batch source (S3, Snowflake, Redshift, etc.) with a single unified API.
IKV's architecture enables hardware utilization and data-tiering which can drastically reduce costs. By running IKV's embedded store, you can utilize your existing memory/disk resources and avoid allocating memory-intensive database servers. Secondly, for most applications data-tiering (frequently accessed data in memory, rest on disk) is the right approach. With it's memory-mapped index design, IKV can do zero-copy disk lookups and do data-tiering based on your hardware, while achieving sub-millisecond speed.
Redis (AWS ElastiCache) costs depend on the dataset size and throughput/availability (ex. geo-replication) requirements of your application. IKV costs depend on the dataset size and memory/disk upgrade cost of your cluster. For various configurations, we have found the latter to be much lower. In the example below, we calculate costs for an application running on general purpose EC2 instance with 8 cpu / 32 GB RAM (m7g.2xlarge) on AWS. Read our full analysis to estimate costs for your service - comparison.
#app instances = 4 | #app instances = 8 | #app instances = 16 | #app instances = 32 | |
---|---|---|---|---|
16 GB | AWS ElastiCache $737 IKV $239 (-67%) | AWS ElastiCache $737 IKV $239 (-67%) | AWS ElastiCache $983 IKV $239 (-75%) | AWS ElastiCache $1966 IKV $239 (-87%) |
32 GB | AWS ElastiCache $1474 IKV $479 (-67%) | AWS ElastiCache $1474 IKV $479 (-67%) | AWS ElastiCache $1966 IKV $479 (-75%) | AWS ElastiCache $3932 IKV $479 (-87%) |
64 GB | AWS ElastiCache $2949 IKV $1248 (-57%) | AWS ElastiCache $2949 IKV $1538 (-47%) | AWS ElastiCache $3932 IKV $2118 (-46%) | AWS ElastiCache $7864 IKV $3278 (-58%) |
128 GB | AWS ElastiCache $5898 IKV $2206 (-62%) | AWS ElastiCache $5898 IKV $2496 (-57%) | AWS ElastiCache $7864 IKV $3076 (-60%) | AWS ElastiCache $15728 IKV $4237 (-73%) |