Search Postgresql Archives

Re: PostGreSQL for a small Desktop Application

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At 12:34 PM +0200 6/13/07, Magnus Hagander wrote:
On Mon, Jun 11, 2007 at 10:44:38AM -0700, Gabriele wrote:
 I'm going to develop a medium sized business desktop client server
 application which will be deployed mostly on small sized networks and
 later eventually, hopefully, on medium sized networks.
 It will probably be developed using C#.

 I do need a solid DBMS wich can work with .Net framework. I do know
 PostGreSQL is a good DBMS in general (it sports most of the advanced
 DBMS features, transactions and stored procedure included) but i
 wonder if it is suited for my application.

 Knowledge base of my users is very low and "servers" will be standard
 class desktop computers most probably ran on Windows XP (and Vista
 later on, i suspect).
 The service should be enough lightweight to be ran on such "server"
 and I need silent installation and configuration because i can't
 expect my user to be able to configure a DBMS.

Silent installation is available and works fine. There will be a bit of
overhead, especially in disk usage, compared to an embedded database. But
it's much better than most commercial ones, like MSDE.
See http://pginstaller.projects.postgresql.org/silent.html.


 Additionally i need a passable to good data provider to interface
 PostGreSQL with .Net which possibly provide better performance than
 ODBC (don't know if it exists and i hope it is free).

npgsql (http://pgfoundry.org/projects/npgsql) works very well for .net.


 Anyway performance shoudn't be a big issue, i expect low concurrency
 level (less than 10 users) and low to medium volume of rows and
 queries. If more users and more data are needed for especially big
 customer i can simply suggest bigger and dedicated server. (different
 problems will arise for the aggregated data which will feed the web
 application, but for these we will have a real server).

 Is PostGreSQL suited for such use? If not which alternatives are there
 to be used? When using PostGreSQL in such a way is there any
 suggestion to be followed? Links to sources which i may find
 interesting (how to make a silent install, basic hardware
 requirements, so on).

Your other option would be to use an embedded database like SQLite. It has
a much smaller footprint, but is of course also a lot less capable. But it
could be worthwhile to check it out.

As for suggestions, well, don't forget to run autovacuum and to schedule
your backups properly. You can certainly not expect your users to do that
:) Also, plan and test in advance a method for upgrading the installations
- you'll always want to be at the latest release in a branch as soon as
possible after the release.

I'm in almost exactly the original poster's boat. I introduced PostgreSQL into a rewrite of an old application that ran with an Access backend, and I'm certainly glad I moved up.

There are a couple of .Net interfaces. The OLE one is OK, but seemed a lot slower than Npgsql, which really is pretty good performance, at least for my usage. I've used the ODBC interface for using Crystal Reports, but not enough so I can measure its performance. I'd recommend Npgsql.

Right now my backend is running on a Macintosh Xserve, which does a backup cron task every night, and rsyncs the backups over to another offsite location. Since my database isn't that big (~30MB), this isn't a big deal.

I've run Postgres as a server on both Windows and Mac, and it seems to make a bigger strain on Windows performance than on Mac performance (probably because the scheduler for multi-tasking on the Mac suits it better). I'll probably use windows as the installed backend, but I might just drop in a Mac Mini if that's problematic (not from Windows, but trying to get space on a client's server).

-Owen


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux