Как организовать хранение большого количества медиа файлов фото и видео, для сайта?

Ссылка скопирована
1 ответ

Всем добра и мира!
Уважаемые знатоки, поделитесь пожалуйста вашим компетентным опытом.
Задача (кратко):
Нужно обеспечить хранение и предоставление пользователю фото и видео. Не дорого (понимаю что это субъективное понятие, поэтому рассмотрю Ваше компетентное не дорого).

Задача подробнее:
Периодически на сайт нужно выкладывать фото и видео с мероприятий.
В среднем, вес фото с одного мероприятия около 5гб.
Видео может достигать 50Гб.
(для "грязного" расчета пусть будет 55гб).
Логика работы сайта такая:
Пользователь нажимает на кнопку "фото" у него открывается галерея (без перехода на сторонний сервис).
Пользователь нажимает на кнопку видео и у него открывается плеер (без перехода на сторонний сервис).
Размышления:
На хостинге reg.ru, во первых я не нашел расценок на cdn, во вторых в принципе не нашел этот раздел (может не внимателен).
Возможно есть удобный, не дорогой, надежный сервис для хранения фото и видео о котором я не знаю, но вы можете подсказать?
При этом всём, должно быть удобно заливать фото и видео на этот сервис и создавать там папки с датами

Дополнительно:

а зачем тут cdn?
какой общий максимальный объем данных в момент времени?
какой срок хранения условных 55 Gb?
сколько раз эти "уникальные" 55 Gb скачивают?

  • 5гб фото - это 25-40тыщ шт нормально оптимизированных. Что явно перебор для одного мероприятия. (не, наснимать можно и больше, вот только выкладывать это всё никому не нужно.)
  • Ответы:

    До нескольких терабайт, при условии что сайтом очень активно пользуются, сотни мегабайт трафика и т.п. - самое дешевое это использовать свое хранилище, на основе hdd (при большой нужде - ssd), настраивать raid1 или raid5, используя минимально возможное количество дисков на массив (т.е. если 10 дисков то делать либо 2 рейда по 5 дисков либо три по 3 диска, не делать один огромный рейд - особенно если это hdd, он будет медленный). Хранить в виде файлов как они должны отдаваться, метаинформацию - в базе данных.

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

    • До нескольких терабайт, при условии что сайтом очень активно пользуются, сотни мегабайт трафика и т.п. - самое дешевое это использовать свое хранилище, на основе hdd (при большой нужде - ssd)

      Возможно. Но надо брать в расчёт и ССВ, поскольку, включает:
      1. аренду серверного оборудования
      2. разработку собственного решения для хранения
      3. Оплату специалистам за разворачивание и поддержку этого решения

    • Самое популярное это амазон s3

      надо уточнить, что этот популярный протокол не привязан жёстко к Амазону и он предоставляется многими провайдерами. И, с точки зрения разработчика, значительно упрощает работу с хранилищем данных, доступных по этому протоколу. И никто не запрещает использовать открытое ПО для работы on premises.

    • rPman Благодарю за подробный ответ.
      Описанное Вами решение это скорее всего для реально больших проектов.
      В моём случае, избыточное решение. :(
      Сайт по организации праздников, на котором будут выкладываться материалы с этих праздников.
      Вот я и обратился к экспертам для того, что бы понять как же всё таки мне организовать хранение файлов, но так что бы их можно было смотреть не покидая сайт (смотреть прямо на сайте) и за любой период.
    • Иерокопус Таманский, Интересное решение.
      Вопрос тут возникает в том, что многие импортные компании уходят с Российского рынка, не уйдет ли и Амазон?
    • I_want_to_know, вам же написали, S3 к амазону не привязан.
    • I_want_to_know,

      Вот я и обратился к экспертам для того, что бы понять как же всё таки мне организовать хранение файлов, но так что бы их можно было смотреть не покидая сайт (смотреть прямо на сайте) и за любой период.

      при использовании S3 весь доступ настраивается так, что пользователь может оставаться в рамках сайта, чтобы доступ был к поддомену, например files.example.com
      Само хранилище S3 может работать как составной модуль сайта, а не как отдельный домен. Для веб-разработчиков S3 должен быть на слуху (если не дилетанты).
      То есть хранилище S3 может работать как на своих мощностях, так и некоторого провайдера (нет связи с интернет провайдерами).
      Для лучшего понимания о работе с хранилищем данных лучше обратиться с вопросами к специалистам или самому порыться в интернете.

    • I_want_to_know,
      Хотел ответ написать, в общем свадебщики еще в 2010 думали как передавать контент клиентам.

      По сути, у вас остается важный вопрос - как сделать галлерею для клиента и сжать видео и фото в формат веба.
      Память тут уже вторична, это может и яндекс s3 и просто жесткие диски подключенные к vps.

      Вот сервис гляньте еще -
      https://vigbo.com/pricing

    Свою хранилку делайте и прикручивайте к сайту плеер итд
    по сути наверно S3 будет оптимальным...

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Виктор Sys Ответ

    Для хранения большого количества медиа файлов, таких как фотографии и видеозаписи, на сайте можно использовать специализированные сервисы хранения данных, такие как облачные хранилища. Одним из наиболее популярных облачных хранилищ является Amazon S3.

    Для начала, необходимо создать аккаунт на Amazon Web Services (AWS) и настроить Amazon S3. После этого можно начать загружать медиа файлы на сервер. Amazon S3 предоставляет удобный API для загрузки, скачивания и управления файлами.

    Преимущества использования Amazon S3 для хранения медиа файлов включают высокую доступность и надежность хранилища, а также возможность масштабирования хранилища в зависимости от потребностей сайта.

    Пример использования Amazon S3 для загрузки файла на сервер с помощью PHP:

     'latest',
        'region' => 'us-east-1',
        'credentials' => [
            'key' => 'YOUR_AWS_ACCESS_KEY',
            'secret' => 'YOUR_AWS_SECRET_KEY',
        ],
    ]);
     
    // Загружаем файл на сервер
    $result = $s3->putObject([
        'Bucket' => 'YOUR_BUCKET_NAME',
        'Key' => 'path/to/media_file.jpg',
        'SourceFile' => 'path/to/local_file.jpg',
    ]);
     
    echo "Файл успешно загружен на сервер";
    ?>

    'latest', 'region' => 'us-east-1', 'credentials' => [ 'key' => 'YOUR_AWS_ACCESS_KEY', 'secret' => 'YOUR_AWS_SECRET_KEY', ], ]); // Загружаем файл на сервер $result = $s3->putObject([ 'Bucket' => 'YOUR_BUCKET_NAME', 'Key' => 'path/to/media_file.jpg', 'SourceFile' => 'path/to/local_file.jpg', ]); echo "Файл успешно загружен на сервер"; ?>

    Не забудьте заменить 'YOUR_AWS_ACCESS_KEY', 'YOUR_AWS_SECRET_KEY' и 'YOUR_BUCKET_NAME' на соответствующие значения вашего аккаунта AWS. Также укажите путь к локальному файлу и путь, по которому нужно сохранить файл на сервере.

    Используя Amazon S3 для хранения медиа файлов, вы сможете эффективно организовать хранение и управление большим объемом данных на вашем сайте.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно