Como sites como o Pinterest são capazes de armazenar todas essas fotos?

4

Alguém sabe como os sites mantêm um grande número de fotos em geral? Eu tentei pesquisar isso, mas parece que eles precisariam de espaços de armazenamento massivos para armazenar todos esses, a menos que houvesse um truque para isso? Tenho certeza de que eles são compactados, mas ainda é uma quantidade enorme de dados para um site.

    
por Alan B 22.10.2013 / 06:26

3 respostas

5

Quando se trata de armazenar grandes quantidades de dados, os provedores de conteúdo usam as Storage Area Networks, também conhecidas como SAN e hardware de armazenamento SAN.

Da Wikipedia:

A storage area network (SAN) is a dedicated network that provides access to consolidated, block level data storage. SANs are primarily used to make storage devices, such as disk arrays, tape libraries, and optical jukeboxes, accessible to servers so that the devices appear like locally attached devices to the operating system. A SAN typically has its own network of storage devices that are generally not accessible through the local area network by other devices. The cost and complexity of SANs dropped in the early 2000s to levels allowing wider adoption across both enterprise and small to medium sized business environments.

Então, como é um dispositivo de armazenamento SAN? Alguns parecem com o seguinte:

.

Cada um desses slots (o quadrado vermelho é o botão de ejeção da unidade) é uma unidade de disco rígido. O da foto é um dispositivo de armazenamento SAN relativamente pequeno, outros podem parecer muito diferentes e podem ser muito maiores em tamanho.

Onde eu costumava trabalhar, nós tínhamos armazenamento SAN que eram caixas, basicamente o tamanho de 3 refrigeradores lado a lado preenchidos com discos rígidos. Em seguida, pegamos essas unidades conforme necessário e criamos matrizes RAID para redundância. Como precisávamos de mais espaço, poderíamos solicitar mais dispositivos de armazenamento SAN e anexá-los à nossa rede de área de armazenamento. Isso nos permitiu ter petabytes de armazenamento redundante.

Sites como o Flickr, o Picassa, o Facebook, etc, têm muito grandes SANS preenchendo datacenters massivos.

    
por 22.10.2013 / 07:12
2

De sua pergunta, eu sei que você não tem formação em Ciência da Computação, então eu evitava lançar termos que parecessem nerds.

Os sites populares, que lidam com quantidades extremamente grandes de dados (ou tráfego), não são nada de novo ou muito exclusivos. Geralmente, não há truques em termos de compactação massiva (já que a maioria das fotos carregadas como JPEG já estão altamente compactadas e a compactação adicional pode resultar em perda de detalhes). O que acontece é uma arquitetura inteligente, muitos e muitos computadores, fast & rede confiável e, é claro, vários terabytes (ou até petabytes) de armazenamento. Na verdade, o armazenamento é geralmente o menor dos problemas. O armazenamento e o poder computacional são bastante baratos hoje em dia.

O que acontece é que os dados são frequentemente distribuídos (várias cópias) em vários computadores, para redundância e recuperação mais rápida, e a busca / busca de dados acontece em paralelo. Manter os dados usados com frequência mais próximos da borda da rede ou dos usuários e manter esses dados atualizados com base no uso são algumas das técnicas.

Algumas palavras-chave nerds que são usadas com frequência e podem ser vistas como mágica são:

  • Cache em vários níveis
  • Armazenamento distribuído
  • Armazenamento de dados
  • NoSQL
  • Mapear-reduzir
  • Fragmentação de dados (principalmente no mundo SQL)
  • Processamento paralelo
  • CDN (redes de entrega de conteúdo)

Como fazer isso bem, mais eficientemente, efetivamente é um campo de estudo e também de pesquisa, na área de ciência da computação e arquitetura de computadores. Diferentes técnicas são usadas com base na natureza dos dados, natureza / frequência de acesso (mais gravações, versus mais leituras), tipo de confiabilidade necessária, etc.

Editado: Esta imagem da rack do servidor do Google (de 1999) é épica:! Observe os discos rígidos expostos (3-4 deles) no meio de cada "bandeja" do servidor (especialmente o chamado "g61").

eaviagemcompletaécapturadanestapostagem aqui :

    
por 22.10.2013 / 06:50
1

Eles não podem comprimir as fotos, porque as fotos quase certamente já estão compactadas, com compactação JPEG ou PNG, e não é possível compactar dados já compactados. (Isso simplifica demais um pouco, mas a menos que você queira entrar profundamente na teoria da informação, apenas aceite isso como um dado.)

Não há realmente nenhum atalho. Um site que contém grandes quantidades de dados tem grandes quantidades de computadores para mantê-lo.

Digamos que uma imagem tenha um peso de 1 MB. Há muitas que são maiores e muitas que são menores, mas apenas para simplificar, digamos que a imagem média seja de 1 MB. Não é difícil encontrar unidades de 2 TB acessíveis nos dias de hoje, o que significa que cada unidade poderia, teoricamente, conter cerca de 2 milhões de imagens. (Obviamente, haverá algum espaço perdido para sobrecarga, mas você entendeu a idéia.)

Um servidor pode ter uma configuração RAID configurada com vários discos rígidos. Alguns dos dados são perdidos para redundância, mas mesmo assim você pode ter vários TB de unidades por computador. E um farm de servidores pode conter dezenas, centenas ou até milhares de servidores. É assim que sites como Pinterest e Facebook gerenciam tanto conteúdo.

Eles tendem a ter grandes farms de servidores, com computadores na frente deles que encaminham solicitações de navegadores da Web, procurando o conteúdo no local apropriado no farm de servidores e servindo-o de volta ao usuário. É realmente um grande tópico para tentar cobrir aqui, mas essa é a ideia básica.

    
por 22.10.2013 / 06:43