5 Approaches to Scalable Storage Solutions
Thinking about the scalable storage solutions market, I’ve ended up dividing it in 5 categories:
-
NoSQL databases
- they abandoned all relational model concepts, building everything from scratch
- most of the solutions were born to solve practical problems
- they make a set of trade offs to achieve scalability
-
New age RDBMS implementations and appliances
- they preserve almost completely the relational concepts, but are building everything from scratch
- sometimes they are required to make trade offs to achieve scalability
- they try to preserve existing APIs or connectivity models
-
Classical RDBMS
- these well know solutions are either moderately scalable or not so cost effectively scalable
-
Scalability layers on top of Classical RDBMS
- they reuse an existing RDBMS or engine and create different layers on top in an attempt to achieve scalability
-
Repurposed/Repositioned solutions
- the products in this category have started in a different space, usually caching or grid computing
- benefiting from Moore’s law, they usually tout the “RAM is the new disk slogan”
- most of the time they use (memory) replication to provide durability
- some have added disk persistency as additional layer of the original product
- having all data in memory, they are usually able to mimic various access patterns (including SQL or key-value APIs)
Any other categories I’ve left out?
While not dismissing any of these, I’m more interested in solutions in categories 1 and 2 above.
Original title and link: 5 Approaches to Scalable Storage Solutions (NoSQL databases © myNoSQL)