Database and Interface for Python

M

Michael Foord

I'm writing a couple of modules that store information about user
'behaviour'. E.g. a user accesses a certain page of a website at a
certain date-time with a certain referrer.

I need to analyse this information by different criteria. E.g. How
many users accessed the website between August 5th and August 12th,
listed by refferer !! etc It would be great to have a database engine
where I could ask these questions in just a couple of queries, rather
than having to implement all the sort/analyse functions myself.

I guess this is as bad a time as anyto start to learn to use a
database !! So I look on google and the situation is a little unclear.
I can use the database API that will give me a 'consistent
interface'... but I still need a database engine installed. e.g.
MySQL. Not only that but I need a python interface to that engine that
the database API can use ? (or I can just directly use the python
binding for whichever database I pick ?).

I think the web server I use will allow MySQL databases, so if I
install it on my windoze box and install the MySQLdb python module
then I'm well away....


Have I got it right ? Can I do 'date range' queries using MySQL,
MySQLdb and the Python database API ?

Regards,


Fuzzy

http://www.voidspace.org.uk/atlantibots/pythonutils.html
 
L

Larry Bates

Michael said:
I'm writing a couple of modules that store information about user
'behaviour'. E.g. a user accesses a certain page of a website at a
certain date-time with a certain referrer.

I need to analyse this information by different criteria. E.g. How
many users accessed the website between August 5th and August 12th,
listed by refferer !! etc It would be great to have a database engine
where I could ask these questions in just a couple of queries, rather
than having to implement all the sort/analyse functions myself.

Yep, databases are fast, reliable and scalable for this.
I guess this is as bad a time as anyto start to learn to use a
database !! So I look on google and the situation is a little unclear.
I can use the database API that will give me a 'consistent
interface'... but I still need a database engine installed. e.g.
MySQL. Not only that but I need a python interface to that engine that
the database API can use ? (or I can just directly use the python
binding for whichever database I pick ?).

Python has a good DB interface to MySQL that works well.
I think the web server I use will allow MySQL databases, so if I
install it on my windoze box and install the MySQLdb python module
then I'm well away....


Have I got it right ? Can I do 'date range' queries using MySQL,
MySQLdb and the Python database API ?

Yes you can. Dates are stored in special format (not text) in the
database that make searching/sorting possible. You can also define
index on a date column and jump directly to a specific date (skipping
all dates you don't want to process) or range of dates.
 
M

Maciej Dziardziel

Michael said:
I need to analyse this information by different criteria. E.g. How
many users accessed the website between August 5th and August 12th,
listed by refferer !! etc It would be great to have a database engine
where I could ask these questions in just a couple of queries, rather
than having to implement all the sort/analyse functions myself.

Just simply transfer those your data to database and then retrievieng
detailed information will be simple.
I guess this is as bad a time as anyto start to learn to use a
database !! So I look on google and the situation is a little unclear.
I can use the database API that will give me a 'consistent
interface'... but I still need a database engine installed. e.g.
MySQL. Not only that but I need a python interface to that engine that
the database API can use ?

Yes, you will need both database and python interface to access it.

I think the web server I use will allow MySQL databases, so if I
install it on my windoze box and install the MySQLdb python module
then I'm well away....

Webserwer has nothing to do with database.
Have I got it right ? Can I do 'date range' queries using MySQL,
MySQLdb and the Python database API ?

Yes.
 
D

Dennis Lee Bieber

I can use the database API that will give me a 'consistent
interface'... but I still need a database engine installed. e.g.

The "database API" is a specification of what a database
specific interface module should implement for "consistent" access. It
doesn't have a physical existence (you can't "import API").
I think the web server I use will allow MySQL databases, so if I
install it on my windoze box and install the MySQLdb python module
then I'm well away....
MySQLdb is /a/ module that implements the "database API" for
MySQL; there are many other modules that implement the "database API"
for other database engines.
Have I got it right ? Can I do 'date range' queries using MySQL,
MySQLdb and the Python database API ?
If you can do one using the command-line mysql client program,
sure... Since all you do in a DB API compliant module is generate a
string of the same SQL used in the command-line....

--
 
M

Maciej Dziardziel

Michael Foord wrote:

It does if it's a 'web application' your developing !! Whatever
solution I choose has to work on my server *and* on my windoze nox for
testing !!

You can use (almost) any web server with any database, they are separate
components (except few non-popular integrated solutions), so your web
server will allow you to use mysql.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,997
Messages
2,570,239
Members
46,827
Latest member
DMUK_Beginner

Latest Threads

Top