O que é armazenamento de objetos?
Saiba por que o armazenamento de objetos baseado em nuvem é uma solução ideal para armazenar, arquivar, fazer backup e gerenciar grandes volumes de dados estáticos ou não estruturados — de forma confiável, eficiente e acessível.
Assine a newsletter da IBM
Fundo em preto e azul
O que é armazenamento de objetos?

O armazenamento de objetos, frequentemente chamado de armazenamento baseado em objetos, é uma arquitetura de armazenamento de dados para manipulação de grandes quantidades de dados não estruturados. Esses dados não obedecem ou não podem ser organizados facilmente em um banco de dados relacional tradicional, com linhas e colunas. Os dados de comunicação da Internet de hoje são, em grande parte, não estruturados. Isso inclui e-mail, vídeos, fotos, páginas da web, arquivos de áudio, dados de sensores e outros tipos de mídia e conteúdo da web (textual ou não textual). Esse conteúdo é transmitido constantemente pelas mídias sociais, mecanismos de procura, dispositivos móveis e "inteligentes".

A empresa de pesquisa de mercado IDC estima que os dados não estruturados provavelmente representarão até 80% de todos os dados em todo o mundo até o ano de 2025.

As empresas acham difícil armazenar e gerenciar de forma eficiente (e acessível) esse volume de dados sem precedentes. O armazenamento baseado em objetos surgiu como o método preferido para arquivamento e backup de dados. Ele oferece um nível de escalabilidade que não é possível com o armazenamento tradicional baseado em arquivos ou blocos. Com o armazenamento baseado em objetos, você pode armazenar e gerenciar volumes de dados da ordem de terabytes (TBs), petabytes (PBs) e até mais.

Descubra como a IBM pode ajudá-lo em sua jornada de armazenamento de objetos
Veja como funciona

Objetos são unidades discretas de dados armazenados em um ambiente de dados estruturalmente plano. Não há pastas, diretórios ou hierarquias complexas como em um sistema baseado em arquivos. Cada objeto é um repositório simples e autocontido, que inclui dados, metadados (informações descritivas associadas a um objeto) e um número de ID de identificação exclusivo (em vez de um nome de arquivo e caminho de arquivo). Essas informações possibilitam que um aplicativo localize e acesse o objeto. Você pode agregar dispositivos de armazenamento de objetos em pools de armazenamento maiores e distribuir esses pools de armazenamento em diferentes locais. Isso permite escala ilimitada, bem como maior resiliência de dados e recuperação de desastre.

O armazenamento de objetos remove os desafios de complexidade e escalabilidade de um sistema de arquivos hierárquico com pastas e diretórios. Os objetos podem ser armazenados localmente, mas muitas vezes residem em servidores em nuvem, com acessibilidade de qualquer lugar do mundo.

Objetos (dados) em um sistema de armazenamento de objetos são acessados por meio de interfaces de programação de aplicativos (APIs). A API nativa para armazenamento de objetos é uma API RESTful baseada em HTTP (também conhecida como serviço da web RESTful). Essas APIs consultam os metadados de um objeto para localizar o objeto desejado (dados) pela Internet de qualquer lugar, em qualquer dispositivo. As APIs RESTful usam comandos HTTP como “PUT” ou “POST” para fazer upload de um objeto, “GET” para recuperar um objeto e “DELETE” para removê-lo. (HTTP significa Protocolo de Transporte de Hipertexto e é o conjunto de regras para transferir texto, imagens gráficas, som, vídeo e outros arquivos multimídia na Internet).

Você pode armazenar qualquer número de arquivos estáticos em uma instância de armazenamento de objetos a ser chamada por uma API. Estão surgindo padrões adicionais de API RESTful que vão além da criação, recuperação, atualização e exclusão de objetos. Eles permitem que os aplicativos gerenciem o armazenamento de objetos, seus contêineres, contas, multiocupação, segurança, faturamento e muito mais.

Por exemplo, suponha que você queira armazenar todos os livros em um sistema de biblioteca muito grande em uma única plataforma. Você precisará armazenar o conteúdo dos livros (dados), mas também as informações associadas, como autor, data de publicação, editora, assunto, direitos autorais e outros detalhes (metadados). Você pode armazenar todos esses dados e metadados em um banco de dados relacional, organizado em pastas sob uma hierarquia de diretórios e subdiretórios.

Mas com milhões de livros, o processo de busca e recuperação se tornará complicado e demorado. Um sistema de armazenamento de objetos funciona bem aqui, pois os dados são estáticos ou fixos. Neste exemplo, o conteúdo do livro não será alterado. Os objetos (dados, metadados e ID) são armazenados como "pacotes" em uma estrutura simples e são facilmente localizados e recuperados com uma única chamada da API. Além disso, à medida que o número de livros continua a crescer, você pode agregar dispositivos de armazenamento em pools de armazenamento maiores e distribuir esses pools de armazenamento para alcançar escala ilimitada.

Benefícios

Há muitas razões para considerar uma solução baseada em armazenamento de objetos para armazenar seus dados, particularmente nesta era da Internet e das comunicações digitais que está produzindo grandes volumes de dados multimídia baseados na web a uma taxa crescente.

Armazenamento/gerenciamento de dados não estruturados

O armazenamento de objetos está vendo ampla adoção na era da computação em nuvem e para o gerenciamento de dados não estruturados, que os analistas estimam que representarão a grande maioria de todos os dados em todo o mundo em um futuro próximo. O volume de conteúdo gerado pela Web — e-mails, vídeos, mídia social, documentos, dados de sensores produzidos pelos dispositivos da Internet das Coisas (IoT) e muito mais — é maciço e está crescendo. Os dados não estruturados normalmente são estáticos (imutáveis), mas podem ser necessários a qualquer momento, em qualquer lugar (como arquivos de imagens e vídeos, por exemplo, ou backups de dados arquivados).

O armazenamento de objetos baseado na nuvem é ideal para retenção de dados a longo prazo. Use o armazenamento de objetos para substituir os arquivos tradicionais, como o armazenamento conectado à rede (NAS), reduzindo sua infraestrutura de TI. Arquive e armazene facilmente dados regulamentares obrigatórios que devem ser retidos por longos períodos. Preserve de forma econômica grandes quantidades de conteúdo de rich media (imagens, vídeos etc.) não acessados com frequência.

Escalabilidade

A escala ilimitada talvez seja a vantagem mais significativa do armazenamento de dados baseado em objetos. Objetos, ou unidades discretas de dados (em qualquer quantidade), são armazenados em um ambiente de dados estruturalmente simples, dentro de um dispositivo de armazenamento como um servidor. Basta adicionar mais dispositivos/servidores em paralelo a um cluster de armazenamento de objetos para processamento adicional e para suportar os maiores rendimentos exigidos por arquivos grandes, como vídeos ou imagens.

Redução da complexidade

O armazenamento de objetos remove a complexidade que vem com um sistema de arquivos hierárquico com pastas e diretórios. Há menos potencial para atraso de desempenho e você perceberá eficiências ao recuperar dados, pois não há pastas, diretórios ou hierarquias complexas para navegar. Isso melhora o desempenho, principalmente no gerenciamento de grandes quantidades de dados.

Recuperação/disponibilidade de desastre

Você pode configurar sistemas de armazenamento de objetos para replicar o conteúdo. Se um disco dentro de um cluster falhar, haverá um disco duplicado disponível, garantindo que o sistema continue em execução sem interrupção ou degradação de desempenho. Os dados podem ser replicados dentro de nós e clusters e entre os data centers distribuídos para backup adicional fora do local e até mesmo entre regiões geográficas.

O armazenamento de objetos é uma alternativa mais eficiente para as soluções de backup de fita, que exigem fitas que precisam ser carregadas e removidas fisicamente das unidades de fita e movidas para fora do local para fins de redundância geográfica. Você pode usar o armazenamento de objetos para fazer backup automático de bancos de dados locais na nuvem e/ou replicar dados de maneira econômica entre data centers distribuídos. Adicione backup externo adicional e até mesmo entre regiões geográficas para garantir a recuperação de desastres.

Para mais detalhes sobre a recuperação de desastres, consulte "Backup e recuperação de desastres: guia completo".

Metadados personalizáveis

Lembre-se de que cada objeto é um repositório autocontido, que inclui metadados ou informações descritivas associadas. Os objetos usam esses metadados para funções importantes, como políticas de retenção, exclusão e roteamento, estratégias de recuperação de desastre (proteção de dados) ou validação da autenticidade do conteúdo. Você também pode personalizar os metadados com contexto adicional, que pode ser extraído e aproveitado posteriormente para realizar insights de negócios e análises em torno do atendimento ao cliente ou tendências de mercado, por exemplo.

Acessibilidade

Os serviços de armazenamento em objeto usam precificação pré-paga, que não incorre em custos iniciais ou investimento de capital. Basta pagar uma taxa de assinatura mensal por uma quantidade específica de capacidade de armazenamento, recuperação dos dados, uso da largura de banda e transações de API. A precificação geralmente é baseada em camadas ou em volume, o que significa que você pagará menos por volumes muito grandes de dados.

A economia de custo adicional advém do uso de hardware de servidor comum, já que as soluções de armazenamento de objetos têm restrições de limites de hardware e podem ser implementadas nos servidores comuns mais adequadamente configurados. Isso limita a necessidade de comprar um novo hardware ao implementar uma plataforma de armazenamento de objetos no local. Você pode até mesmo usar hardware de vários fornecedores.

Compatibilidade com a nuvem

O armazenamento de objetos anda de mãos dadas com ambientes hospedados ou em nuvem que oferecem armazenamento multilocatário como um serviço. Isso permite que muitas empresas ou departamentos dentro de uma empresa compartilhem o mesmo repositório de armazenamento, com cada um tendo acesso a uma parte separada do espaço de armazenamento. Essa abordagem de armazenamento compartilhado otimiza inerentemente a escala e os custos. Você reduzirá a infraestrutura de TI local de sua organização usando armazenamento em nuvem de baixo custo e, ao mesmo tempo, mantendo seus dados acessíveis quando necessário. Sua empresa, por exemplo, pode usar uma solução de armazenamento de objetos em nuvem para coletar e armazenar grandes quantidades de dados móveis e IoT não estruturados para seus aplicativos de dispositivos inteligentes.

Armazenamento de objetos x arquivos x blocos

Os métodos de armazenamento evoluíram para atender à natureza mutável dos dados. Os dados podem ser transacionais e coletados em volumes menores, que são armazenados com precisão em um banco de dados em uma unidade de disco em um servidor. O armazenamento baseado em arquivos e o armazenamento baseado em blocos são adequados para esse tipo de dados estruturados e continuam funcionando bem em determinados cenários. Mas a Internet mudou tudo. As organizações lutam para gerenciar volumes crescentes de conteúdo digital baseado na web (dados não estruturados). O armazenamento baseado em objetos pode enfrentar esse desafio.

Sua empresa provavelmente tem necessidades de armazenamento diferentes, dependendo dos requisitos de velocidade e desempenho de suas operações de TI. Analise cuidadosamente os métodos de armazenamento baseados em arquivos, blocos e objetos, pois cada um tem suas próprias vantagens e desvantagens. Você pode achar que uma combinação dessas arquiteturas atenderá melhor às suas necessidades de armazenamento de dados.

Armazenamento de arquivos

O armazenamento de arquivos organiza e armazena dados dentro de uma pasta. Os arquivos são nomeados, identificados com metadados (normalmente, o nome do arquivo, tipo de arquivo e quando foi criado e atualizado pela última vez) e organizados em pastas sob uma hierarquia de diretórios e subdiretórios. Você pode pensar no armazenamento de arquivos da mesma forma que armazena arquivos físicos em papel em um armário de arquivamento. Há múltiplas gavetas (diretórios) e pastas de arquivos rotuladas dentro de cada gaveta (subdiretórios). Para localizar uma pasta de arquivos específica em seu armário de arquivamento, retire a gaveta apropriada e veja os rótulos das pastas. Da mesma forma, para acessar os dados em um sistema de armazenamento de arquivos, o sistema do seu computador requer apenas o caminho (diretórios e subdiretórios) no qual encontrá-los. Um sistema de armazenamento hierárquico como esse funciona bem com quantidades de dados relativamente pequenas e facilmente organizadas. No entanto, à medida que o número de arquivos cresce, o processo de busca e recuperação pode se tornar complicado e demorado.

"Armazenamento de arquivos: um guia completo" fornece uma visão geral completa do armazenamento de blocos.

Armazenamento de objetos

O armazenamento baseado em objetos surgiu como método preferencial para arquivamento de dados e backup das comunicações digitais atuais — mídia não estruturada, conteúdo da web (e-mail, vídeos, arquivos de imagens e páginas da web) e dados de sensores produzidos por dispositivos IoT. Em vez de dividir arquivos em blocos armazenados em discos em um sistema de arquivos, esse sistema de armazenamento trata objetos como unidades discretas de dados armazenados em um ambiente de dados estruturalmente simples.

O armazenamento de objetos não usa pastas, diretórios ou hierarquias complexas. Em vez disso, cada objeto é um repositório autocontido simples, que inclui os dados, metadados e um número de ID de identificação exclusivo que um aplicativo usa para localizá-lo e acessá-lo. Nesse caso, os metadados são mais descritivos do que com uma abordagem baseada em arquivos. Você pode personalizar os metadados com contexto adicional que você pode extrair e aproveitar posteriormente para outros fins, como análises de dados.

Use o armazenamento de objetos como uma solução se precisar de capacidade de armazenamento econômica para o ajuste de escala de dados não estruturados muito além dos limites efetivos das soluções de blocos e arquivos. O armazenamento de objetos também é ideal para arquivar dados que não mudam com frequência ou de forma alguma (arquivos estáticos), como registros de transações ou arquivos de músicas, imagens e vídeos.

Armazenamento de bloco

O armazenamento de bloco oferece uma alternativa ao armazenamento baseado em arquivos, com eficiência e desempenho aprimorados. O armazenamento em bloco divide um arquivo em blocos de dados de tamanho igual e armazena esses blocos de dados separadamente sob um endereço exclusivo. Você não precisa de uma estrutura de pastas e arquivos. Em vez disso, você pode armazenar a coleção de blocos em qualquer lugar do sistema para máxima eficiência.

Para acessar um arquivo, o sistema operacional de um servidor usa o endereço exclusivo para reunir os blocos novamente, montando-os no arquivo. Você ganhará eficiência, pois o sistema não precisa navegar por diretórios e hierarquias de arquivos para acessar os blocos de dados. O armazenamento de bloco funciona bem para aplicativos críticos de negócios, bancos de dados transacionais e máquinas virtuais que exigem baixa latência (atraso mínimo), acesso granular ou mais detalhado aos dados e desempenho consistente.

"Armazenamento de bloco: um guia completo" oferece uma visão geral completa do armazenamento de bloco.

Para ver mais de perto as diferenças e os benefícios do armazenamento de bloco e arquivo, assista ao nosso vídeo "Armazenamento de bloco versus armazenamento de arquivo":

Casos de uso

Como mencionado, o armazenamento baseado em objetos é uma solução ideal para armazenar, arquivar, fazer backup e gerenciar grandes volumes de dados estáticos ou não estruturados.

Casos de uso adicionais incluem os seguintes:

  • Aplicativos nativos de cloud: o armazenamento de objetos baseado em nuvem está pronto para o desenvolvimento de aplicativos em nuvem. Crie novos aplicativos nativos de cloud ou transforme aplicativos legados em aplicativos em nuvem de última geração usando o armazenamento de objetos em nuvem como um armazenamento de dados persistente. Colete e armazene grandes quantidades de dados de IoT e móveis não estruturados para seus aplicativos de dispositivos inteligentes. Atualize os componentes de seu aplicativo de forma fácil e eficiente.

  • IA e análises de big data: crie um repositório de dados centralizado, aproveitando o armazenamento de objetos econômico e escalável. Colete e armazene quantidades ilimitadas de dados de qualquer tipo, de qualquer fonte. Consulte esses dados para realizar análises de big data e obter informações valiosas sobre seus clientes, suas operações e o mercado que você atende.
Leia esta postagem do blog para obter mais informações sobre casos de uso de armazenamento de objetos em nuvem
O que é um banco de dados de armazenamento de objetos?

Aprendemos acima que você pode usar chamadas da API simples para fazer upload e recuperar arquivos em um sistema de armazenamento de objetos. Mas um aplicativo também precisa dos metadados do objeto para localizar o objeto adequado no armazenamento. É aqui que um banco de dados de armazenamento de objetos entra em ação. Esse banco de dados fornece um diretório de classificações que utiliza os metadados do objeto para localizar os arquivos de dados apropriados em um sistema de armazenamento distribuído.

Cada grupo de armazenamento de objetos tem um banco de dados de armazenamento de objetos que contém duas tabelas. Uma tabela é um diretório de objetos, e a outra tabela é para o armazenamento de objetos.

A tabela de diretório de objetos contém informações descritivas sobre cada objeto (os metadados). Esse diretório mantém o controle de todos os objetos na hierarquia de armazenamento, gravando o identificador do nome da coleção, o nome do objeto e outras informações pertinentes. Por exemplo, na metodologia de armazenamento de objetos da IBM, a tabela do diretório de objetos inclui três "índices":

  • O registro de data e hora da criação do objeto

  • O identificador do nome da coleção (ID do nome), os dados de ação pendentes e o registro de data e hora da criação do objeto

  • O nome do objeto e o identificador do nome da coleção

A segunda tabela no banco de dados de armazenamento de objetos é a tabela de armazenamento de objetos, que contém o próprio conteúdo/arquivo de dados (os objetos). Os dados (conteúdo digital fixo, como arquivos de vídeos e imagens ou grandes bibliotecas de documentos) ficam no armazenamento de objetos, enquanto os metadados (informações contextuais sobre os dados, incluindo o ID do nome) residem em uma tabela de diretório de objetos/banco de dados.

Quando um aplicativo "posta" um arquivo, ele cria os metadados e os armazena na tabela do diretório de objetos dentro do banco de dados de armazenamento de objetos, juntamente com "colocar" o arquivo na tabela de armazenamento de objetos. Para recuperar o arquivo mais tarde, o aplicativo consulta o diretório/banco de dados de objetos para os metadados e usa essa descrição, identificando informações para localizar ou "obter" os dados.

Soluções de software livre

Software livre geralmente se refere a um modelo de desenvolvimento de software universal ou não proprietário. Um ambiente de desenvolvedor de software livre incentiva a colaboração. O público em geral tem acesso gratuito a todo o código-fonte, documentação, kits de desenvolvimento de software (SDKs) e interfaces de programação de aplicativos (APIs) dentro do ambiente. Os desenvolvedores e programadores podem modificar e aprimorar o código-fonte e, em seguida, compartilhar, distribuir ou publicar esses esforços dentro da comunidade de desenvolvedores. Outros desenvolvedores podem, então, fazer download desse código ou modificá-lo ainda mais.

As tecnologias de software livre oferecem a máxima flexibilidade e controle sobre suas opções de gerenciamento e armazenamento de dados. Com ferramentas de software livre e acesso a APIs abertas, você pode personalizar o código para atender aos requisitos específicos de sua organização. Você não está preso a tecnologias proprietárias à medida que desenvolve, mas terá a liberdade de utilizar o hardware existente que você pode possuir (ou uma mistura de hardware de vários fornecedores). Você também se beneficiará dos esforços de outros desenvolvedores dentro da comunidade mais ampla.

No que diz respeito aos sistemas de armazenamento baseados em objetos, existem várias soluções de software livre disponíveis, como Ceph, MinIO, Openio.io e SwiftStack/OpenStack Swift. Embora elas apresentem diferentes recursos, opções de políticas e metodologias, cada uma tem o mesmo objetivo: permitir o armazenamento em grande escala de dados digitais não estruturados.

Todas as principais soluções de tecnologia de software livre aderem ao protocolo de armazenamento de objetos Simple Storage Service (Amazon S3) da Amazon. Lançado pela primeira vez em 2006, desde então se tornou o padrão de fato para armazenamento em nuvem. Cada uma oferece um servidor de armazenamento de objetos de software livre compatível com as APIs RESTful do Amazon S3. Muitas também oferecem sua própria API aberta como alternativa. O OpenStack Swift, por exemplo, não só é compatível com a API S3 da Amazon, mas também oferece sua própria API Swift Open com alguns recursos exclusivos. O Ceph Object Storage e o OpenIO.io são compatíveis com a S3, mas também com um grande subconjunto da API OpenStack Swift.

Armazenamento de objetos e Kubernetes

À medida que mais desenvolvedores competem para implementar e escalar aplicativos mais rapidamente, a conteinerização surgiu como uma solução crescente.

Conteinerização é uma abordagem de empacotamento de aplicativos que está amadurecendo rapidamente e oferecendo benefícios sem precedentes para desenvolvedores, equipes de infraestrutura e de operações. "Conteinerização: um guia completo" lhe dará uma visão geral integral de todas as coisas relacionadas à conteinerização.

O Kubernetes, por sua vez, tornou-se uma solução líder de gerenciamento de contêineres. O Kubernetes facilita tarefas de gerenciamento, como ajuste de escala de aplicativos em contêineres. Ele também ajuda você a apresentar novas versões de aplicativos e fornece serviços de monitoramento, criação de log e depuração, entre outras funções. O Kubernetes é uma plataforma de software livre e está em conformidade com os padrões Open Container Initiative (OCI) para formatos de imagem de contêiner e tempos de execução.

O que Kubernetes tem a ver com armazenamento de objetos? O termo-chave aqui é escala.

O Kubernetes permite o gerenciamento de contêineres em escala. Ele é capaz de orquestrar contêineres em múltiplos hosts e ajustar a escala de aplicativos conteinerizados e seus recursos dinamicamente (o ajuste automático de escala é um dos recursos-chave do Kubernetes). Os sistemas de armazenamento de objetos manipulam o armazenamento em grande escala. Esses sistemas são capazes de armazenar volumes substanciais de dados não estruturados em escala de petabyte e ainda maiores. Essas duas abordagens de expansão, usadas em conjunto, criam um ambiente ideal para cargas de trabalho de dados substanciais e crescentes, tanto hoje quanto no futuro.

Executar um sistema de armazenamento de objetos sobre o Kubernetes é um ajuste natural. Use o Kubernetes para fornecer e gerenciar aplicativos conteinerizados distribuídos. Da mesma forma, o Kubernetes pode ser a interface de gerenciamento unificada para manipular a orquestração de pools de armazenamento de objetos distribuídos, sejam eles locais ou distribuídos entre data centers ou até mesmo entre regiões geográficas.

Para saber tudo sobre o Kubernetes, consulte "Kubernetes: um guia completo".

Para voltar um pouco e começar a partir dos conceitos básicos, veja nosso vídeo "Orquestração de contêiner explicada".

Soluções relacionadas
IBM Cloud Object Storage

O IBM Cloud Object Storage é um serviço de armazenamento de dados não estruturados, desenvolvido para ser durável, resiliente e seguro.

Explore o IBM Cloud Object Storage
IBM Analytics Engine

O IBM Analytics Engine é um serviço combinado do Apache Spark e do Apache Hadoop para a criação de aplicativos de análises.

Explore o IBM Analytics Engine
IBM Security Verify: soluções de IAM

Soluções inteligentes de gerenciamento de acesso e identidade (IAM) para empresas de multinuvem híbrida. Desenvolvido com IA. Apoiado pelo IBM Security®.

Explore o IBM Security Verify
Recursos Treinamento: IBM Cloud Professional Developer

Obtenha as habilidades e o conhecimento necessários para expandir sua carreira e aprofundar suas habilidades como um IBM Cloud Developer. Esse currículo interativo ajuda você a se preparar para a certificação de nível profissional.

O que é armazenamento de arquivos?

Armazenamento de arquivo (também chamado de armazenamento baseado em arquivo ou nível de arquivo) é uma metodologia de armazenamento hierárquica usada para organizar e armazenar dados em um disco rígido de computador ou em um dispositivo de armazenamento conectado à rede (NAS).

O que é armazenamento de bloco?

Conheça os fundamentos do armazenamento de bloco, um tipo de armazenamento usado para armazenar arquivos de dados em redes de área de armazenamento (SAN) ou em plataformas de nuvem.

Dê o próximo passo

O IBM Cloud Object Storage é um serviço pré-pago para armazenar grandes volumes de dados de forma segura e confiável. As organizações podem usar o IBM Cloud Object Storage para arquivamento e backup de dados, para aplicativos móveis e da web e como um armazenamento persistente e escalável para análises. Reduza a infraestrutura de TI local da sua organização e, ao mesmo tempo, mantenha seus dados acessíveis quando necessário.

Saiba mais sobre o IBM Cloud Object Storage