103 lines
5.3 KiB
Markdown
103 lines
5.3 KiB
Markdown
---
|
||
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%%
|
||
|
||
## References
|
||
|
||
* “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 Expert’s Voice in Software Development (New York, NY: Apress, 2014). |