内容可寻址(CAS)

是什么

内容可寻址(Content-addressable storage,content-addressed storage or CAS),这是一种基于内容的寻址方式。它主要被用于高速存储,且存储的内容不发生改变。

比如,目前的 IPFS 协议就借鉴了 CAS 的思想。

内容可寻址 vs 地址可寻址

目前的互联网中,我们最常见的是地址可寻址,比如给你一个 IP 地址,你可以找到相应地存储在这个地址上的内容。再比如,在 windows 下,我们可以通过路径找到自己文件存储的位置,如,D:\aaa\bbb\ccc.txt。

而 CAS 则是通过文件内容生成内容地址(通常是通过 hash 算法),在通过内容地址找到文件。

由此我们可以分析,在地址寻址时,如果一旦该地址对应的内容被删除,或者内容位置发生改变都会造成我们通过物理地址访问内容失败的情况。实际中,我们经常遇见某些网页 404,打开一个百度网盘资源的链接被告知链接失效的情况。

而基于内容可寻址的方式则可以避免这些情况,同时它还可以保证文件内容的完整性(不被篡改),因为内容地址是通过文件内容被 hash 之后得到的,一旦文件内容发生任何改变,则内容地址也会发生改变,也就是说文件 A 和 被修改的文件 A’ 已经不是同一指向的文件了。

内容寻址的优势

一部分优势在上面已经谈到了。

  1. 文件永久存储
  2. 保证文件完整性
  3. 单一实例存储:因为文件是基于内容寻址,所以整个 CAS 中,任何相同的文件地址都会被指向同一个内容地址,后期加入的内容都只是一个指向第一个内容地址的指针。当然实际中,我们可以对 CAS 中的文件内容进行备份处理
  4. 检索速度快(关于这一点暂时没有查到具体的原理解释)

适用范围

在我看来,CAS 可以起到对地址寻址的补充,比如对一些内容不易发生改变的文件(如,拟好的合同,法律文件)可以使用 CAS 进行存储

参考

Content-addressable storage
Benefits of Content-Addressed Storage
InterPlanetary File System
内容寻址的含义有哪些?

猜你喜欢

转载自blog.csdn.net/qq_34902437/article/details/120683847
Cas