📜  云中的对象存储与块存储

📅  最后修改于: 2021-04-17 03:39:08             🧑  作者: Mango

块存储

顾名思义,块存储以块的形式存储数据。块存储以固定大小的块的形式存储数据,这种块称为块,具有自己的地址,但没有元数据(附加信息),后者提供了有关该数据块的全部内容的上下文。它是大多数应用程序中最常用的存储类型。当应用程序和存储位于本地时,块存储最有效,因为这会导致较低的延迟,否则当延迟较远时,延迟会成为不利因素。不能通过API直接访问它,它是由外部操作系统控制或访问的。

云中的块存储:

Azure高级存储:允许32Tb的存储空间。它在Azure虚拟机上运行的I / O密集型工作负载中提供了高性能和低延迟。

AWS弹性块存储:这允许最大16Tb的存储大小。它就像可以连接到EC2实例并可以访问存储的硬盘。

Rackspace云锁存储:内部连接最多可提供10GbE的存储。

对象存储

对象存储用于存储非结构化数据,该数据可以是任意大小的照片,视频,音频,并且适合于必须写入一次并读取一次或多次的情况。增量更新应该不多,因为小的更改会导致对象的全部更改。对象由三部分组成:数据,元数据(有关数据的数据)和全局唯一标识符。数据由必须存储的任何类型和数量的信息组成。元数据是有关数据内容,其机密性或有关其使用的任何信息的上下文信息。全局唯一标识符是分配给存储的128位唯一值,用于在分布式系统上标识对象。

云中的对象存储:

Amazon S3: Amazon使用存储桶来存储,并确保99.9999%的持久性和高性能,跨区域复制,版本控制,加密和灵活的存储。

Google云存储:它允许将数据存储在Google云中,并允许用户存储TB级的单个对象。它为所有上载和删除操作提供了强大的写入后读取一致性。

对象存储解决了哪些主要问题?

对象存储解决的第一个非常关键的问题是日益增长的数据增长问题。您可以用最少的成本在任意时间存储任意数量的数据。它具有高度的可扩展性。您可以将数据存储在Pb中,也可以存储在Pb中。如果有时对象存储扩展,则在解决该问题的附加节点上添加。使用此方法的优点是数据完整性。只需单击几下,您就可以从任何地方访问数据。您不必以任何方式(例如数据丢失)来访问该问题,因为当数据量很大时,这将成为一个问题。不断增长的数据带来了更大的挑战,例如一次访问完整数据,因此对象存储使用擦除编码方法来应对这种日益增长的威胁。RAID通过复制磁盘驱动器信息来保护数据,而擦除编码通过重建数据块来保护数据,而不是通过重建数据块来保护数据。物理设备。其次,对象存储使用简化和高级的技术来管理数据,因为可以通过基于机架的管理技术来管理千兆字节的数据,从而识别出故障的HDD,但这不适用于PB级的数据。因此,对象存储管理名称空间而不是Rackspace。命名空间是指存储机架或多个机架,并且可以在本地存在或全局分布。因此,通过扩展存储来解决由对象存储提供的配置管理,可以进一步提高该存储的质量。您不必为可以直接存储数据的管理而花很多精力。第三,数据的安全性是最佳的。它将多个副本存储在不同的中心,这样,如果一个或多个节点发生故障,您仍然可以访问您的数据。

权衡如何?

对象存储具有所有可能影响IT部门性能的素质。它具有可扩展性,性能最佳,提供弹性和可用性。但是在某些情况下,对象存储无法满足您对应用程序的需求。文件系统的分层结构(即文件和文件夹)以及命名约定已被用户很好地理解和交互。由于对象存储与标识符链接在一起,对于直接用户而言,有时难以记住的标识符成为问题。这就是为什么文件系统通过命名文件,然后将其保存到目录并随后将其转换为对象而用作与对象存储进行交互的桥梁的原因。这就是为什么该网关有时会出现问题,从而导致性能挑战,并让我们考虑是否正在使用这些网关,为什么不直接使用它们,这就是为什么。

对象存储与块存储的工作量

如前所述,对象存储是非结构化数据的存储,例如可以存储静态Web内容数据,备份数据等等。因此,由于要处理大量数据,因此存在一个障碍,即您无法定期对数据进行更新,因为更新意味着更改了整个数据,而不是特定的块。因此,您可以多次读取数据,但增量更新会出现问题。

而块存储用于更复杂的环境,您可以在任何时候进行更新,并且基本上用于存储实时交易数据库,在该数据库中,您必须定期访问数据并在其中进行更新。

实践中的对象存储

如今,对象存储已成为领先的存储。许多公司正在使用它进行存储。作为对象存储的数据最大扩展为EB。您需要根据您的应用程序考虑体系结构,然后只有您才能决定哪种存储将对使用有益。亚马逊是提供Amazon S3作为对象存储服务的领先公司。根据您的数据,数据扩展时会添加节点。对象存储的最佳用例是存储备份文件,非结构化数据,数据库转储和日志文件的公司。

最终一致性和强一致性

为了提高数据可用性,对象存储复制了多个数据副本,并将其存储在分布式系统中。因此,在对象的可伸缩弹性中存在最终一致性和强一致性的概念。最终一致性是指以下过程:最新版本先存储在节点中,然后再复制,同时保持高度一致性,一旦存储了数据,它将立即开始复制,这导致书面确认被延迟,直到所有数据被复制为止。这就是为什么最终的一致性可以确保高可用性和持久性,并且相对静态并且不能适应更改的原因。而且有时在检索数据时不必返回最新版本的数据,这也是缺点之一。这就是为什么对象案例是用于存储视频,照片和视频的合适用例的原因。不需要定期更改的非结构化数据。

强大的一致性适用于更实时的系统,例如事务和数据库。因此,需要检索数据的最新版本。因此,当最终的一致性需要比对象存储更重要时,则使用对象存储;而当强一致性开始发挥作用时,则使用块存储。

Factors Object storage Block storage
Scalability Can scale up to infinite i.e Pb and beyond.

Scale up to limit because of the addressing

 requirement. 

Accessibility

Can access directly through API’s or http/

https.

Can only be accessed through external operating

System.

Performance

Higher performance for big content and 

strong throughput

High performance with database and transactional

data.

Analytics Contain metadata and unique identifier. No metadata but contain the address of the block
Consistency Eventual Consistency Strong Consistency
Usability

Written once and read once or multiple times.

Doesn’t provide incremental update.

Flexible to update any time and can be written or read 

multiple times.

Resiliency

 storing multiple copies of data over a

 distributed system

Block storage systems offer RAID, erasure coding, 

and multi-site replication

Use Cases

storage for backup files, unstructured data

database dumps and log files.

Ideal for databases, service side processing, like Java 

and Running mission-critical applications like Oracle

Options in

Cloud

Amazon S3, Google cloud storage, Azure  Blob 

storage, Rackspace cloud Files

Azure Premium Storage, AWS Elastic Block storage

,Rackspace cloud block storage, Google persistent Disk