Need advice about which tool to choose?Ask the StackShare community!


+ 1

+ 1
Add tool

Redis vs VoltDB: What are the differences?


Redis and VoltDB are both popular in-memory databases used for different purposes. While Redis is a key-value store primarily used for caching and persistent storage, VoltDB is an in-memory relational database that focuses on high-speed transaction processing. Let's explore the key differences between Redis and VoltDB.

  1. Data Model: Redis stores data as key-value pairs, allowing various data types such as strings, lists, sets, hashes, and sorted sets. On the other hand, VoltDB supports a relational data model with tables, rows, and columns, enabling more complex data structures and relationships.

  2. ACID Compliance: Redis is not strictly ACID compliant as it sacrifices durability for performance, making it suitable for scenarios where data loss can be tolerated. In contrast, VoltDB fully adheres to the ACID (Atomicity, Consistency, Isolation, Durability) principles, ensuring data integrity at all times.

  3. Scaling Strategy: Redis can be scaled horizontally using clustering techniques, allowing data to be distributed across multiple nodes. In VoltDB, scaling is achieved through shared-nothing partitioning, where data is partitioned across different servers to ensure high availability and performance.

  4. Concurrency Control: Redis provides simple concurrency control mechanisms such as optimistic locking and transactions. VoltDB, on the other hand, employs a distributed concurrency control mechanism called serializable snapshot isolation (SSI), ensuring consistent and serializable execution of transactions.

  5. Use Cases: Redis is often used for caching, session management, real-time analytics, and pub/sub messaging due to its fast read and write performance. VoltDB, with its strong ACID compliance and high-speed transaction processing capabilities, is well-suited for applications that require high-volume data ingestion, real-time decision-making, and fraud detection.

  6. Durability and Persistence: Redis supports different levels of persistence, including snapshots and append-only logs. However, it primarily relies on an in-memory storage approach, which means that data can be lost in the event of a system crash. In contrast, VoltDB provides durable storage by replicating data across multiple servers, ensuring no data loss even in failure scenarios.

In summary, Redis and VoltDB differ in their data models, ACID compliance, scaling strategies, concurrency control mechanisms, use cases, and durability approaches. Redis offers a flexible key-value store for caching and persistent storage, while VoltDB focuses on high-speed transaction processing with a relational data model.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Redis
Pros of VoltDB
  • 886
  • 542
    Super fast
  • 513
    Ease of use
  • 444
    In-memory cache
  • 324
    Advanced key-value cache
  • 194
    Open source
  • 182
    Easy to deploy
  • 164
  • 155
  • 121
  • 42
  • 40
    High Availability
  • 35
    Data Structures
  • 32
    Very Scalable
  • 24
  • 22
    Great community
  • 22
  • 19
    "NoSQL" key-value data store
  • 16
  • 13
  • 11
    Sorted Sets
  • 10
  • 10
  • 9
    Async replication
  • 9
    BSD licensed
  • 8
  • 8
    Integrates super easy with Sidekiq for Rails background
  • 7
    Keys with a limited time-to-live
  • 7
    Open Source
  • 6
    Lua scripting
  • 6
  • 5
    Awesomeness for Free
  • 5
  • 4
  • 4
    Outstanding performance
  • 4
    Runs server side LUA
  • 4
    LRU eviction of keys
  • 4
    Feature Rich
  • 4
    Written in ANSI C
  • 4
  • 3
    Data structure server
  • 3
    Performance & ease of use
  • 2
    Dont save data if no subscribers are found
  • 2
    Automatic failover
  • 2
    Easy to use
  • 2
    Temporarily kept on disk
  • 2
  • 2
    Existing Laravel Integration
  • 2
    Channels concept
  • 2
    Object [key/value] size each 500 MB
  • 2
  • 5
    SQL + Java
  • 4
    In-memory database
  • 4
    A brainchild of Michael Stonebraker
  • 3
    Very Fast
  • 2

Sign up to add or upvote prosMake informed product decisions

Cons of Redis
Cons of VoltDB
  • 15
    Cannot query objects directly
  • 3
    No secondary indexes for non-numeric data types
  • 1
    No WAL
    Be the first to leave a con

    Sign up to add or upvote consMake informed product decisions

    What is Redis?

    Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.

    What is VoltDB?

    VoltDB is a fundamental redesign of the RDBMS that provides unparalleled performance and scalability on bare-metal, virtualized and cloud infrastructures. VoltDB is a modern in-memory architecture that supports both SQL + Java with data durability and fault tolerance.

    Need advice about which tool to choose?Ask the StackShare community!

    Jobs that mention Redis and VoltDB as a desired skillset
    Oakland, California, United States
    What companies use Redis?
    What companies use VoltDB?
    See which teams inside your own company are using Redis or VoltDB.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Redis?
    What tools integrate with VoltDB?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    Nov 20 2019 at 3:38AM


    Jun 6 2019 at 5:11PM


    What are some alternatives to Redis and VoltDB?
    Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
    MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
    RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
    With its various distributed data structures, distributed caching capabilities, elastic nature, memcache support, integration with Spring and Hibernate and more importantly with so many happy users, Hazelcast is feature-rich, enterprise-ready and developer-friendly in-memory data grid solution.
    Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
    See all alternatives