hi,
i´m new to this mailing list and the hsql-project...
during the analysis of the source-code to get an understanding how the
things interact and work together, it struck me that the way to make
databases persistent is to write all rows of an table into one large
binary file using random acces methods (file pointers, seek,...)
so is the resulting structure of the file (rows appended everytime) one
large serialized block, containing all table information...
->did i understood that correct?
doing that this way causing some questions in my mind...
how do you store variable length character fields? did you allocate the
maximum field size or take you advantage of real variable sized records?
(eigther embedded fields or attached variable length fields at the end
of the records fixed size fields)
the question is, your persistence-strategy (as described above) gets
realy into trouble if you enlarge the content of variable sized
record-fields... same occours if someone want to alter an existing table
and wanna insert an new row...
the result should be to restructure the datafile containing the table
data, because there is no available space between the serialized
records, according record-acces with an real file-offset...
->doing that this way may acceptable on small database files... but on
your feature list you promote to support very large databases up to 8
gig... (maybe with the capability of internal structures, but not really
in practise... pour performance...)
an better solution (specially if you wana use the engine as an server)
should be an paged file as described in most database-architecture books
so my question, is anyone working on such an persistence-layer?
if not, i´m interested in try to do it...
as result that could easily support different page-insert strategies
(update in place or allocate a new pages) furthermore that would support
great revised physical logging
ciao thomas
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
hsqldb-developers mailing list
hsqldb-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hsqldb-developers