Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #50898
| Date | 2013-07-19 22:25 +1000 |
|---|---|
| Subject | Designing a Pythonic search DSL for SQL and NoSQL databases |
| From | Alec Taylor <alec.taylor6@gmail.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.4864.1374236715.3114.python-list@python.org> (permalink) |
Dear Python community, I am analysing designing an abstraction layer over a select few NoSQL and SQL databases. Specifically: - Redis, Neo4j, MongoDB, CouchDB - PostgreSQL Being inexperienced; it is hard to know a nice way of abstracting search. For conciseness in my explanation, think of `Table` as being table, object, entity or key; and `name` as being name or type. Maybe `res = Table.name.search(<attr_list with conditions>)` Or on multiple `Table`: `res = AbstractDB().AbstractSearch(<Table.attr_list with conditions> <conditions> <Table.attr_list with conditions>)` Then: `res.paginate(limit=25, offset=5)` Or if you want all: `res.all()` And additionally borrow/alias from a relevant subset of PEP249, e.g.: `fetchone` and `fetchmany` Will open-source this once it's of sufficient functionality. What do you think? Advice on better design; or just feedback on what I've mentioned? Thanks, Alec Taylor PS: I am using Bottle. You'll note that some of the syntax I've references is inspired from web2py's DAL and ODMG.
Back to comp.lang.python | Previous | Next — Next in thread | Find similar | Unroll thread
Designing a Pythonic search DSL for SQL and NoSQL databases Alec Taylor <alec.taylor6@gmail.com> - 2013-07-19 22:25 +1000
Re: Designing a Pythonic search DSL for SQL and NoSQL databases Roy Smith <roy@panix.com> - 2013-07-19 08:49 -0400
Re: Designing a Pythonic search DSL for SQL and NoSQL databases Alec Taylor <alec.taylor6@gmail.com> - 2013-07-20 00:55 +1000
csiph-web