Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Database recommendations for Windows app

Reply
Thread Tools

Database recommendations for Windows app

 
 
Will McGugan
Guest
Posts: n/a
 
      06-22-2005
Hi,

I'd like to write a windows app that accesses a locally stored database.
There are a number of tables, the largest of which has 455,905 records.

Can anyone recommend a database that runs on Windows, is fast /
efficient and can be shipped without restrictions or extra downloads?

I have googled and found plenty of information on databases, its just
that I dont have enough experience with databases to know which one is
best for my task!


Thanks in advance,

Will McGugan
--
http://www.willmcgugan.com
"".join({'*':'@','^':'.'}.get(c,0) or chr(97+(ord(c)-84)%26) for c in
"jvyy*jvyyzpthtna^pbz")
 
Reply With Quote
 
 
 
 
Thomas Bartkus
Guest
Posts: n/a
 
      06-22-2005
"Will McGugan" <(E-Mail Removed)> wrote in message
news:42b97240$0$24467$(E-Mail Removed)...
> Hi,
>
> I'd like to write a windows app that accesses a locally stored database.
> There are a number of tables, the largest of which has 455,905 records.
>
> Can anyone recommend a database that runs on Windows, is fast /
> efficient and can be shipped without restrictions or extra downloads?
>
> I have googled and found plenty of information on databases, its just
> that I dont have enough experience with databases to know which one is
> best for my task!


If you are writing strictly for the MS Windows platform
And
If the database is running single user with a "locally stored database" on a
Windows workstation.
Then
The MS Access file based (.mdb) system is hard to argue with.
You wouldn't have to distribute the (rather expensive) Access application
since this is little more than a front for the underlying DAO/ADO database
libraries that are built into the warp and woof of MS Windows. Your Python
application can address the DAO or ADO directly as these will libraries will
be pre-installed and/or freely available for MS Windows. Fast, freely
available, no license restrictions, and no need for extra downloads for a
reasonably recent (Win2000, XP) operating system.

On the other hand, if operating system portability were a concern (as it
should be!), I might suggest MySQL.
A Python/MySQL application can jump between Windows to Linux (all flavors!)
to Unix to BSD without need to alter a single line of code.

You were writing a Python app, weren't you
Thomas Bartkus


 
Reply With Quote
 
 
 
 
Magnus Lycka
Guest
Posts: n/a
 
      06-22-2005
Will McGugan wrote:
> Hi,
>
> I'd like to write a windows app that accesses a locally stored database.
> There are a number of tables, the largest of which has 455,905 records.
>
> Can anyone recommend a database that runs on Windows, is fast /
> efficient and can be shipped without restrictions or extra downloads?
>
> I have googled and found plenty of information on databases, its just
> that I dont have enough experience with databases to know which one is
> best for my task!


Neither do we, considering that brief description.

Will there be multiple simultaneous users?
Multiple simultaneous writers?
Do you require proper transaction management?
(Or is it a pure read-only database, since you know
exactly how many records the largest table has?)
Do you need to make ad-hoc queries?
What will your code look like?
* Is it object-oriented?
* Are there a lot of fixed relations between objects?
Are there other requirements such as need for undo or
change history management?
Does the application work with small chunks of data at a time
(such as in a ticket ordering system) or with larger chunks
(such as in a web site CMS)?
What size is it? It's a big difference between 455,905 integers
and 455,905 mp3 files for instance...
"A number of tables" tells us very little, more than suggesting
that it's more than one... Ten and 200 makes a big difference.
 
Reply With Quote
 
Magnus Lycka
Guest
Posts: n/a
 
      06-22-2005
Thomas Bartkus wrote:
> If you are writing strictly for the MS Windows platform
> And
> If the database is running single user with a "locally stored database" on a
> Windows workstation.
> Then
> The MS Access file based (.mdb) system is hard to argue with.


I disagree. What does .mdb/jet without Access offer you that you
don't get from e.g. SQLite except vendor lock-in and horrible
deviations from the SQL standard? Ok, it does give you somewhat
stronger typing, which you might possibly want, but if that's
an issue, I'd suggest embedded firebird (if we want serverless).

I'm not entirely sure something SQLish is the way to go though.

Also, the best ODBC adaper for Python, mxODBC, isn't free. Last
time I used adodbapi, it was a bit buggy, and pure ADO or DAO
solutions don't follow the Python standard DB-API 2.
 
Reply With Quote
 
=?ISO-8859-1?Q?Gregory_Pi=F1ero?=
Guest
Posts: n/a
 
      06-22-2005
I always figured a problem with using MySQL was distribution. Would
you have to tell your users to install MySQL and then to leave the
service running? I've never found an easy way to embed MySQL into a
python app, and even if you could, would you then have to pay for it?

-Greg


On 6/22/05, Thomas Bartkus <(E-Mail Removed)> wrote:
> "Will McGugan" <(E-Mail Removed)> wrote in message
> news:42b97240$0$24467$(E-Mail Removed)...
> > Hi,
> >
> > I'd like to write a windows app that accesses a locally stored database..
> > There are a number of tables, the largest of which has 455,905 records.
> >
> > Can anyone recommend a database that runs on Windows, is fast /
> > efficient and can be shipped without restrictions or extra downloads?
> >
> > I have googled and found plenty of information on databases, its just
> > that I dont have enough experience with databases to know which one is
> > best for my task!

>
> If you are writing strictly for the MS Windows platform
> And
> If the database is running single user with a "locally stored database" on a
> Windows workstation.
> Then
> The MS Access file based (.mdb) system is hard to argue with.
> You wouldn't have to distribute the (rather expensive) Access application
> since this is little more than a front for the underlying DAO/ADO database
> libraries that are built into the warp and woof of MS Windows. Your Python
> application can address the DAO or ADO directly as these will libraries will
> be pre-installed and/or freely available for MS Windows. Fast, freely
> available, no license restrictions, and no need for extra downloads for a
> reasonably recent (Win2000, XP) operating system.
>
> On the other hand, if operating system portability were a concern (as it
> should be!), I might suggest MySQL.
> A Python/MySQL application can jump between Windows to Linux (all flavors!)
> to Unix to BSD without need to alter a single line of code.
>
> You were writing a Python app, weren't you
> Thomas Bartkus
>
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>

 
Reply With Quote
 
Dan
Guest
Posts: n/a
 
      06-22-2005
Take a look at Firebird. It can be run in embedded mode. It might be
overkill for your needs though...

On 6/22/2005 10:37 AM, Gregory Piņero wrote:
> I always figured a problem with using MySQL was distribution. Would
> you have to tell your users to install MySQL and then to leave the
> service running? I've never found an easy way to embed MySQL into a
> python app, and even if you could, would you then have to pay for it?
>
> -Greg
>
>
> On 6/22/05, Thomas Bartkus <(E-Mail Removed)> wrote:
>
>>"Will McGugan" <(E-Mail Removed)> wrote in message
>>news:42b97240$0$24467$(E-Mail Removed). ..
>>
>>>Hi,
>>>
>>>I'd like to write a windows app that accesses a locally stored database.
>>>There are a number of tables, the largest of which has 455,905 records.
>>>
>>>Can anyone recommend a database that runs on Windows, is fast /
>>>efficient and can be shipped without restrictions or extra downloads?
>>>
>>>I have googled and found plenty of information on databases, its just
>>>that I dont have enough experience with databases to know which one is
>>>best for my task!

>>
>>If you are writing strictly for the MS Windows platform
>> And
>>If the database is running single user with a "locally stored database" on a
>>Windows workstation.
>> Then
>>The MS Access file based (.mdb) system is hard to argue with.
>>You wouldn't have to distribute the (rather expensive) Access application
>>since this is little more than a front for the underlying DAO/ADO database
>>libraries that are built into the warp and woof of MS Windows. Your Python
>>application can address the DAO or ADO directly as these will libraries will
>>be pre-installed and/or freely available for MS Windows. Fast, freely
>>available, no license restrictions, and no need for extra downloads for a
>>reasonably recent (Win2000, XP) operating system.
>>
>>On the other hand, if operating system portability were a concern (as it
>>should be!), I might suggest MySQL.
>>A Python/MySQL application can jump between Windows to Linux (all flavors!)
>>to Unix to BSD without need to alter a single line of code.
>>
>>You were writing a Python app, weren't you
>>Thomas Bartkus
>>
>>
>>--
>>http://mail.python.org/mailman/listinfo/python-list
>>

 
Reply With Quote
 
Dave Cook
Guest
Posts: n/a
 
      06-22-2005
On 2005-06-22, Will McGugan <(E-Mail Removed)> wrote:

> I'd like to write a windows app that accesses a locally stored database.
> There are a number of tables, the largest of which has 455,905 records.
>
> Can anyone recommend a database that runs on Windows, is fast /
> efficient and can be shipped without restrictions or extra downloads?


http://pysqlite.org

Dave Cook
 
Reply With Quote
 
Thomas Bartkus
Guest
Posts: n/a
 
      06-22-2005
Will McGugan" <(E-Mail Removed)> wrote in message
news:42b97240$0$24467$(E-Mail Removed)...
> Hi,
>
> I'd like to write a windows app that accesses a locally stored database.
> There are a number of tables, the largest of which has 455,905 records.
>
> Can anyone recommend a database that runs on Windows, is fast /
> efficient and can be shipped without restrictions or extra downloads?
>
> I have googled and found plenty of information on databases, its just
> that I dont have enough experience with databases to know which one is
> best for my task!


If you are writing strictly for the MS Windows platform
And
If the database is running single user with a "locally stored database" on a
Windows workstation.
Then
The MS Access file based (.mdb) system is hard to argue with.
You wouldn't have to distribute the (rather expensive) Access application
since this is little more than a front for the underlying DAO/ADO database
libraries that are built into the warp and woof of MS Windows. Your Python
application can address the DAO or ADO directly as these will libraries will
be pre-installed and/or freely available for MS Windows. Fast, freely
available, no license restrictions, and no need for extra downloads for a
reasonably recent (Win2000, XP) operating system.

On the other hand, if operating system portability were a concern (as it
should be!), I might suggest MySQL.
A Python/MySQL application can jump between Windows to Linux (all flavors!)
to Unix to BSD without need to alter a single line of code.

You were writing a Python app, weren't you
Thomas Bartkus



 
Reply With Quote
 
Dan
Guest
Posts: n/a
 
      06-22-2005
On 6/22/2005 11:38 AM, Thomas Bartkus wrote:
> Will McGugan" <(E-Mail Removed)> wrote in message
> news:42b97240$0$24467$(E-Mail Removed)...
>
>>Hi,
>>
>>I'd like to write a windows app that accesses a locally stored database.
>>There are a number of tables, the largest of which has 455,905 records.
>>
>>Can anyone recommend a database that runs on Windows, is fast /
>>efficient and can be shipped without restrictions or extra downloads?
>>
>>I have googled and found plenty of information on databases, its just
>>that I dont have enough experience with databases to know which one is
>>best for my task!

>
>
> If you are writing strictly for the MS Windows platform
> And
> If the database is running single user with a "locally stored database" on a
> Windows workstation.
> Then
> The MS Access file based (.mdb) system is hard to argue with.
> You wouldn't have to distribute the (rather expensive) Access application
> since this is little more than a front for the underlying DAO/ADO database
> libraries that are built into the warp and woof of MS Windows. Your Python
> application can address the DAO or ADO directly as these will libraries will
> be pre-installed and/or freely available for MS Windows. Fast, freely
> available, no license restrictions, and no need for extra downloads for a
> reasonably recent (Win2000, XP) operating system.
>


And then XP Autoupdate executes, some of those Access/MSDE libraries are
updated, and you app is broken.
 
Reply With Quote
 
Magnus Lycka
Guest
Posts: n/a
 
      06-22-2005
Gregory Piņero wrote:
> I always figured a problem with using MySQL was distribution. Would
> you have to tell your users to install MySQL and then to leave the
> service running? I've never found an easy way to embed MySQL into a
> python app, and even if you could, would you then have to pay for it?


There are more reasons than that not to use MySQL...
See e.g. http://sql-info.de/mysql/gotchas.html

It seems a lot of the most badly missed features are
appearing in MySQL 5.0, but as features are added, I
suppose the claimed advantages in performance and
simplicity withers away, and these features can hardly
be considered very mature yet. (One should also note
that MySQL manuals have often claimed that features
it lacked were useless, or even dangerous, until
MySQL AB decided to implement them themselves...


Also, the GPL/Commercial licence is not a good thing
for commercial apps, particularly since this licence
applies even to client libs.

Recent PostgreSQL versions are stable, fast, and have
native Windows versions.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Database Database Database Database scott93727@gmail.com Computer Information 0 09-27-2012 02:43 AM
DataBase DataBase DataBase DataBase scott93727@gmail.com Computer Information 0 09-26-2012 09:40 AM
the easiest way to convert a .net windows app to web app? tom ASP .Net 4 10-24-2008 05:57 PM
Recommendations wtd:Good calendar/scheduling app for windows. Squiggle NZ Computing 6 03-10-2008 07:07 AM
Can connect to SQLServer from windows app, not from web app jhcorey@yahoo.com ASP .Net 1 08-02-2005 01:27 PM



Advertisments