views:

473

answers:

9

Hello everyone.

Which of the Database servers would you people recommend for using in a moderate-to-large scale (will vary from customer to customer) application.

I know MS SQL but since the app will be developed using delphi the .net framework is kind of annoying to deploy aswell. Also how realiable is Interbase.

Thanks in advance.

+1  A: 

I would definitely recommend looking at Interbase by Embarcadero or the open-source sibling, Firebird. Both are very well supported by Delphi by means of native, high-performance db-access components and such.

Interbase is a totally rock-solid database - I would put it on a par with SQL Server or Oracle. It's totally capable of handling medium to high traffic for at least 50-100 users concurrently, no problem at all.

Another two worth competitor would be Elevate DB and Nexus DB. Both grew out of Delphi file-based database systems, and both have been around for quite some time (in one form or another) and are well proven, widely used, well tested.

Marc

marc_s
My vote goes for Firebird. It is open-source and works brilliantly. We use it for a high scale development using Delphi and also have it integrated in a C# ASP.Net website.
Diago
+1  A: 

This seems back-to-front to me. I would choose the database server first, then select the development environment that works best with the selected database.

anon
+6  A: 

Data Access to SQL Server has nothing to do with the .NET framework. Delphi can connect just fine to SQL Server.

In terms of database engines that work with delphi, another you can consider is the Sybase Advantage Database server

Conrad
A: 

I have being developing in Delphi for about 6 years using distinct editions of SQL Server, and this database server behaved very very well. All of them were critical applications.

So, I would recommend you to keep with it.If you don't want to use .NET with and keep SQL Server I would recommend an older version pre-2005.

eKek0
A: 

Both Server and Client installations of MS SQL require the .NET framework on the target machine. That's about it. If we can use ms sql without .net on target machine then ms sql is fine.

Aldo
You can access SQL Server from the client using ODBC or OLEDB, neither of which require .NET. I don't see why the requirement to have .NET on the server would be a problem.
anon
+5  A: 

Since I have been developing in Firebird for several years now, if I were in your situation, I would look no further. The fact that you can develop your own extension library (udf library) in Delphi makes it very attractive to start with. Some of the new SQL constructs like the List aggregator and Common Table Expressions are icing on the cake. Deployment is very light (under 5 MB), and the support is excellent including incredible tools like IBExpert. I used MS SQL Server in a big company I worked at a few years ago and I would choose Firebird over MS SQL Server.

I have many Firebird server installed (more than 200) and never have problem with : it's really nice Database and Free.
Hugues Van Landeghem
you can look here http://www.firebirdnews.org/docs/fb2min.html
Hugues Van Landeghem
+1 A big plus in addition to small size and cost is that it does not suffer badly from deadlocks like SQL Server. Oracle is another matter all together, but is certainly overkill for your requirements.
David Taylor
Another plus is that it can be used both embedded and client/server.And it has advanced features (e.g. domains, constraints).It's a fork of Interbase.
reinierpost
+1  A: 

SQL Server. For 2005, you can make your own SQL Server deployment application that automates installing of Windows Installer 3.1, .NET Framework 2.0, SQL Server 2005 then installing the database through generatated SQL script (Feel free to contact me if you need help with it, I'd gladly help you). If you still insist on not installing .Net framework which is 22MB, I'd say go with SQL Server 2000 as you can still upgrade it to 2005+ when you'd like to.

Also, I had been using Advantage Database Server for few years and it's alright, Few DLLs to copy and you're ready to go even if you'd like to switch to remote version.

Ertugrul Tamer Kara
TOP X in a subquery has been supported in Advantage for over 2 and a half years.
Jeremy Mullin
+2  A: 

Interbase is as reliable as they come. In fact, I'd like to get a job as an Interbase DBA, because I could uses the sleep.

Nick Hodges
A: 

This isn't really an answer, but some things you might like to consider before making your mind up.

What do you mean by moderate-to-large scale? Do you mean by the number of concurrent users or by the amount of data being stored?

Are you going to be supporting the database as well when it's deployed, or might the customer have their own DBAs and want to incorporate it into their infrastructure team's remit?

Do you need to build-in complex features like auditing or granular security that some databases might provide out-of-the-box? Do you need to be able to run an overnight batch process on the database in some controlled manner?

Do you need to be able to have robust high-volume transactional support, or is it more for just using as a sink for reporting data? i.e. is it more OLTP or OLAP?

Are you limited by cost? i.e. does it need to be free/open-source, or can you select paid-for vendor product?

Both Firebird & Interbase are great, but not generally well-received into an "enterprise" environment in my experience unless they're "hands-off" and embedded into the application. MS SQL Server is a "safe-bet" for most systems. There is a cost associated with it but, as you know, it does come with a complete toolset and very good support.

If you do go down the Firebird or Interbase route then do take a look at Jason Wharton's IBObjects library which provides a high-performance replacement for BDE when using these databases. http://www.ibobjects.com/

Trevor Tippins