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

Reply via email to