SNKF-01
元数据
元数据系统的好坏关系到整个对象存储系统的可靠性、可用性和一致性,并且会影响到性能。因此,元数据部分是对象存储系统的核心,也是架构和保障的重中之重。
元数据最基本的作用在于数据对象的定位。对象存储的任务是保存用户提交的数据对象,并以用户指定的名称(Key)对其标识。用户如需获取一个数据对象,要向对象存储系统提交Key,存储系统便会根据Key找到相应的数据对象,然后反馈给用户。存储系统根据Key找到数据对象存放位置的过程,便是依托元数据完成的。
元数据的特性
根据统计,元数据和数据对象的大小之比大体在1:100到1:10000之间,具体的比率,取决于数据对象的平均大小。因此,元数据相比数据对象本身更加容易操作和处理。
元数据的重要性在于它是整个数据存储的基准:整个系统拥有哪些数据对象,归属哪些容器、哪些用户。一个数据对象,元数据说有,就有了;元数据说没有,就没有了。所以,元数据的可靠性代表着存储系统的可靠性。数据校验、空间回收等操作都依赖于元数据。元数据一旦有所差错,必然造成整个数据存储的错失和混乱。在性能方面,几乎所有的操作都涉及到元数据,整个元数据系统的访问压力远远超过存储系统。因而,元数据的性能决定了存储系统的整体响应。
元数据存储保真问题及解决方案
可靠性与可用性问题
首先我们必须解决可靠性和可用性问题,尽可能保证保存下来的元数据不丢失,也尽可能让服务始终在线。解决这一问题的方法也不是很难:增加从服务器的数量,并且允许主从复制失败。如此,当一台从服务器下线后,其他从服务器依然可以接收数据,确保任何时刻一份数据都至少拥有两个以上的副本,以维持可靠性。不过,具体操作上并没有那么简单,主从之间复制成功的数量必须满足一个阈值。这个阈值也必须满足一个条件才能保证数据一致性,关于这个要点后面会具体阐述。
数据丢失问题
解决数据丢失问题可以采取多副本模型。多副本模型基于这样一个简单而直观的思路:单点会造成数据丢失,并引发可用性问题,那么就将数据同时写入多个服务器,以防单点的出现。不同于主从模型中,读写都针对一台主服务器,从服务器只是间接地参与可靠性和可用性的保障,多副本模型的每台服务器任何时刻都在直接发挥着保障作用。由于每次读写都施加在所有的副本服务器上,任何时刻都有不止一份数据被保存下来,所以数据丢失自然就解决了。
小结:问题往往比答案重要,本篇文章旨在揭露云存储下元数据存储的可靠性与可用性问题以及数据丢失等问题,为人们使用云存储敲一个警钟。
相关热词搜索:云计算服务云存储元数据大数据云计算是什么