> Do people genuinely believe that the world needs this many NoSQL systems, or are we just in the infancy/resurgence of schema-free, ...
The non-SQL world is still pretty young. Well, the ideas themselves are old - but recent implementations try to solve unique problemsets.
> ... and things are yet to settle down?
Yes. IMO there would be 5-7 major projects supported by larger communities. Every of this projects will solve particular problem.
So, instead of having 2-3 general SQL providers, we can expect many solutions for very specific problems. The issue right now is that we don't really know what these problems are. Current NoSQL implementations are probing the market - answering the question if this specific features are useful for broader audience.
I think we can guess some of these 5-7 major specializations, for example:
- Memcachedb: Distributed K-V optimized for speed - no replication
- Distributed K-V optimized for reliability
- Distributed K-V optimized for size - like Dynamo.
- neo4j: Graph database
- redis: K-V with reach features, but limited to data size that fits in memory
- K-V framework created to allow Map-Reduce jobs - including scheduler, debugger and so on.
Comments
> Do people genuinely believe that the world needs this many NoSQL systems, or are we just in the infancy/resurgence of schema-free, ...
The non-SQL world is still pretty young. Well, the ideas themselves are old - but recent implementations try to solve unique problemsets.
> ... and things are yet to settle down?
Yes. IMO there would be 5-7 major projects supported by larger communities. Every of this projects will solve particular problem.
So, instead of having 2-3 general SQL providers, we can expect many solutions for very specific problems. The issue right now is that we don't really know what these problems are. Current NoSQL implementations are probing the market - answering the question if this specific features are useful for broader audience.
I think we can guess some of these 5-7 major specializations, for example:
- Memcachedb: Distributed K-V optimized for speed - no replication
- Distributed K-V optimized for reliability
- Distributed K-V optimized for size - like Dynamo.
- neo4j: Graph database
- redis: K-V with reach features, but limited to data size that fits in memory
- K-V framework created to allow Map-Reduce jobs - including scheduler, debugger and so on.
FYI if you are into the bleeding edge, redis has a virtual memory implementation as of about 12 hours ago.