faq
flatforty
contribute
subscribe
configure
search
rdf
main
parent
thread
|
Re: reiser4?
by David Neeley on Saturday 28/Oct/2006, @14:00
|
Frankly, I believe that SQL databases in general may not be the best solution for this problem.
Some years ago, I was one of the investigators into a potential application in which we benchmarked various database solutions. The "post-relational" databases of which the old Pick system was progenitor had performance many times that of the relational ones.
In case you are unaware of it, these databases comply with all but one of the Codd and Date's Rules of Normalization--the first, that every item must be "unique and atomic." In other words, a single record could store an entire table.
Consider the common introduction to relational databases in which a video rental store is used. One table contains the individual customer records, with a unique customer number. Another table contains the rental records, with one column containing the customer ID numbers. To get a look at rental history for a given customer, then, a join must be performed in which the rental table is searched with each rental by the given customer's ID being extracted to build the list.
In a Pick-style database, the individual rental info can be stored directly int he customer table. Extracting rental info merely means looking up that customer record and viewing the ever-expanding rental list. No joins, far less memory, and much more speed!
Another possibility might be a datastore similar to the "Titanium" database of Micro Data Base Systems. In that one, many-to-many relations can be directly mapped as selected by the programmer. This results in a well-written program having even more performance yet.
In our tests, the Pick style database ran about 25 times faster than the then-current SQL databases; the Titanium engine about 40 times faster and with much lower system overhead.
In short, the only advantage I see for an SQL system is the large number of tools available for them.
David |
|
|