index

2021-06-21

2021-06-23


structured data model layers

Programming languages operate on both primitive values and value compositions. Most programming languages have boolean value type, while it is most likely represented as a one byte sized integer on the machine level.

Entities can represent value compositions. An entity can for example represent an enumeration that consists of a single byte where 0 represents a "false" value and 1 represents "true". Another entity may represent a record that consists of three one byte sized fields: year, month and day.

Because entities state can change, we need to specifiy entity id and transaction id when refereing to them.

Arrays can represent records if the positions in the array are given names.

Arrays are stored in byte buffers.

Arrays can contain arrays.

Arrays have an element count and byte count.

A value composition type can have fixed or dynamic byte count. Figuring out the byte count of a Variable length quantity requires custom code.

An index can represent entities if one of the columns is the entity id and otheres are attributes. Not all indexes are like this.

Variable length quantity should be primiteive type in dali to support efficient storage of arbitrary big numbers. Array lengths are stored as VLQ:s.


Variable length quantity
2021-06-16
2021-08-24
2021-08-26
byte size prefixed values
identifier number size does not matter for storage space and readability
timestamps as offsets

This site is generated with zetgen