Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Here's a collection of terms we're starting to use broadly.

  • Table - A scoping of keys within the system. All objects live in one table and all indices are associated with one table.
  • Primary Key - The system-generated key that uniquely identifies an object within a table.
  • Object ID - A (key, version) tuple.
  • Index - A lookup structure for arbitrary keys to object identifiers. Can be range-queryable.
  • Key - A typed index into an index structure (types may include string, int, float, etc).
  • Version Number - A number associated with a primary key that is system-incremented when an object is modified.
  • Shard - A subset of a table's key space. Shards are sized for efficient disk access (i.e. they can be sucked into memory from a disk within a small amount of time on failure).
  • Shardlet - Shards are broken up into shardlets, which are akin to LFS segments. Each shardlet is written to disk sequentially and sized such that they can be efficiently accessed in light of disk seek times.
  • Block - A shardlet is composed of multiple fixed sized blocks. Blocks are the main unit of memory allocation in the system. They store one or more objects or portions of objects and are mapped into shardlets by an explicit table structure (inode).
  • Inode - Each object is mapped to one or more blocks by an inode mapping. An object may start partway through the first block and end partway through a last block. In either case, space may be shared with another object. An inode contains metadata including an object checksum, version and index name, key tuples.
  • No labels