Re: Flamewar object databases vs. relational databases
Date: Sat, 21 Jul 2001 23:29:14 GMT
Message-ID: <9fbl6n$lf1$1_at_geraldo.cc.utexas.edu>
In comp.databases Carl Rosenberger <carl_at_db4o.com> wrote:
: Again:
: How would you insert
: - two rows into a relational database
2 inserts in a transaction..
: - where the foreign key in one row is equal to the primary key in the other
hold a key from the first insert, use it in the second.
: - on an ORACLE database
uh-huh...
: - under Java
okay...
: - where performance is of less importance than integrity
??? not sure how this is relevant as we are not designing the DB..
: - and multiple-users access the database
??? this is handled by the database...Oracle has MVCC locks, btw.
Is this something you concern yourself with while using db4o?
this is psuedo Java as I don't write Java. One should assume that test_for_rollback checks the errno or whatever, and if true calls ROLLBACK on the transaction, writes some logs, and exits the block:
CARL_BLOCK {
dbh.execute("begin transaction");
carl_id = dbh.select("select carls_id_sequence.nextval from dual");
errno = dbh.execute("insert into carls_table(id,b,c,d) values(" + carl_id
+ "'someval','someotherval','et cetera')");
test_for_rollback(errno);
errno = dbh.execute("insert into other_table(id,f_id,b,c,d) values(
other_id_seq.nextval" + carl_id + "'lunchtime','is an','illusion')");
test_for_rollback(errno);
dbh.execute("commit");
} // end CARL_BLOCK
: Man or wimp?
: Programmer or bubble-blower?
: Can you solve this problem or not?
Where's the fire?
:> >Who is interested in the theory if our product is fast now? :> :> And if Oracle is faster, and actually enforces the integrity constraints?
: On the same machine an Oracle insert for a simple integer is by more than
: factor 30 slower than our engine. This is a fact. I have test code and
: figures to prove this. If you have other figures, please publish them here
: with source code to prove your "If" argumentation.
I quote from 'Snow Crash' to explain something about self-product test statistics:
H: "Of course I won the fucking sword fight," Hiro says, " I'm the
greatest sword fighter in the world." (in the electronic Metaverse)
R: "And you wrote the software."
:> I did not say there is no product to prove it. I said you cannot prove
your
:> point unless you compare against every possible solution. Choosing one
:> design on one product to compare against proves nothing.
: Yes, it does prove something:
: The other product is very much slower if you use a design that is typical
: for relational development.
: There never is absolute truth.
Agreed, but I think Plato has left the building. But we can bring some mathematics to bear on relational design, but as yet have no corresponding groundwork for OODBMSes. (As an aside, I worked with mathematicians for several years, and I believe that no modern mathematician even fools him/herself with notions of 'truth'.)
: It is very easy to wind yourself out of discussions with "BullShit",
: "Strawman" and "it depends". Just name one feasible alternative to be used
: for access to relational databases from Java. There is no choice.
Many, many people seem to be successfully using all 4 levels of JDBC interfaces, and writing their own wierd interfaces more often than is proper. It is also unwise to assume Java in some way 'special' and inaccessible to relational DBs. It's an almost-Turing machine just like any other language, and thus its constructs can be rewritten in any other language. Marketing does not change that. Received on Sun Jul 22 2001 - 01:29:14 CEST