Skip to content

Flatbuffers

Ashay Shirwadkar edited this page Jun 28, 2019 · 10 revisions

Skyhook stores database table partitions into Ceph objects. The current data format for a partition is based on flatbuffers. Each partition is described by a ROOT_TABLE flatbuffer, which contains some metadata regarding the partition followed by a sequence of REC_TABLE flatbuffers. Each REC_TABLE has some metadata regarding the record (row here) followed by a single flexbuffer containing the row's data. The following diagram describes this data layout:

Furthermore, within an object, the data partition may be further subdivided into a sequence of sub-partitions. Hence, a single object may contain a sequence of ROOT_TABLE flatbuffers. The union of all REC_TABLE flatbuffers in an object is the entire data partition.

More information about flatbuffers:

Skyhook Flatbuffers experiments for SkyhookDB data layout within Ceph objects:

Clone this wiki locally