O ar­ma­ze­na­mento de objetos e o ar­ma­ze­na­mento em bloco são duas ar­qui­te­tu­ras de ar­ma­ze­na­mento que se di­fe­ren­ciam cla­ra­mente pela sua estrutura, forma de acesso e fi­na­li­dade de uso. A principal diferença é que o ar­ma­ze­na­mento de objetos armazena os dados como objetos com metadados aces­sí­veis por meio de uma API, enquanto o ar­ma­ze­na­mento em bloco divide as in­for­ma­ções em blocos en­de­re­çá­veis que são geridos di­re­ta­mente pelo sistema operativo.

O que são ar­ma­ze­na­men­tos de objetos e ar­ma­ze­na­men­tos em bloco?

O ar­ma­ze­na­mento de objetos é uma ar­qui­te­tura de ar­ma­ze­na­mento moderna na qual os dados são guardados como objetos. Cada objeto é composto pelos próprios dados, pelos metadados e por um iden­ti­fi­ca­dor único. Esses objetos são ar­ma­ze­na­dos num espaço de nomes plano, o que significa que todos os objetos são or­ga­ni­za­dos num mesmo nível. Portanto, não existe uma estrutura hi­e­rár­quica de pastas ou di­re­tó­rios como nos sistemas de arquivos tra­di­ci­o­nais. Os dados em um ar­ma­ze­na­mento de objetos ge­ral­mente são aces­sí­veis por meio de uma API baseada em HTTP.

Por outro lado, o ar­ma­ze­na­mento em bloco, como o próprio nome indica, divide as in­for­ma­ções em blocos de tamanho fixo aos quais é atribuída uma endereço único. Cada bloco contém apenas os dados brutos, sem metadados adi­ci­o­nais ou contexto. O sistema que acede a esses dados — nor­mal­mente um sistema operativo ou uma pla­ta­forma de vir­tu­a­li­za­ção — é res­pon­sá­vel por in­ter­pre­tar a estrutura e o sig­ni­fi­cado dos dados ar­ma­ze­na­dos. Do ponto de vista do sistema operativo, um ar­ma­ze­na­mento em bloco comporta-se como um disco físico ou um SSD, pelo que pode ser par­ti­ci­o­nado, formatado e utilizado para di­fe­ren­tes apli­ca­ções.

Ar­ma­ze­na­mento de objetos vs. ar­ma­ze­na­mento em bloco em resumo

A tabela a seguir resume as prin­ci­pais di­fe­ren­ças na com­pa­ra­çãoentre «ar­ma­ze­na­mento de objetos» e «ar­ma­ze­na­mento em bloco»:

Ca­rac­te­rís­tica Ar­ma­ze­na­mento de objetos Ar­ma­ze­na­mento em bloco
Estrutura de dados Objetos com metadados Blocos de dados sem contexto
Acesso HTTP(S) (REST API) Acesso direto pelo sistema operativo
Latência Alta Baixa
Es­ca­la­bi­li­dade Alta (ideal para a nuvem) Limitada, ge­ral­mente local ou através de SAN
Metadados Amplos, definidos pelo uti­li­za­dor Escassos ou ine­xis­ten­tes
Casos de uso Cópias de segurança, mul­ti­mé­dia, big data Bases de dados, sistemas ope­ra­ti­vos, discos de VM
Custo Mais económico por TB em grandes volumes Mais caro, es­pe­ci­al­mente em sistemas de alto de­sem­pe­nho
Fle­xi­bi­li­dade Ideal para dados não es­tru­tu­ra­dos e pouco uti­li­za­dos Ideal para dados es­tru­tu­ra­dos e de uso frequente

Fun­ci­o­na­mento

O ar­ma­ze­na­mento de objetos guarda os dados como objetos compostos por três elementos:

  • os dados pro­pri­a­mente ditos (por exemplo, uma imagem ou um vídeo)
  • os metadados (in­for­ma­ção adicional, como data de criação, tipo de ficheiro ou etiquetas per­so­na­li­za­das)
  • uma chave única que funciona como endereço

Esses objetos são ar­ma­ze­na­dos num espaço de nomes plano, o que é mais simples e escalável, pois não é ne­ces­sá­rio gerenciar es­tru­tu­ras de di­re­tó­rios complexas. O acesso é feito através do protocolo HTTP, ge­ral­mente por meio de REST. As apli­ca­ções acessam o ar­ma­ze­na­mento como se fosse um serviço web. Muitos serviços em nuvem, como Amazon S3 ou Google Cloud Storage, utilizam esta tec­no­lo­gia. O ar­ma­ze­na­mento de objetos pode ser dis­tri­buído glo­bal­mente, de modo que os dados sejam ar­ma­ze­na­dos em vários locais si­mul­ta­ne­a­mente, o que melhora tanto a to­le­rân­cia a falhas quanto a dis­po­ni­bi­li­dade.

O ar­ma­ze­na­mento em bloco, por sua vez, funciona mais como um disco clássico ou um dis­po­si­tivo de ar­ma­ze­na­mento físico. Os dados são divididos em blocos de tamanho fixo com um endereço es­pe­cí­fico. Esses blocos não contêm metadados, portanto, o sistema operativo ou o apli­ca­tivo superior (como um sistema de ficheiros ou um banco de dados) é que determina quais blocos estão re­la­ci­o­na­dos entre si. O ar­ma­ze­na­mento em bloco é ge­ral­mente oferecido através de uma rede de ar­ma­ze­na­mento (SAN) ou pelo protocolo de rede iSCSI. O ar­ma­ze­na­mento é apre­sen­tado ao sistema operativo como se fosse um disco local, que pode ser par­ti­ci­o­nado, formatado e utilizado nor­mal­mente.

Ar­ma­ze­na­mento de objetos vs. ar­ma­ze­na­mento em bloco: di­fe­ren­ças e se­me­lhan­ças

Embora tanto o ar­ma­ze­na­mento de objetos quanto o ar­ma­ze­na­mento em bloco sejam usados para armazenar dados, suas di­fe­ren­ças são fun­da­men­tais em termos de estrutura, forma de acesso e casos de uso. A chave está na forma como os dados são or­ga­ni­za­dos: o ar­ma­ze­na­mento em bloco oferece menor latência e acesso rápido e direto por blocos, enquanto o ar­ma­ze­na­mento de objetos se destaca por sua grande es­ca­la­bi­li­dade e por ser orientado para a con­ser­va­ção de dados a longo prazo.

Ambos os tipos de ar­ma­ze­na­mento são fre­quen­te­mente uti­li­za­dos em ambientes de nuvem e, graças à sua es­pe­ci­a­li­za­ção, podem gerir com efi­ci­ên­cia cargas de trabalho muito di­fe­ren­tes. Também podem ser in­te­gra­dos numa es­tra­té­gia de ar­ma­ze­na­mento híbrido. Em termos de fi­a­bi­li­dade e to­le­rân­cia a falhas, as im­ple­men­ta­ções modernas de ambas as tec­no­lo­gias incluem me­ca­nis­mos es­sen­ci­ais, como re­pli­ca­ção e re­dun­dân­cia. Enquanto o ar­ma­ze­na­mento em bloco está mais focado no de­sem­pe­nho e no controlo direto, o ar­ma­ze­na­mento de objetos destaca-se por ser uma solução flexível e rentável para lidar com grandes volumes de dados. Por isso, em muitos ambientes de TI atuais, ambos os modelos são com­bi­na­dos para apro­vei­tar ao máximo as suas vantagens.

Casos de uso habituais

Usos do ar­ma­ze­na­mento de objetos

O ar­ma­ze­na­mento de objetos é nor­mal­mente utilizado em soluções de backup e arquivo, uma vez que a sua grande es­ca­la­bi­li­dade e baixo custo o tornam uma opção ideal para conservar dados a longo prazo. Também é muito popular nas Redes de Entrega de Conteúdos (CDN), porque permite dis­tri­buir grandes ficheiros mul­ti­mé­dia de forma simples e eficiente.

Outra uti­li­za­ção im­por­tante é o ar­ma­ze­na­mento de big data, como registos de sistemas, dados de sensores ou gravações de vídeo, uma vez que os objetos podem ser ar­ma­ze­na­dos e pro­ces­sa­dos de forma in­de­pen­dente. Além disso, muitas apli­ca­ções web modernas e apli­ca­ções móveis recorrem ao ar­ma­ze­na­mento de objetos para guardar ficheiros de uti­li­za­do­res, imagens e do­cu­men­tos.

Usos do ar­ma­ze­na­mento em bloco

O ar­ma­ze­na­mento em bloco é a solução preferida para bases de dados e sistemas tran­sa­ci­o­nais, uma vez que o seu acesso direto aos blocos oferece um de­sem­pe­nho muito elevado e uma latência muito baixa. Estas ca­rac­te­rís­ti­cas são es­pe­ci­al­mente im­por­tan­tes em cargas de trabalho com numerosos acessos si­mul­tâ­neos de leitura e escrita.

As máquinas virtuais e os sistemas ope­ra­ci­o­nais também se be­ne­fi­ciam do uso do ar­ma­ze­na­mento em bloco, pois exigem um ar­ma­ze­na­mento rápido e confiável. Mesmo em centros de dados tra­di­ci­o­nais, onde é ne­ces­sá­rio um de­sem­pe­nho pre­vi­sí­vel, o ar­ma­ze­na­mento em bloco continua sendo uma opção am­pla­mente utilizada.

Vantagens e des­van­ta­gens

Na com­pa­ra­ção direta entre ar­ma­ze­na­mento de objetos e ar­ma­ze­na­mento em bloco, entram em jogo as res­pec­ti­vas vantagens e des­van­ta­gens.

O ar­ma­ze­na­mento de objetos destaca-se pela sua alta es­ca­la­bi­li­dade, in­te­gra­ção simples por meio de API web e ca­pa­ci­dade de armazenar grandes quan­ti­da­des de metadados em cada objeto. Essas ca­rac­te­rís­ti­cas tornam-no ideal para dados não es­tru­tu­ra­dos e apli­ca­ções nativas na nuvem. No entanto, o seu acesso é re­la­ti­va­mente mais lento, pelo que não é a melhor opção quando a baixa latência é um requisito essencial.

Por sua vez, o ar­ma­ze­na­mento em bloco oferece uma latência muito menor e um de­sem­pe­nho excelente. Além disso, a sua ligação direta com máquinas virtuais ou con­ten­to­res torna-o a opção preferida para in­fra­es­tru­tu­ras de TI tra­di­ci­o­nais. No entanto, apresenta como des­van­ta­gens um custo mais elevado e uma fle­xi­bi­li­dade mais limitada para gerir grandes volumes de dados dis­tri­buí­dos.

Ir para o menu principal