This article explains the persistence provided by Upstash databases.
In Upstash, persistence is always enabled, setting it apart from other Redis
offerings. Every write operation is consistently stored in both memory and the
block storage provided by cloud providers, such as AWS’s EBS. This dual storage
approach ensures data durability. Read operations are optimized to first check
if the data exists in memory, facilitating faster access. If the data is not in
memory, it is retrieved from disk. This combination of memory and disk storage
in Upstash guarantees reliable data access and maintains data integrity, even
during system restarts or failures.
Upstash keeps your data both in memory and disk. This design provides:
Data safety with persistent storage
Low latency with in memory access
Price flexibility by using memory only for active data
In Upstash, an entry in memory is evicted if it remains idle, meaning it has not
been accessed for an extended period. It’s important to note that eviction does
not result in data loss since the entry is still stored in the block storage.
When a read operation occurs for an evicted entry, it is efficiently reloaded
from the block storage back into memory, ensuring fast access to the data. This
eviction mechanism in Upstash optimizes memory usage by prioritizing frequently
accessed data while maintaining the ability to retrieve less frequently accessed
data when needed.
Can I use Upstash as a database?
Definitely, yes. Some users are worried that Redis data will be lost when a
server crashes. This is not the case for Upstash thanks to Durable Storage.
Data is reloaded to memory from block storage in case of a server crash.
Moreover, except for the free tier, all paid tier databases provide extra redundancy by replicating data to multiple instances.