4

Кто-нибудь знает, как на сайтах вообще хранится огромное количество картинок? Я пытался исследовать это, но, похоже, им понадобятся огромные места для хранения всего этого, если только в этом не было хитрости? Я уверен, что они сжимают их, но это все еще огромный объем данных для одного сайта.

3 ответа3

5

Когда дело доходит до хранения больших объемов данных, контент-провайдеры используют сети хранения данных, также известные как устройства хранения SAN и SAN.

Из Википедии:

Сеть хранения данных (SAN) - это выделенная сеть, которая обеспечивает доступ к консолидированному хранилищу данных на уровне блоков. Сети SAN в основном используются для того, чтобы устройства хранения, такие как дисковые массивы, ленточные библиотеки и оптические музыкальные автоматы, были доступны для серверов, чтобы устройства выглядели как локально подключенные устройства к операционной системе. SAN обычно имеет свою собственную сеть устройств хранения данных, которые, как правило, не доступны через локальную сеть другим устройствам. Стоимость и сложность сетей SAN упали в начале 2000-х годов до уровней, обеспечивающих более широкое внедрение как в корпоративных, так и в малых и средних бизнес-средах.

Так как же выглядит устройство хранения SAN? Некоторые выглядят следующим образом:

этот ,

Каждый из этих слотов (красный квадрат - кнопка извлечения диска) - это жесткий диск. На рисунке изображено относительно небольшое устройство хранения данных SAN, другие могут выглядеть очень по-разному и иметь гораздо больший размер.

Где я работал, мы имели хранения SAN , которые были коробки, в основном размер 3 холодильников бок о бок , заполненных жесткими дисками. Затем мы взяли эти диски по мере необходимости и создали RAID-массивы для резервирования. Поскольку нам требовалось больше места, мы могли заказать больше устройств хранения SAN и подключить их к нашей сети хранения данных. Это позволило нам иметь петабайты избыточного хранилища.

Такие сайты, как Flickr, Picassa, Facebook и т.д., Имеют очень большие SANS, заполняющие массивные центры обработки данных.

2

Из вашего вопроса я понимаю, что у вас нет опыта работы в области компьютерных наук, поэтому я бы не стал выговаривать с отвратительным звучанием.

Популярные веб-сайты, обрабатывающие чрезвычайно большие объемы данных (или трафик), не являются чем-то новым или уникальным. Обычно нет никакой хитрости с точки зрения массового сжатия (так как большинство фотографий, загруженных в формате JPEG, уже сильно сжаты, и дальнейшее сжатие часто может привести к потере деталей). Что нужно, так это умная архитектура, множество компьютеров, быстрая и надежная сеть и, конечно, несколько терабайт (или даже петабайт) дискового пространства. На самом деле, хранение часто является наименьшей из проблем. Память и вычислительная мощность в наши дни довольно недороги.

Что происходит, так это то, что данные часто распределяются (несколько копий) по нескольким компьютерам для обеспечения избыточности и быстрого извлечения, а поиск / поиск данных происходит параллельно. Хранение часто используемых данных ближе к границе сети или пользователей и их обновление на основе использования - вот некоторые из методов.

Некоторые вызывающие ключевые слова, которые часто используются и могут рассматриваться как волшебство:

  • Многоуровневое кеширование
  • Распределенное хранилище
  • Хранилище данных
  • NoSQL
  • Уменьшение карты
  • Sharding данных (в основном в мире SQL)
  • Параллельная обработка
  • CDN (сети доставки контента)

Как сделать это хорошо, более эффективно, эффективно - это область исследований, а также исследований в области компьютерных наук и компьютерной архитектуры. Используются различные методы, основанные на характере данных, характере / частоте доступа (больше операций записи по сравнению с большим количеством операций чтения), требуемой степени надежности и т.д.

Отредактировано: это изображение серверной стойки Google (с 1999 года) является эпическим :! Обратите внимание на открытые жесткие диски (3-4 из них) в середине каждого "лотка" сервера (особенно тот, который помечен как "g61").

и полное путешествие запечатлено в этом посте здесь:

1

Они не могут сжимать фотографии, потому что фотографии почти наверняка уже сжаты с использованием сжатия JPEG или PNG, и невозможно сжать уже сжатые данные. (Это немного упрощает, но если вы не хотите углубляться в теорию информации, просто примите это как данность.)

Там действительно нет ярлыка. Сайт, на котором хранятся огромные объемы данных, имеет огромное количество компьютеров для их хранения.

Допустим, изображение весит 1 МБ. Есть много больше и меньше, но просто для простоты предположим, что средний размер изображения составляет 1 МБ. В наши дни несложно найти недорогие диски емкостью 2 ТБ, что означает, что теоретически каждый диск может содержать около 2 миллионов изображений. (Очевидно, что некоторые накладные расходы будут потеряны, но вы поняли.)

Сервер может иметь конфигурацию RAID с несколькими жесткими дисками. Некоторые данные теряются из-за избыточности, но даже в этом случае на одном компьютере может быть несколько накопителей на несколько ТБ. И ферма серверов может содержать десятки, сотни или даже тысячи серверов. Вот как такие сайты, как Pinterest и Facebook, управляют таким количеством контента.

У них, как правило, большие фермы серверов, перед которыми стоят компьютеры, которые направляют запросы от веб-браузеров, ищут содержимое в соответствующем месте в ферме серверов и возвращают его пользователю. Это действительно большая тема, чтобы попытаться осветить ее здесь, но это основная идея.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .