Table size
Joakim Schramm
joakim at astrocalc.com
Thu Jun 1 20:20:43 CDT 2006
> -----Original Message-----
> From: valentina-bounces at lists.macserve.net
> [mailto:valentina-bounces at lists.macserve.net] On Behalf Of
> Ruslan Zasukhin
> Sent: 01 June 2006 19:23
> To: valentina at lists.macserve.net
> Subject: Re: Table size
>
> On 6/1/06 7:33 PM, "Joakim Schramm" <joakim at astrocalc.com> wrote:
>
> >> In case data small, i.e. You need small db you can reduse
> this Using
> >> db.SegmentSize
> >>
> > So what does a "cluster" mean in real, I were do things
> start and end
> > for what goes into 1 cluster? 1 field = 1 cluster or? In
> such case why
> > 32KB default, or wait this cluster also hold field data so
> when record
> > added discsize do not grow until whole cluster is full and
> start new
> > one (adding new 32 * 177 = 5664KB to disc file)?
> >
> > In practical sense this mean 32KB segment can hold 4096
> 8byte fields
> > before discsize changes? Just trying to understand...
> >
> > from COM docs:
> >
> > inSegmentSize The size of one cluster in the database file;
> default 32KB.
>
> Please read WIKI , Vkernel manual about how Valentina keep
> internal files
>
Well I had read both pdf and wiki, but it didn't give answer I looked for. I
was after a more not too deep "technical" description, giving a bit more
details of what causes a new segment to be created. The only thing I find on
the subject is as below which basically says that "V can create big empty
DB's based on segment size" but noting about what causes a segment to be
created to start with and how each segment is related to specific parts of
my on db's structure. I can Guess "RB-Tree" may contain the answer or part
of it, but I am not a database techie and have no clue what RB-Tree is
although I can think of it being some "db specification" used inside of
Valentina.
Basically I just wanted to know if my "assumptions" was correct or in what
way they wasn't?
>From kernel.pdf:
Choosing a database segment size on creation* Each database volume contains
the map of internal files (based on RB-Tree). Each internal file has one or
several segments.* This parameter also specifies how many disk space will
allocate each logical file when it must be expanded. * On default Valentina
create database volumes with segment size 32Kb. This parameter should not be
smaller of 4K and not big sense set it bigger of 32Kb or may be 64Kb.*
Smaller segment size will produce more segments in a logical file. So deep
of RB-Tree will be higher, what can reduce performance of random access
operation. * Note that empty Valentina database can allocate many disk space
right after creation. The more fields the more allocated space.
Regards,
Joakim
More information about the Valentina
mailing list