notebook/notes/filesystems/cas.md

103 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Content-Addressable Storage
TARGET DECK: Obsidian::STEM
FILE TAGS: fs::cas
tags:
- cas
- fs
---
## Overview
CAS (**c**ontent-**a**ddressed **s**torage) refers to storage that allows retrieval based on content (as opposed to name or location). Usually the contents of a file are passed through a cryptographic hash function to generate a key that can be used for subsequent retrieval.
%%ANKI
Basic
What is content-addressed storage?
Back: A method for storing information such that it can be retrieved based on its content.
Reference: “Content-Addressable Storage,” in _Wikipedia_, February 27, 2024, [https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681](https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681).
<!--ID: 1709177255543-->
END%%
%%ANKI
Basic
What is considered the "opposite" of content-addressed storage?
Back: Location-addressed storage.
Reference: “Content-Addressable Storage,” in _Wikipedia_, February 27, 2024, [https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681](https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681).
<!--ID: 1709177255547-->
END%%
%%ANKI
Basic
What is CAS an acronym for?
Back: **C**ontent-**a**ddressed **s**torage.
Reference: “Content-Addressable Storage,” in _Wikipedia_, February 27, 2024, [https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681](https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681).
<!--ID: 1709177255550-->
END%%
%%ANKI
Cloze
{1:Content}-addressed is to {2:URNs} whereas {2:location}-addressed is to {1:URLs}.
Reference: “Content-Addressable Storage,” in _Wikipedia_, February 27, 2024, [https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681](https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681).
<!--ID: 1709177255553-->
END%%
%%ANKI
Basic
Interpreted as a key-value store, what is a "key" in a CAS system?
Back: The digest produced when running content through a cryptographic hash function.
Reference: “Content-Addressable Storage,” in _Wikipedia_, February 27, 2024, [https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681](https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681).
<!--ID: 1709177255556-->
END%%
%%ANKI
Basic
Interpreted as a key-value store, what is a "value" in a CAS system?
Back: The actual content being stored.
Reference: “Content-Addressable Storage,” in _Wikipedia_, February 27, 2024, [https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681](https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681).
<!--ID: 1709177255559-->
END%%
%%ANKI
Basic
In the context of CAS, what is a "content address"?
Back: A digest produced when running content through a cryptographic hash function.
Reference: “Content-Addressable Storage,” in _Wikipedia_, February 27, 2024, [https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681](https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681).
<!--ID: 1709177255562-->
END%%
%%ANKI
Cloze
Content addresses are an alternative to {location} addresses found in traditional filesystems.
Reference: “Content-Addressable Storage,” in _Wikipedia_, February 27, 2024, [https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681](https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681).
<!--ID: 1709177255565-->
END%%
%%ANKI
Basic
Why are CAS systems sometimes called "fixed content storage"?
Back: CAS is normally used for files that are not frequently edited.
Reference: “Content-Addressable Storage,” in _Wikipedia_, February 27, 2024, [https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681](https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681).
<!--ID: 1709177255567-->
END%%
%%ANKI
Basic
How is it CAS systems ensure file uniqueness?
Back: An attempt to store an already stored file will generate the same key as before.
Reference: “Content-Addressable Storage,” in _Wikipedia_, February 27, 2024, [https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681](https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681).
<!--ID: 1709177255570-->
END%%
%%ANKI
Basic
How is it CAS systems ensure file's remain unchanged?
Back: A file's key will always be the same provided the content has not changed.
Reference: “Content-Addressable Storage,” in _Wikipedia_, February 27, 2024, [https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681](https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681).
<!--ID: 1709177255573-->
END%%
## Bibliography
* “Content-Addressable Storage,” in _Wikipedia_, February 27, 2024, [https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681](https://en.wikipedia.org/w/index.php?title=Content-addressable_storage&oldid=1210669681).
* Scott Chacon, _Pro Git_, Second edition, The Experts Voice in Software Development (New York, NY: Apress, 2014).