Welcome to DynomiteDB. This document provides an introduction to DynomiteDB. It explains the key concepts and terminology that you need to know to use DynomiteDB.
DynomiteDB is an open source framework that turns any database into a scalable, distributed database. It provides Dynamo-like sharding, replication and high availability for various key/value database engines, which are called backends.
DynomiteDB makes it easy to deploy linearly scalable clusters of the following databases:
A key benefit of DynomiteDB is that you can reuse the same database infrastructure for a wide variety of workloads, from a highly available, distributed cache that uses the Redis backend to a big data distributed database that uses the RocksDB backend.
DynomiteDB provides the same Redis-compatible key/value API across all backends. A common API means that you can reuse your data model and queries for both persistent and in-memory workloads. This greatly simplifies application development and increases development velocity.
DynomiteDB provides access to all supported backends via the same Redis-compatible API. You can use the same Redis client, commands and data types that you are already using. With DynomiteDB, you gain instant scalability for your Redis servers with almost no changes to your code.
Learn more about the DynomiteDB Key/Value API.
Dynomite supports a variety of value data type when the Redis database engine is used as a backend. Importantly, Redis is the primary and default backend used by Dynomite.
The following value data types are supported:
Dynomite provides a high performance cache and database combined with linear scalability. Linear scalability means that Dynomite’s capacity scales as you add more clusters to the server. Specifically, if one Dynomite server can handle 40,000 ops/second then we know that two Dynomite servers will handle 80,000 ops/second.
Dynomite is a highly available server which means that Dynomite is able to SET
and GET
your cache data even when a server, rack or entire data center goes offline.
Dynomite shards data by distributing various key/value pairs across the cluster. It then replicates each key/value pair by creating extra copies on multiple servers.
Dynomite is a high performance, linearly scalable Dynamo layer that allows single-server database engines to operate as a cluster. Dynomite supports a variety of value data types.