Re: LDBC driver
- From: Silvio Bierman <sbierman@xxxxxxxxxxxxxxxxxx>
- Date: Wed, 04 Jun 2008 11:07:21 +0200
Thomas Kellerer wrote:
Lew, 04.06.2008 03:08:Where RDBMSes differ the most is in DDL, which is generally outside the scope of the Java program and not such an issue there.
I think where RDBMs differ most, is the handling of concurrency. There is a huge difference between e.g. SQL Server and Postgres when it comes to concurrent read & writes (e.g. readers blocking writers) and that can cause a lot more trouble than problems with the syntax.
The strategies on how to implement things can vary a lot depending on the constraints imposed due to the concurrency handling of the DBMS. We have a unit test that runs certain stream of concurrent transactions, and it simply locks up with MySQL (and I think SQL Server) but runs perfectly with Oracle and Postgres as they generate a lot less locks between readers and writers.
The different concurrency strategies of the RDMBS vendors usually call for different algorithms in order to make the most efficient use of the system. The typical SQL Server way of doing things by putting stuff into a temp table and then operate on a temp table works pretty well there, but would kill an Oracle server. On the other hand, the same process tailored against a Postgres database would simply kill SQL Server because of locks generated during updates.
Those problems cannot be solved with a common SQL "dialect" and are - in my opinion - much more important than the differences in syntax.
Just my 0.02€
Thomas
Agreed. For that reason we advise large-scale users to stay away from MySQL and SQLServer. The generic database handling we have allows us to implement a database-clone action from one provider to the next and we have used that several times to "upscale" users from MySQL or SQLServer to PostgreSQL or Oracle.
We have had to migrate our own ASP platform from MySQL to PostgreSQL when usage levels began to increase.
I would never implement the workarounds you describe for SQLServer in any system if using a different database system is an option in any way. Since our software is a standard system we do not even offer large-scale performance on poorly-scaling database backends.
Silvio
.
- Follow-Ups:
- Re: LDBC driver
- From: Lew
- Re: LDBC driver
- From: Thomas Kellerer
- Re: LDBC driver
- References:
- LDBC driver
- From: blueparty
- Re: LDBC driver
- From: Lew
- Re: LDBC driver
- From: Thomas Kellerer
- LDBC driver
- Prev by Date: Re: LDBC driver
- Next by Date: Re: LDBC driver
- Previous by thread: Re: LDBC driver
- Next by thread: Re: LDBC driver
- Index(es):
Relevant Pages
|