473,511 Members | 9,983 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Request for recommendations: shared database without a server

EP
I need to build a fairly simple application that will reside on remote
storage, not on a server, and I am looking for any best practices and
approaches that have worked for others. I believe py2exe may be part
of the solution. Here's what I need to build:

-- A database application on a network drive
-- A variety of users will access the database application at various
times
-- All computing is done on the client machines (Windows XP), as there
is no server
-- I'll not be able to install a database program, or Python, on the
client machines

While this seems just the sort of application servers were designed
for, the absence of a server is a firm constraint (no technological
reason, just an arbitrary wall of infinite height)

I currently have some of the required database tables populated in
MySQL, but I can migrate them as long as I have SQL capabilities in the
new database.

Can I get there with MySQL? Or do I need to pair a pure python
approach (including the database) with py2exe? Has anyone achieved
this with a db framework like Dabo? Or is there another, entirely
different and better approach?
The common wisdom around the halls is to just use MS Access, because
apparently everyone has that on their client machines, or can be
asked/expected to install it. That's not my preference, but I need to
forget my biases, be pragmatic and get the application done.

Thanks for any advice
EP

Oct 5 '06 #1
6 1271
-- A database application on a network drive
-- A variety of users will access the database application at various
times
-- All computing is done on the client machines (Windows XP), as there
is no server
-- I'll not be able to install a database program, or Python, on the
client machines
This pretty much leaves you out of any options - and contradicts your
last paragraph.
While this seems just the sort of application servers were designed
for, the absence of a server is a firm constraint (no technological
reason, just an arbitrary wall of infinite height)

I currently have some of the required database tables populated in
MySQL, but I can migrate them as long as I have SQL capabilities in the
new database.

Can I get there with MySQL? Or do I need to pair a pure python
approach (including the database) with py2exe? Has anyone achieved
this with a db framework like Dabo? Or is there another, entirely
different and better approach?
The common wisdom around the halls is to just use MS Access, because
apparently everyone has that on their client machines, or can be
asked/expected to install it. That's not my preference, but I need to
forget my biases, be pragmatic and get the application done.
Access might really be the best solution. It is pretty good for what it
is supposed to do, and the quick prototyping and UI-designing are strong
arguments for it, especially if there already is a bias towards it.

I also _think_ that the whole "db on a shared volume" thing works
comparably neat.

However, there _can_ situations arise where it might get corrupted, as
e.g. file locking on a network share isn't as reliable as one wants it
to be - so if you do anything to tear down some infinite walls, try it.

Diez
Oct 5 '06 #2
Access might really be the best solution. It is pretty good
for what it is supposed to do, and the quick prototyping and
UI-designing are strong arguments for it, especially if there
already is a bias towards it.

I also _think_ that the whole "db on a shared volume" thing
works comparably neat.
Just a caveat from past experience...I've had trouble with Access
(at least older version) sharing DBs on a network drive. It
didn't work /too/ badly, but it scaled horribly. 3 concurrent
users was noticably slow. 5 concurrent users was painful. Above
10 users was agony.

Fortunately, I was one of the ones redesigning the replacement
system to actually use a database server. Granted, as merely a
PFY at the time, I didn't have much input into the choice of
server (MS-SQLServer) nor into the language (Visual FoxPro), just
got to execute the plans of the higher-ups.

-tkc

Oct 5 '06 #3
Tim Chase schrieb:
>Access might really be the best solution. It is pretty good
for what it is supposed to do, and the quick prototyping and
UI-designing are strong arguments for it, especially if there
already is a bias towards it.

I also _think_ that the whole "db on a shared volume" thing
works comparably neat.

Just a caveat from past experience...I've had trouble with Access (at
least older version) sharing DBs on a network drive. It didn't work
/too/ badly, but it scaled horribly. 3 concurrent users was noticably
slow. 5 concurrent users was painful. Above 10 users was agony.
Yeah, I recall that dimly, too. But at least it worked, only when
putting really much stress on the system it produced inconsistencies
such as doubledly assigned ids and the like. Seems to me that they are
pretty conservative regarding locking.
Fortunately, I was one of the ones redesigning the replacement system to
actually use a database server. Granted, as merely a PFY at the time, I
didn't have much input into the choice of server (MS-SQLServer) nor into
the language (Visual FoxPro), just got to execute the plans of the
higher-ups.
The architectural benefits are for sure, therefore my suggestion to tear
down some walls.

But VFP really can get messy... and at least the late-90ies, early 21stK
ms sql sucked pretty badly, feature-wise access/JET beat the crap out of
it any time back then...

diez
Oct 5 '06 #4
EP wrote:
I need to build a fairly simple application that will reside on remote
storage, not on a server, and I am looking for any best practices and
approaches that have worked for others. I believe py2exe may be part
of the solution. Here's what I need to build:

-- A database application on a network drive
-- A variety of users will access the database application at various
times
-- All computing is done on the client machines (Windows XP), as there
is no server
-- I'll not be able to install a database program, or Python, on the
client machines

While this seems just the sort of application servers were designed
for, the absence of a server is a firm constraint (no technological
reason, just an arbitrary wall of infinite height)

I currently have some of the required database tables populated in
MySQL, but I can migrate them as long as I have SQL capabilities in the
new database.

Can I get there with MySQL? Or do I need to pair a pure python
approach (including the database) with py2exe? Has anyone achieved
this with a db framework like Dabo? Or is there another, entirely
different and better approach?
The common wisdom around the halls is to just use MS Access, because
apparently everyone has that on their client machines, or can be
asked/expected to install it. That's not my preference, but I need to
forget my biases, be pragmatic and get the application done.

Thanks for any advice
EP
So what is going to be holding the "network drive" if it isn't a server?
And what is MySQL running on?

Isn't it 'odd' that you can expect people to install MS Access but not
some other program?

I had to use only "existing" database tools, and the data wasn't
too large or too complicated I would use ODBC to dBase file which
is built into all versions of Windows that I'm aware of. I think
you would find that it would work for small number of users. With
some good planning you should also be able to architect application
so that you can even change the underlying database later without
too much heartburn.

-Larry Bates

Oct 5 '06 #5
EP
Larry Bates wrote:
So what is going to be holding the "network drive" if it isn't a server?
And what is MySQL running on?

The network drives are on a filer (a NAS array, I believe). The filer
will not execute any code, it just serves data by whatever protocols
(example: CIFS, NFS) it is set up for.

I have MySQL running on my client machine for development, populating
itself from csv files out on another network drive which a perl cgi
script updates. Thick in kludge, I am.

Isn't it 'odd' that you can expect people to install MS Access but not
some other program?

Odd and frustrating, but MS Access is "normal".

I had to use only "existing" database tools, and the data wasn't
too large or too complicated I would use ODBC to dBase file which
is built into all versions of Windows that I'm aware of. I think
you would find that it would work for small number of users. With
some good planning you should also be able to architect application
so that you can even change the underlying database later without
too much heartburn.

Interesting idea.
thanks

Oct 5 '06 #6
EP wrote:
>
[Client-only application with shared storage and concurrent access]
Can I get there with MySQL? Or do I need to pair a pure python
approach (including the database) with py2exe? Has anyone achieved
this with a db framework like Dabo? Or is there another, entirely
different and better approach?
One of the features of SQLite version 3 is supposedly the possibility
of having multiple processes safely access an SQLite database:

http://www.sqlite.org/faq.html#q7

Unfortunately, networked storage may not be supported to any level
acceptable for your application.

Paul

Oct 6 '06 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
5308
by: Angie | last post by:
Hello everybody, I have an osCommerce shopping cart on my site, which is an open-source product that uses php. I'm very new to php. I also have an online scheduling application that I outsourced...
1
3877
by: Google Mike | last post by:
I'm using PHP 4.2.2 on RH9 Linux (with Progeny.com updates, in case you're wondering). I was using shared memory (shm* API) a great deal in my web applications because I have 1GB of RAM on this...
6
2402
by: Drew | last post by:
I have been trying to figure out why I am getting this message... I have an application that is 20 different ASP pages that works in sequential order (step1, step2, step3...). After each step the...
10
6918
by: Bo Rasmussen | last post by:
Hi, I have a problem : I have a form with some buttons. When one of these buttons is pressed a new URL with some parameters to e.g. delete something from a database. The problem is that when the...
6
7304
by: Marvin Libson | last post by:
Hi All: I am running DB2 UDB V7.2 with FP11. Platform is Windows 2000. I have created a java UDF and trigger. When I update my database I get the following error: SQL1224N A database...
6
3785
by: Ammar | last post by:
Dear All, I'm facing a small problem. I have a portal web site, that contains articles, for each article, the end user can send a comment about the article. The problem is: I the comment length...
5
5557
by: Janning Vygen | last post by:
Hi, tonight my database got corruppted. before it worked fine. since two days i do the following tasks every night psql -c 'CLUSTER;' $DBNAME psql -c 'VACUUM FULL ANALYZE;' $DBNAME ...
3
2140
by: DR | last post by:
I heard there is some trick to referencing statics in C# CLR stored procedure without having to mark the assembly as unsafe. Does anyone know this? This is usefull as the case of needing a little...
4
1846
by: .nLL | last post by:
Hi, im am a classic asp developer and started to learn asp.net but got stuck with a simple problem even before i step in to further. to learn i have started from a simple project (a login system...
0
7251
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7148
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7367
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7430
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7089
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7517
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
1
5072
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3230
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
451
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.