Jamona Mican
Jamona Mican

Reputation: 1654

NoSQL-agnostic persistence layer

It seems to me that, at the end of the day, most NoSQL databases are at their core key/value stores, which means one should be able to build a layer which could be NoSQL database agnostic.

That layer would only use CRUD operations (put, set, delete), but would expose more advanced features, and you'd be able to switch with minimal effort the underlying DB whether it's Mongo, Redis, Cassandra, etc.

Would building something like this have value to many people, and does it already exist?

Thanks

Upvotes: 4

Views: 1474

Answers (5)

Dean Hiller
Dean Hiller

Reputation: 20210

PlayOrm is another solution that is built on cassandra but has a pluggable interface for hbase, mongodb, etc. etc. 20/30 years ago they said the same thing about RDBMS, but more and more the featuresets converged. I suspect you will see alot of that in nosql database's as well as they adopt each other's feature sets.

currently, they have vastly different feature sets but at the core there is a set of operations that is very very similar.

PlayOrm actually builds it's query language which works on any noSQL provider as well, so it's S-SQL scalable SQL can work with cassandra, hadoop, etc. etc.

later, Dean

Upvotes: 0

nicerobot
nicerobot

Reputation: 9235

UnQL means Unstructured Query Language. It's an open query language for JSON, semi-structured and document databases.

Upvotes: 2

Arnon Rotem-Gal-Oz
Arnon Rotem-Gal-Oz

Reputation: 25929

There's kundera and DataNucleus

Upvotes: 2

Barry Morris
Barry Morris

Reputation: 31

NuoDB is an elastically scalable SQL/ACID database that uses a Key/Value model for storage. It runs on top of Amazon S3 today (as well as standard file systems) and could support any KV store in principle. For the moment it's access method is SQL, but the system could readily support other data access languages and methods if that is a common requirement.

Barry Morris, NuoDB Inc.

Upvotes: 3

Sergio Tulentsev
Sergio Tulentsev

Reputation: 230531

It's next to impossible to build such thing.

As a thought experiment, I suggest that you take, for example, Redis, MongoDB and Cassandra, and design an API of such layer.

These NoSQL solutions have drastically different characteristics and they serve different purposes. Trying to build a common API for them is like building a common API for SQL database, spreadsheet document, plain text file and gmail.

While you can certainly come up with something, it will completely pointless.

Different needs call for different tools.

Upvotes: 1

Related Questions