I have some questions regarding the internals of L...
# help
u
I have some questions regarding the internals of LakeFS 1. I see that creating a branch does not perform data duplication but is a mutable pointer to the commit that the branch is based out of, and is a metadata operation. I have a general understanding of the versioning internals but am confused as to how these changes are stored in the metadata. Is it similar to Git by doing delta compression. I have relatively basic understanding of how the git storage system works which may be the cause of my confusion for which I apologize in advance. 2. On my object store, I see that files names are a random string. I'm assuming this is a type of representation of my file and am confused as to what this represents and how it relates to the physical path as objects in the physical are never modified. 3. How are file differences stored and retrieved when switching between branches. 4. When committing, I can add a metadata key-value pair to the commit. How can this functionality help with tracking commit changes and/or grouping a certain subset of commits together?
u
Hi Harris, Some questions for lakefs-for-advanced 😉 I'll try my best to give a long informative answers for all those questions ASAP!
u
Hi Harris, I think you will find answers for your questions in the blog posts here: https://lakefs.io/concrete-graveler-committing-data-to-pebbledb-sstables/ https://lakefs.io/concrete-graveler-splitting-for-reuse/ https://docs.lakefs.io/understand/versioning-internals.html Hoping you will find them interesting 🙂 Please feel free to reach us again if you don't find the answers for your questions or if you have some more!