InstantDB Project
About InstantDB
Project Mail Lists
Short History
Reporting Bugs
Screen Shots
3rd Party Examples
FAQs

Software
Downloads
Documentation
CVS Repositories
Roadmap
License

About Enhydra.org
Who We Are
News, Articles & Events
Getting Involved
Contact Us

Community
Demos
Contributions
Resources
Case Studies
On The Edge! -NEW-
Commercial Vendors


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

InstantDB: Fw: disk space/memory requirements for IDB?


>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.