this post was submitted on 11 Aug 2023
1 points (100.0% liked)

The Rust Programming Language

1 readers
0 users here now

A place for all things related to the Rust programming language—an open-source systems language that emphasizes performance, reliability, and...

founded 1 year ago
MODERATORS
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/rust by /u/joshhansen on 2023-08-11 08:46:37.


Introducing Ghee 0.3, the newest release of the premier tool for manipulating Linux extended attributes!

Originally known as Hatter and then, regrettably, as Mattress, this tastiest of tools has been redubbed Ghee after the clarified butter popular in Indian cuisine, and as a reference to the Btrfs filesystem, which originally convinced me that much database functionality has now been subsumed by advanced filesystem features.

This new release adds SQL WHERE-style predicates to filter by, e.g. ghee get --where age >= 65 ./people, and makes get recursive by default (the old behavior is still available behind the --flat flag).

The idea is for Ghee to implement as much of a relational data model as possible using the filesystem itself as a substrate. 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
  6. The file contents are user-controlled; only directory structure, filenames, and extended attributes 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

Would love to hear any comments. Apologies for the name changes---third time's the charm, I think this one'll stick.

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here