Designing a Pythonic search DSL for SQL and NoSQL databases

Roy Smith roy at
Fri Jul 19 14:49:37 CEST 2013

In article <mailman.4864.1374236715.3114.python-list at>,
 Alec Taylor <alec.taylor6 at> wrote:

> Dear Python community,
> I am analysing designing an abstraction layer over a select few NoSQL
> and SQL databases.
> Specifically:
> - Redis, Neo4j, MongoDB, CouchDB
> - PostgreSQL

This isn't really a Python question.

Before you even begin to think about "how to do this in Python", you 
need to think about "how to do this at all".  You've got a huge range of 
storage paradigms there.  Redis is basically a key-value store.  Mongo 
does documents.  Postgres does relations.  I'm not familiar with Neo and 
Couch, but I assume they also have their own interesting ways of storing 

You need to figure out what it means to abstract search over such a 
diverse range of technologies.  I honestly don't think it's possible, 
but maybe you've got some good ideas.  In any case, you need to figure 
that part out before you even begin to think about how to implement it 
in any particular language.

More information about the Python-list mailing list