Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Peer To Peer Network RDBMS?

Status
Not open for further replies.

RHankinsJr

Programmer
May 18, 2002
67
US
What are your suggestions for a RDBMS solution that can be ran locally and shared via a peer to peer serverless network.

--

More information, TLDR section:

I have a software package that is currently running on an ISAM database structure (DBF\CDX). I am currently creating a plan for conversion of this application to a RDBMS backend.

My software is distributed across around 200 small networks (1-5 PCs) and a hand full of larger (by comparison) networks (6-20 PCs via Novell or Samba). I do not wish to roll out a server to each of these locations and the people in charge of those networks may not have the money to purchase a server solution.

With the current ISAM solution I can run peer to peer file sharing with minimal hits in speed but with each release of Windows it takes a larger and larger hit in reliability and performance. With that in mind as I convert the program I am also converting the backend to a more mainstream solution.





Richard L. Hankins Jr.
Senior Programmer
Auction Services, Inc.
 
MySQL is free, and can run on a reasonable specification workstation while giving you the advantage of centralised database management. However, I think the biggest problem will be converting your front end to a back end platform without rewriting the whole thing.

In my previous job I had experience with an old HR/Payroll system developed using a well known Cobol compiler (deliberately not saying what). The vendor offered it to run either via ISAM files (in which performance was good) or via SQL Server (which performance was a lot slower) - things like a pay run took 10 minutes via ISAM data, 4 hours in SQL server data - because the backend code was optimised to run using ISAM methods. Yet the DB server was pretty beefy and well over the recommended specification - it was the COBOL code not using SQL correctly that caused the problems.
So we used the ISAM files for day to day use, ran an overnight conversion to SQL server and used that for data exports.

John
 
jrbarnett,

Thank you for your reply.

I am actually in the planning stage of a complete re-write and re-factoring of our software. So any concerns about the software aspect of it will be of no issue. The only issues come in purely from the decisions of the back end at this time.

The situation I am in will require me to have (for sake of argument) the following:

3 win7\8 machines in an isolated network named WS1, WS2 & WS3.
WS1 machine will have ???? RDBMS installed on it and be the primary "data server" in addition to a workstation.
WS2 & WS3 will access the RDBMS installed on WS1 for data connectivity.

Does mysql support non "server" network installations as described above? I had looked for that information online and didn't find a satisfactory answer or example of someone using it in that fashion.

Thanks again

Richard L. Hankins Jr.
Senior Programmer
Auction Services, Inc.
 
Yes - you can run MySQL under a workstation operating system (although standard considerations about data backup apply to this just as if it were running on a proper server).
Its not the only free database engine available - you may want to investigate PostgreSQL as an alternative and I am sure that there are others.

 
Yes but SQL Server Express only supports 5 concurrent connections. They are talking about maximum 20 PC's in some of their larger installations, and moving to a full SQL Server standard will cost significant sums of money.

John
 
There are more open source databases than just MySQL. Still more famous than ISAM, Clipper, dBase or Foxpro. Migrating from DBF could also be done with Firebird, Ingres and PostgreSQL and all of these also run on a workstation and a peer to peer network. Maybe take a look at MariaDB, a MySQL compatible spin off keeping it more to the core GPL license:
In special cases you may need a commercial license even for MySQL, but mainly only, if you want to use it embedded.
See
Also read the comments, especially this one:
...So, although your app can *connect* to MySQL using such a driver, you *cannot* bundle such a driver with your application and distribute that (unless your software as also GPL licensed).

In practice this is not a problem as long as you have a way to help your clients download the driver and install it themselves.

This means, if you want to use MySQL as a backend database for your customers, they will need to be guided to download and install the ODBC driver or whatever connector you will need for your software. You can also bundle it with your software, but only if you make it free and GPL licensed itself. It's a bit of a legal grey zone, and you would surely not be the first one to move into it.

Really roaylty free are DBF, Access MDB/ACCDB, XML, CSV and TXT. And despite DBF and Access DBs, the other ones are more for data exchange/transfer than to query and maintain them as backend.

Bye, Olaf.
 
You could consider Access as the most accomplished of serverless database products. If you just want a database then SQLite is very widely used.

Some versions of MS SQL Server will fit your bill (I think the limits are in terms of threads not users, so you could probably support your workload without problems, although MS is in the business of getting you to pay once you are in production, if they can).

I assume you aren't actually running peer-to-peer. The dangers of that are much greater than the price of a server.

 
Yes but SQL Server Express only supports 5 concurrent connections. They are talking about maximum 20 PC's in some of their larger installations, and moving to a full SQL Server standard will cost significant sums of money.

That's interesting because I have SQL Server Express in use at a location with over 50 workstations. The thing is that connections to SQL Server are quick and the chances of any five connecting simultaneously is rare, I suppose. That application is order entry/order inquiry/shipping and have about 15 order-takes at any one time.

The company started out three years ago with just five total PCs and have grown quite a bit. I think they can afford the SQL Server standard edition now. But, no one has said anything about slowness or timing out. I'll have to revisit this with them and see if they have outgrown the Express.

Tom

I keep trying to do something about my procrastination but I keep putting it off until tomorrow.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top