Distributed key-value storage, in contrast to object storage, provides structured storage that is somewhat akin to a database but different in important ways in order to provide additional scalability and performance.
RDBMS Vs Distributed Storage
- Perhaps you've already used a relational database management system — a storage product that's commonly referred to as RDBMS.
- Its rows of data have one or more keys (hence the name key-value storage) that support manipulation of the data.
- Though RDBMS systems are fantastically useful, they typically face challenges in scaling beyond a single server.
- Newer distributed key-value storage products are designed from the get-go to support huge amounts of data by spreading across multiple (perhaps thousands of) servers.
Key Value Storage
- Key-value storage systems often make use of redundancy within hardware resources to prevent outages; this concept is important when you're running thousands of servers, because they're bound to suffer hardware breakdowns.
- Without redundancy, the entire storage system can be knocked out of commission by a single server; the use of redundancy makes the key-value system always available — and, more importantly, your data is always available because it's protected from hardware outages.
- Literally dozens of key-value storage products are available. Many of them were first developed by so-called webscale companies, such as Facebook and LinkedIn, to ensure that they can handle massive amounts of traffic. Those companies then turned around and released the products under open source licenses, so now you (or anyone else) can use them in other environments.