Ghee/DESIGN.md
Josh Hansen 26d777e483 Design
2023-08-22 17:28:58 -07:00

576 B

Ghee Design Principles

  1. Folders are tables
  2. Files are records
  3. Relative paths are primary keys
  4. Extended attributes are table columns
  5. Enforce schema only when present
  6. The file contents and xattrs without the user.ghee prefix are user-controlled; only directory structure, filenames, and extended attributes in user.ghee are used by Ghee
  7. Use of filesystem features should be preferred over implementing features directly in Ghee, e.g. locking, Btrfs subvolumes, snapshots, incremental backup
  8. Indexes are just tables with a different primary key