对于云存储,数据持久性保证不应该是大问题
云存储提供商的数据持久性保证不应该是客户关注的重点;它们过于严格,难以衡量和执行。
据一位跟踪市场的分析师称,一些主要供应商声称的云存储数据耐用性可能高达9个,令人印象深刻,比如亚马逊的99.999999999%,但保证不应该是一个问题。
马萨诸塞州弗雷明汉(Framingham)存储系统实践研究主管丹·亚科诺(Dan Iacono)说,总部位于美国的国际数据公司(International Data Corp., IDC)表示,数据持久性的保证很难衡量和执行,所以云存储用户最好询问提供商保护数据的方式和服务的整体可用性。
在TechTarget资深作家Carol Sliwa的播客采访中,Iacono提供了关于云存储数据持久性的初级知识,包括定义和类型的描述数据保护主要的供应商使用和概述用例和降低耐久性选项。
什么是持久性云存储?
Dan Iacono:我认为持久性是一个很难理解的话题。大多数人甚至没有意识到环境中的持久性是一个问题,因为在我的环境中可能有tb甚至pb,但当您是云提供商时,您会考虑exabytes和zettabytes。真正的持久性是那些无法纠正的位错你无法从底层媒体中恢复。在你写了大量的数据之后,其中一个字节可能是不正确的。我认为云服务提供商的一个难题是,并不是所有的云服务提供商都有耐用性保证,所以他们对耐用性的定义都有点不同。
主要的云提供商使用什么类型的存储架构和技术来确保数据不丢失?
Iacono:从数据丢失的角度来看,耐久性的一个问题是比特腐烂的概念。比特腐烂是指一小块数据或比特在一段时间后坏了。人们有两种防止比特腐烂的方法。第一种是定期检查所有数据,并将其与已知副本进行比较。云提供商可以通过拥有多个数据副本来做到这一点。第二种方法是通过一种叫做擦除编码在那里,他们有一个数学算法,比较完整的数据副本和较小的版本。
你提到了两种形式的数据保护。在云存储环境中,一种形式比另一种更好吗?
Iacono:有几个不同的用例。如果你要做多份拷贝,这是传统的方法超大型提供者或者云提供商一直在保护数据。数据多副本的问题在于,随着时间的推移,容量呈指数增长,副本的数量也在增长。所以这真的成为了一种昂贵的保护数据的方式。
使用擦除编码,这无疑是一种更紧凑的方式。假设,对于每一个数据,我可能只有另外20%到50%的数据。我可以减少我的总体存储占用,但是它需要CPU周期来使用擦除编码实际重建数据。所以,这里有一些权衡。我认为从长远来看,对于一些减少持久存储在美国,擦除编码肯定会被使用,因为它们需要达到一个激进的价格点。此外,擦除编码对于有三个或更多用于复制的站点的环境非常好。
这是云提供商的观点。从客户的角度看呢?云存储提供商是使用擦除编码还是使用多个副本来保护数据?
Iacono:我想是的。使用擦除编码,如果发生什么事情,我对数据的实际回忆将会更慢,而如果我使用多个副本,重建和可用性将会快得多。所以,首先,你要问,‘嘿,你是如何保护数据的?’第二部分,我会考虑成本。然后我真的会把它们结合起来,并把它们应用到我的数据的用例中。
两种类型的数据保护,哪个主要的云存储提供商使用擦除编码,哪个使用多副本?
Iacono:我认为你应该看看是谁公开提供了这些信息。任何使用EMC的Atmos解决方案的人都有内置的擦除代码美国电话电报公司(AT&T)还有Savvis。微软Azure也使用了擦除编码。如果你看一下会议,[文件和存储技术]快2012,他们就最好的论文为他们擦除编码.如果您查看谷歌,就会发现它们以执行多个数据副本而闻名。至于亚马逊和其他一些云服务提供商,我们不知道他们使用了什么样的保护来保证耐久性。
像Amazon和谷歌这样的云存储供应商提供了与他们的主要对象服务相比更低的耐用性和更低的成本。对于什么类型的数据,持久性降低是适当的,对于什么类型的数据,持久性降低是不适当的?
Iacono:我认为你必须理解数据的两部分。一个是,我需要什么样的数据来运营我的业务?我们认为这是我们的关键任务数据。第二个问题是,我可以很容易地重建哪些数据?在传统环境中,我们有关键任务的数据,我们希望它一直都在。所以,我非常关心我的耐久性和可用性。现在我可能有其他的数据,我可以正确的软件,如果我可以很容易地重建数据,我可以将它存储在一个低得多的成本,那么我肯定会想利用减少持久性存储降低我的整体存储成本。
你认为有客户会使用持久性较低的云存储来存储所有数据吗?
Iacono:这实际上取决于上层应用程序能做什么。如果你看一看这些更新的应用程序,或者web级别的属性,你会发现它们在设计时都考虑到了失败。因此,他们不相信数据或任何底层硬件实际上是可靠的。他们在软件中对此进行了规划。因此,我认为在设计时考虑到失败的较新的应用程序肯定可以利用所有数据存储持久性降低的优势。
对于云存储提供商来说,持久性保证有多重要?
Iacono:关于保证的问题是,如果我丢失了一些数据,我怎么知道这些数据是由于持久性而丢失的呢?云计算提供商会承认存在耐久性问题吗?所以除非我们能测量它,否则我真的不会太执着于耐久性。我真正想知道的是云提供商是如何保护我的数据的。是多份拷贝还是擦除编码?这才是我更关心的,而不是保证。
关于持久性,您对潜在的云存储用户提供的最重要的建议是什么?
Iacono:我认为这一点很重要,但我不会根据耐久性来评判我的总体决定。不管是13张9号还是17张9号,都不会影响我的决定。您真正想问您的云存储提供商的是,“如何防止比特腐烂?”然后我就会开始考虑总体的可用性。如果你在云中有大量的数据,那么我会开始担心持久性。