Storage Layout
Jump to navigation
Jump to search
Version: 7.0
Data Types
Num
: compressed integer (1-5 bytes)Token
: length (Num
) and bytes of UTF8 byte representationdouble
: number, stored as tokenboolean
: boolean (1 byte,00
or01
)
inf.basex
Description | Format | Method |
---|---|---|
Disk Data | Database meta information | DiskData() |
1. Meta Data | Pairs of key/value tokens, suffixed by empty key: • PERM → User Permissions
|
MetaData.read() Users.read() |
2. Main memory indexes | Pairs of key/value tokens, suffixed by empty key: • TAGS → Tag Index• ATTS → Attribute Index• PATH → Path Index• NS → Namespaces• DOCS → Document Index
|
DiskData() |
2.1. Name Index Element/attribute names |
Token set, enriched with statistical information: 1. Token set: key array ( Tokens ), next/bucket/size arrays (Nums )2. Content kind ( Num )2.1. Number: min/max ( Doubles )2.2. Category: number of entries ( Num ), entries (Tokens )2.3. Number of entries ( Num )2.4. Leaf flag ( Boolean )2.5. Maximum text length ( Double ; legacy, could be Num )
|
Names() TokenSet.read() StatsKey() |
2.2. Path Index | 1. Flag for path definition (Boolean , always true ; legacy)2. PathNode: 2.1. Name reference ( Num )2.2. Node kind ( Num )2.3. Number of occurrences ( Num )2.4. Number of children ( Num )2.5. Double ; legacy, can be reused or discarded2.6. Recursive generation of child nodes (→ 2)
|
PathSummary() PathNode() |