Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Column type must be of one of a predefined set of available 'primitives' (including Strings, UUIDs, date & time values)
  • Arbitrary nested objects and collections are not allowed as column values. Nested POJOs should either be inlined into schema, or stored as BLOBs
  • Date & time values should be compressed with preserving natural order and decompression should be trivial operation (like applying bitmask).

The suggested list of supported built-in data types is listed in the table below:

TypeSizeDescription
Bitmask(n)n/8 bytesA fixed-length bitmask of n bits
Byte1 byte1-byte signed integer
Short2 bytes2-byte signed integer
Integer4 bytes4-byte signed integer
Long8 bytes8-byte signed integer
Float4 bytes4-byte floating-point number
Double8 bytes8-byte floating-point number
Number([n])VariableVariable-length number (optionally bound by n bytes in size)
DecimalVariableVariable-length floating point number
UUID16 bytesUUID
StringVariableString encoded with a given Charset
Date3 bytesA timezone-free date encoded as day/year (15 bits), month (1 byte4 bits), year day (2 bytes5 bits)
Time5 4 bytesA timezone-free time encoded as padding (5 bits), hour (1 byte5 bits), minute (1 byte6 bits), second (1 byte6 bits), millisecond (2 bytes10 bits)
Datetime8 7 bytesA timezone-free datetime encoded as (date, time)
Instant8 bytesNumber of milliseconds since Jan 1, 1970 00:00:00.000 (with no timezone)
BLOBVariableVariable-size byte array

...