[Metakit] Maximum practical size of Metakit databse?

Jean-Claude Wippler jcw at equi4.com
Thu May 5 13:58:23 CEST 2005


Davis Adrian wrote:
> What factors govern the maximum practical size for a Metakit database?

(This email was pending in a queue I rarely check nowadays due to the  
levels of spam flooding it, please consider subscribing to the  
mailing list to avoid getting in there)

There's a hard limit at 2 Gb due to the way signed 32-bit ints are  
used in MK and due to the limitations of a 32-bit address space.

You'll be able to get close to that if there are not too many  
subviews, you don't modify large amounts of data (modifications use 4  
Kb memory buffer chunks).  Reading is usually ok, it's usually the  
creation side that causes trouble first.  I'd expect a blocked view  
with only numerical data to get furthest, all the way up to that 2 Gb  
barrier in fact.

So with MK 2.4.9.3, I'd say that generally speaking 1 Gb is roughly  
the end of it.  If you have large amounts of data being small ints,  
these sizes cannot easily be compared with other database solutions,  
due to MK's use of adaptive int vectors which can be substantially  
more compact.

Btw, on a 64-bit architecture you can actually sneak around these  
limits by using multiple datafiles.  Note that all view operators can  
be used across datafiles.

The current codebase won't go beyond these limits even on a 64-bit  
architecture.  In the lab I've been growing a new "strain" of MK  
which overcomes this, as a recent test with an 8 Gb MK datafile  
proved (the next-generation size limit will end up in the Tb range).   
IOW, the file format can handle larger datasets - it's just the code  
which runs out of steam.

-jcw


More information about the Metakit mailing list