Difference between revisions of "Storage Layout"

From BaseX Documentation
Jump to navigation Jump to search
Line 25: Line 25:
 
| valign='top' | [https://github.com/BaseXdb/basex/blob/master/src/main/java/org/basex/data/DiskData.java DiskData()]
 
| valign='top' | [https://github.com/BaseXdb/basex/blob/master/src/main/java/org/basex/data/DiskData.java DiskData()]
 
|-
 
|-
| valign='top' | '''2.1. Name Index''' (Element/attribute Names)
+
| valign='top' | '''2.1. Name Index'''<br/>Element/attribute names
| Token set, enrichted with statistical information:<br />1. Token set: key array (<code>Tokens</code>), next/bucket/size arrays (<code>Nums</code>)<br />2. Content kind (<code>Num</code>)<br />2.1 Number: min/max (<code>Doubles</code>)<br />2.2. Category: number of entries (<code>Num</code>), entries (<code>Tokens</code>)<br />2.3 Number of entries (<code>Num</code>)<br />2.4 Leaf flag (<code>Boolean</code>)<br />2.5 Maximum text length (<code>Double</code>; should be <code>Num</code>)
+
| Token set, enrichted with statistical information:<br />1. Token set: key array (<code>Tokens</code>), next/bucket/size arrays (<code>Nums</code>)<br />2. Content kind (<code>Num</code>)<br />2.1 Number: min/max (<code>Doubles</code>)<br />2.2. Category: number of entries (<code>Num</code>), entries (<code>Tokens</code>)<br />2.3 Number of entries (<code>Num</code>)<br />2.4 Leaf flag (<code>Boolean</code>)<br />2.5 Maximum text length (<code>Double</code>; legacy, could be <code>Num</code>)
 
| valign='top' | [https://github.com/BaseXdb/basex/blob/master/src/main/java/org/basex/index/Names.java Names()]<br/>[https://github.com/BaseXdb/basex/blob/master/src/main/java/org/basex/util/hash/TokenSet.java TokenSet()]<br/>[https://github.com/BaseXdb/basex/blob/master/src/main/java/org/basex/index/StatsKey.java StatsKey()]
 
| valign='top' | [https://github.com/BaseXdb/basex/blob/master/src/main/java/org/basex/index/Names.java Names()]<br/>[https://github.com/BaseXdb/basex/blob/master/src/main/java/org/basex/util/hash/TokenSet.java TokenSet()]<br/>[https://github.com/BaseXdb/basex/blob/master/src/main/java/org/basex/index/StatsKey.java StatsKey()]
 +
|-
 +
| valign='top' | '''2.2. Path Index'''
 +
|
 +
|
 
|}
 
|}

Revision as of 16:15, 26 October 2011

Data Types

  • Num: compressed integer (1-5 bytes)
  • Token: length (Num) and bytes of UTF8 byte representation
  • double: number, stored as token
  • boolean: boolean (1 byte, 00 or 01)

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, enrichted 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()
StatsKey()
2.2. Path Index