On 16/05/12 12:27, Russel Winder wrote:
As a matter of interest why?
Because there are alternatives that need to be investigated on a per
problem basis for the best database.
I agree, but in this case SQL seemed like the most likely fit of the
ones I knew. however:
SQL
MongoDB
I know about these
CouchDB
Cassandra
Neo
These are new to me.
etc. Python only has SQLite3 as standard but there are alternatives. I
have been using PyMongo quite successfully.
Python comes with several storage/access options including shelve, gdbm,
ldap, cobfig files, XML, in addition to SQL.
It is not clear that the original table works better with the relational
model compared to one of the key-value stores or document stores.
Most key-value stores are optimised for fast queries of a single type
and generally not great at grouping or ordering. They also tend to major
on flexiblity of data format. The OPs requirements suggested intelligent
filtering of a fixed record format which is one of the areas where SQL
works well. The other side of the coin is that the data is essentially
single table so the relationship management aspects of SQL would not be
needed. So I agree we don't have enough detail
to be 100% sure that another option would not work as well or better.
But most other options require learning new (often bespoke) query
languages and have limited user tools. All of these factors need to be
included too. Mongo et al tend to be better suited, in my experience, to
machine access applications rather than end user access.
There are various articles around the Web comparing and contrasting
these various models. Some of the articles are even reasonable :-)
Wikipedia is my friend :-)
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor