2023-08-11 08:25:30 +02:00
|
|
|
# Ghee Design Principles
|
|
|
|
|
|
|
|
1. Folders are tables
|
|
|
|
2. Files are records
|
|
|
|
3. Relative paths are primary keys
|
|
|
|
4. Extended attributes are non-primary-key columns
|
|
|
|
5. Enforce schema only when present
|
2023-08-11 22:43:06 +02:00
|
|
|
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
|
2023-08-11 08:41:55 +02:00
|
|
|
7. Use of filesystem features should be preferred over implementing features directly in Ghee,
|
|
|
|
e.g. locking, Btrfs subvolumes, snapshots, incremental backup
|