>Hello Peter,
>
>As you're aware, Nortel Networks has adopted IDB as part of one
>of its programs. One of our customer engineering requirements
>is specifying the disk space and memory needs for
>our product. As such, I was wondering if there is a way (a rough
>formula perhaps?) we can use to determine what IDB will chew up
>given the table definitions?
>
>Thanks!
>Bregitte
Bregitte
I haven't tried this out yet - so this is only theory. For each row in a
table
assume the following number of bytes for the data types shown:
int 4
long, currency, date 8
byte 1
binary 4+size of blob
This applies to each row on disk and to each row cached by virtue of the
cacheAmount and cacheCondition properties. Each cached entry in each
row is also a Java object. So there is the normal Java object overhead
(I don't know exactly what this is - but someone said it was quite high -
15 bytes - but I'm not certain).
By default, ResultSets are held entirely in memory. So the above data sizes
apply to all result sets as well (including object overheads), although
InstantDB will reuse cached objects where available.
If a table gets heavily updated then double the above figures. InstantDB
never physically deletes rows (only marks them as free) and updates are done
via a delete then an insert, so a lot of rows can get marked as deleted.
Indexes - assume 15 bytes per row regardless of data type being indexed.
Each table has a disk read ahead buffer which is the size of the row times
the rowCacheSize property.
The InstantDB code occupies between 250 and 300 Kbytes in memory, and its
SQL parsing structure currently occupies about 100K (as of 3.14 beta 5).
I think those are the major overheads, but if I come across any others I'll
let you know.
Regards
Pete
Peter Hearty
Lutris Technologies UK Ltd.
-----------------------------------------------------------------------------
To unsubscribe from this mailing list, send email to majordomo@enhydra.org
with the text "unsubscribe instantdb" in the body of the email.
If you have other questions regarding this mailing list, send email to
the list admin at owner-instantdb@enhydra.org.
|