浅谈存储系统的信任边界

2009-06-02

云计算这两年炒得风风火火,云存储作为其重要组成部分也被商家吹嘘得神乎其神。我赞同云存储在可扩展性、可用性方面的优势,但仍对这类技术缺乏信任感。我所谓的不信任,不只是说数据托管、网络传输在安全性、可靠性等方面存在隐患,更主要的是对这种高度透明的接口背后隐藏的复杂的、不透明的实现机制的不信任。

开发者采用先进的技术是在增强人们对系统的信任度,还是在减弱人们的信任感呢?我想多数负责任的开发人员的主观目的是要让系统更加安全可靠,增强人们对系统的信任。但客观上,越来越复杂的实现往往会超越当时用户的理解和可控范围,冲击用户的心理接受能力。用户由这种无知、少知导致恐惧,进而对复杂的、难以琢磨其运行机理的系统产生抵制情绪。

存储系统的信任边界

早期纸带和磁带上线性存储的文件系统的表示格式是容易理解的,但它也是脆弱易损的。各种校验机制的加入恰如其分,它们既提高了数据的可靠性,同时算法复杂度低,不仅对机器来说开销小,更重要的是大多数技术人员能够轻易地学习和理解其实现。因此,用户(当年主要是有一定技术能力的专业人员)对这种存储系统的信任是平衡、对等的。现代的NTFS、ext3、ZFS等文件系统采用了复杂的数据结构、日志、快照等机制进一步提高了数据的可靠性和安全性,尽管大众用户对此一无所知,程序员人群中能讲清楚一个现代文件系统细节的远比会算校验和的要少,但这些技术毕竟是公开(或事实上公开)的,在渐进的发展过程中已经被广泛使用,经受了研究人员与竞争对手的检验。对一般用户来说,对这些系统的信任来自于第三方权威或公信。然而多数云存储系统对用户来说都是一个黑盒,这不是它的缺陷,而是它的特性。云计算本来就强调虚拟化,对用户屏蔽其内部实现是理所当然的。但是由于各自为政的局面没有打破,业界缺乏统一的技术标准,针对云存储的权威或公信力量也许比针对本地存储系统的更难建立。

Windows 7也是最近的一个热门话题。Windows 7中会不会集成WinFS?现在不同途径的消息不一。其实我挺期待这样一套方便结构化组织与检索数据的存储方案,但WinFS能否满足用户的信任需求?WinFS的部分API已经在.Net Framework中公布,按照微软近期的风格,WinFS技术完全开源也不是没有可能的,但它的复杂程度应该不低。有耐心的技术人员也许可以深入理解它的实现机制,但理解并不等于可控。WinFS要达到高度语义化的组织与检索,势必使得数据的元信息处于动态变化中,同时要允许第三方软件操作数据的元信息及其关联。也就是说,尽管WinFS有可能是一个白盒,但状态空间的急剧膨胀有可能使得它超出用户的可视、可控范围,变得与黑盒无异;多种第三方机制的介入能否保证系统最初定义的原则不被破坏,会不会引发一系列误用或滥用问题?这些都难以定论。

公开的技术和统一的标准可以增强系统的公信支持程度,进而让用户对系统的实际心理信任有所提升、信任边界得以扩展。不仅仅存储系统应该如此,一切基于新的复杂技术的服务都应该保证不触及用户的心理认知底线,否则就会陷入“Big Brother”的尴尬境地。