SlideShare una empresa de Scribd logo
1 de 52
WWW.VOLNOREZ.COM
Матвеев Артур
ХРАНЕНИЕ АУДИО И ВИДЕО
Методы организации и экономии дискового
пространства при хранении музыки и видео
Особенности медиа-файлов
• Большой размер
• Необходимость хранить в разных битрейтах
• Необходимость хранения в разных форматах
• Большой траффик и высокие требования к сети
• Предполагается работа с многими серверами
• Обеспечение сохранности пользовательских данных
Методы организации и экономии дискового пространства при хранении музыки и видео
Проблемы при загрузке
Методы организации и экономии дискового пространства при хранении музыки и видео
Решение проблем
NGINX
client_max_body_size 100m;
APACHE
LimitRequestBody 104857600
PHP
file_uploads = On - разрешаем загрузку файлов
memory_limit =100М
upload_max_filesize = 100M - максимальный размер
post_max_size = 100M
max_execution_time = 500 - максимальное время загрузки
max_input_time = 500
Методы организации и экономии дискового пространства при хранении музыки и видео
Методы организации и экономии дискового пространства при хранении музыки и видео
Прежде чем непосредственно хранить данные, их
необходимо соответствующим образом подготовить
Подготовка файлов к хранению
Метаданные
Прежде всего, не плохо было бы извлечь из файла метаданные ID3
PHP библиотека GetID3
GNU General Public License version 2.0 (GPLv2)
Методы организации и экономии дискового пространства при хранении музыки и видео
Тонкости подготовки к хранению музыки
Нормализация аудио по громкости
Тримминг композиций
Методы организации и экономии дискового пространства при хранении музыки и видео
Перекодировка в различные форматы и битрейты
• Важно определиться с битрейтами и форматами сохраняемых данных
• Не следует искусственно повышать битрейт
Методы организации и экономии дискового пространства при хранении музыки и видео
Где и как хранить. Сохранность и доступность
Несколько ОЧЕНЬ ВАЖНЫХ замечаний и хитростей
по поводу того, где и как хранить сами файлы
Методы организации и экономии дискового пространства при хранении музыки и видео
Зеркальный RAID
• Простота реализации
• Малая цена по сравнению с другими подходами
• Данные всё равно можно утратить вместе с сервером
• Никак не решает вопрос с доступностью данных
Методы организации и экономии дискового пространства при хранении музыки и видео
Бэкап-сервер
• Малая цена
• Бесполезное усложнение логики
• При выходе серверов из строя, для восстановления нормальной работы
могут понадобится дни
• Один «бэкап» сервер не сможет полноценно заменить 10 утраченых по
причине аварии нарушающей Интернет-соединение в дата-центре
Методы организации и экономии дискового пространства при хранении музыки и видео
Облака
ОЧЕНЬ ДОРОГО
Аналог одного обычного сервера может обходится по 40000 рэ в месяц!
Методы организации и экономии дискового пространства при хранении музыки и видео
Кроссбэкап
• Очень хорошая сохранность данных
• Очень хорошая доступность данных
• Отдача контента в зависимости от маршрута/географического
положения пользователя
• Высокая цена реализации и последующего содержания
Методы организации и экономии дискового пространства при хранении музыки и видео
Гибридный кроссбэкап
• Минимальные затраты по цене. Ни одного лишнего диска или сервера
• Нагрузка сбалансирована
• Отсутствует надобность в бэкапе, поскольку у вас всегда есть копия, пускай
и чуть более худшего качества.
• Файлы практически всегда доступны, поскольку даже если не будет
интернета в одном дата-центре, он будет в другом.
• Решается очень важный вопрос с выравниванием нагрузки на новый
сервер. Просто на него в первую очередь загружаются файлы в
максимальном качестве
• Возможность утраты наиболее качественного образца файла (решаемо)
Методы организации и экономии дискового пространства при хранении музыки и видео
Советы по хранению
Методы организации и экономии дискового пространства при хранении музыки и видео
НЕ ПРАВИЛЬНО
Старайтесь не допускать того, чтобы новые файлы
загружались только на один из серверов
Методы организации и экономии дискового пространства при хранении музыки и видео
ПРАВИЛЬНО
FFMPEG - вещь довольно сложная и, соответственно, склонна
ко всякого рода ошибкам
Методы организации и экономии дискового пространства при хранении музыки и видео
Лучше не хранить все файлы в одной отдельной папке
Методы организации и экономии дискового пространства при хранении музыки и видео
1. Will-I-Am-ft--Britney-Spears---Scream--shout.mp3
2. Luchshaya-klubnaya-muzyka-and-#33_-The-best-club-music----Klub-
raj-House-Party-2011.mp3
1. 1024255163bce60c039.mp3
2. 1024255164f8e1b2350.mp3
Было у пользователя:
Стало на сервере:
У каждого файла должно быть уникальное название, а не то,
с каким его загрузил пользователь
Методы организации и экономии дискового пространства при хранении музыки и видео
Лучше не удалять сразу файлы по команде пользователя,
а просто пометить их в базе «на удаление»
Методы организации и экономии дискового пространства при хранении музыки и видео
На вашем сервере должно быть очень много оперативки для
кэша, иначе жёсткие диски просто не выдержат нагрузки
Методы организации и экономии дискового пространства при хранении музыки и видео
Устанавливайте систему, программы, логи и кэши на один
жёсткий диск, а сами медиа-файлы храните на другом
Методы организации и экономии дискового пространства при хранении музыки и видео
Выбирайте диски с максимально возможным размером кэша
Методы организации и экономии дискового пространства при хранении музыки и видео
Медиа-сервер HTTP сервер
доступ к файлам по сети
сетевая файловая система
Если в сервер уже просто некуда вставлять жёсткие диски. А
надо! Используйте пространство на ваших HTTP серверах
Методы организации и экономии дискового пространства при хранении музыки и видео
Если вы пока не знаете с какими дата-центрами работать -
устанавливайте оборудование сразу в три разных компании
Методы организации и экономии дискового пространства при хранении музыки и видео
Ретрансляция как метод экономии железа
Методы организации и экономии дискового пространства при хранении музыки и видео
Проблема высокой нагрузки на один сервер
При трансляции и музыки и видео возникает проблемы внезапного взлёта
популярности каких-то определённых файлов
Методы организации и экономии дискового пространства при хранении музыки и видео
Сервер №1
Сервер №3
Сервер №2
Самостоятельная организация копий самых
популярных файлов на разных серверах – это очень
плохой вариант
Сложно
Долго
Затратно
Методы организации и экономии дискового пространства при хранении музыки и видео
Простая реализация ретрансляции
Изначальное подсоединение пользователей не только к тому серверу,
на котором лежит необходимый файл, а на все подряд
Методы организации и экономии дискового пространства при хранении музыки и видео
Сервер №1
Сервер №3
Сервер №2
Проблемы ретрансляции при большом количестве серверов
Необходимо заранее оценить внутренний траффик между ними. Постепенно, при
большом количестве данных и клиентов он может заполнить половину, а то и весь
ваш интернет канал
Методы организации и экономии дискового пространства при хранении музыки и видео
Продвинутый алгоритм ретрансляции
• В первую очередь, до некоторой степени, нагружаем сам сервер на котором
находится файл
• Потом выбираем ещё один и только один самый свободный сервер
• Выбираем следующий свободный сервер и т.д.
Методы организации и экономии дискового пространства при хранении музыки и видео
РетрансляцияСервер №2 Сервер №3
Сервер №1
Дубликаты файлов, что это?
Методы организации и экономии дискового пространства при хранении музыки и видео
Хеширование
Самый распространённый. Для тех, кто не знает, этот метод основан на нахождении
некоторого числа, так называемой хеш-суммы, соответствующей каждому файлу.
Наиболее распространённый алгоритм определения такого числа – MD5
Методы организации и экономии дискового пространства при хранении музыки и видео
md5 1622B49BF769CC54EF50C799C245ECEC
Обрезаем мета
У абсолютно идентичных файлов они могут быть совершенно разными
Методы организации и экономии дискового пространства при хранении музыки и видео
≠
=
MD5 до перекодировки
Методы организации и экономии дискового пространства при хранении музыки и видео
md5 DC3978E2C79E485718A34184B5AF63AB
256 kbit 128 kbit
md5 0E2F7B1423896CFBA5F08F77B8E94424
256 kbit
Загрузка файлов в память
Методы организации и экономии дискового пространства при хранении музыки и видео
Коллизии
Методы организации и экономии дискового пространства при хранении музыки и видео
md5 DC3978E2C79E485718A34184B5AF63AB
md5 DC3978E2C79E485718A34184B5AF63AB
!
Хеширование и идентичные на слух файлы
Два абсолютно идентичных на слух трека, могут быть в абсолютно
разных, с точки зрения байт, файлах
Методы организации и экономии дискового пространства при хранении музыки и видео
md5 DC3978E2C79E485718A34184B5AF63AB
md5 E46C785AFF2CE8AA3CC7E83960EF6204
Тени. Пример графика
Методы организации и экономии дискового пространства при хранении музыки и видео
Тени. Наша технология
Методы организации и экономии дискового пространства при хранении музыки и видео
Перекодировку и вычисление всех значений лучше
выполнять на каждом сервере при загрузке композиций
подготовка
вычисления
перекодировка
хранение
подготовка
вычисления
перекодировка
хранение
Сервер №1 Сервер №3
подготовка
вычисления
перекодировка
хранение
Сервер №2
к №1
от №3
Методы организации и экономии дискового пространства при хранении музыки и видео
Данные лучше хранить в отдельной базе, поскольку
алгоритмы сравнения параметров могут выходить далеко за
пределы «больше/меньше» и сильно загружать её при
выборке
Основная БД
Сервер БД
подготовка
вычисления
перекодировка
хранение
Медиа-сервер
Вспомогательный сервер
БД «теней»
Методы организации и экономии дискового пространства при хранении музыки и видео
Если вы хотите написать всё на PHP или другом скрипте – это
очень плохая идея
Методы организации и экономии дискового пространства при хранении музыки и видео
Тщательно тестируйте свои алгоритмы. Ведь нахождение
«теней» при больших объёмах данных может занять недели!
Методы организации и экономии дискового пространства при хранении музыки и видео
Внимательно следите за тем, насколько одинаковыми в
вашем представлении должны быть файлы
= ?
Методы организации и экономии дискового пространства при хранении музыки и видео
Лучшим подходом, мы считаем, когда определяются не
все дубликаты, но уж точно остаются разные файлы
≠
=
≠
Методы организации и экономии дискового пространства при хранении музыки и видео
При работе с похожими файлами, лучше следить за тем,
что когда к вам попадает файл лучшего качества – он
дополняет уже имеющийся
Методы организации и экономии дискового пространства при хранении музыки и видео
96
128
256
320
256
Косвенное преимущество при применении методов
определения дубликатов – повышение релевантности
Одним из приятнейших следствий применения алгоритмов поиска дубликатов,
помимо экономии дискового пространства, является их влияние на выдачу
поискового движка
Методы организации и экономии дискового пространства при хранении музыки и видео
Запрет на закачивание определённых (или похожих) файлов
Важным моментом, касающимся работы с медиа, является авторское право
Методы организации и экономии дискового пространства при хранении музыки и видео
Особенности организации таблиц БД - дубликаты
Методы организации и экономии дискового пространства при хранении музыки и видео
Особенности организации таблиц БД - статистика
Сразу же следует задуматься о статистике. Если она предполагается. Обычно,
она очень часто изменяется и лучше сразу вынести её в отдельную таблицу
Методы организации и экономии дискового пространства при хранении музыки и видео
WWW.VOLNOREZ.COM
СПАСИБО ЗА ВНИМАНИЕ!
Пожалуйста, задавайте вопросы
info@volnorez.com
http://volnorez.com
Пример работы «теней»
http://volnorez.com/shadows
Скачать доклад
http://volnorez.com/presentations
Матвеев Артур

Más contenido relacionado

Similar a Хранение музыки и видео / Артур Матвеев (Волнорез)

Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ontico
 
Реактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/musicРеактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/musicVadim Tsesko
 
"Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo...
"Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo..."Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo...
"Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo...MoscowJS
 
Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Т...
Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Т...Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Т...
Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Т...Yandex
 
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULTУправление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULTКРОК
 
Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.Max Lapshin
 
Новый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
Новый подход к резервному копированию БД - Zero Data Loss Recovery ApplianceНовый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
Новый подход к резервному копированию БД - Zero Data Loss Recovery ApplianceAndrey Akulov
 
Макс Лапшин Erlyvideo
Макс Лапшин   ErlyvideoМакс Лапшин   Erlyvideo
Макс Лапшин ErlyvideoSiel01
 
Видеохостинг своими руками
Видеохостинг своими рукамиВидеохостинг своими руками
Видеохостинг своими рукамиStanislavMalkin
 
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...Ontico
 
Интерактивность в Html5
Интерактивность в Html5Интерактивность в Html5
Интерактивность в Html5Alexander Samantsov
 
где находится сайт в интернете
где находится сайт в интернетегде находится сайт в интернете
где находится сайт в интернетеСергей Савченко
 
54
5454
54JIuc
 
Software Defined Storage
Software Defined StorageSoftware Defined Storage
Software Defined StorageCisco Russia
 
Обзор TimesTen In-Memory Database
Обзор TimesTen In-Memory DatabaseОбзор TimesTen In-Memory Database
Обзор TimesTen In-Memory DatabaseAndrey Akulov
 
Как делать backup MySQL
Как делать backup MySQLКак делать backup MySQL
Как делать backup MySQLSveta Smirnova
 
Дедупликация. Нет громоздким ленточным библиотекам
Дедупликация. Нет громоздким ленточным библиотекамДедупликация. Нет громоздким ленточным библиотекам
Дедупликация. Нет громоздким ленточным библиотекамКРОК
 
Devpoint2 video in internet
Devpoint2 video in internetDevpoint2 video in internet
Devpoint2 video in internetMax Lapshin
 
Платформа для видео сроком в квартал. Александр Тоболь.
Платформа для видео сроком в квартал. Александр Тоболь.Платформа для видео сроком в квартал. Александр Тоболь.
Платформа для видео сроком в квартал. Александр Тоболь.odnoklassniki.ru
 
IBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байтеIBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байтеSasha_Zavorot
 

Similar a Хранение музыки и видео / Артур Матвеев (Волнорез) (20)

Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
 
Реактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/musicРеактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/music
 
"Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo...
"Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo..."Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo...
"Особенности записи звука нативными технологиями браузеров" — Федор Котов, Mo...
 
Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Т...
Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Т...Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Т...
Как сделать стриминг для сервиса, который хранит миллионы видеофайлов — Лев Т...
 
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULTУправление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
Управление данными и защита от сбоев. Решения КРОК на основе продуктов COMMVAULT
 
Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.Erlyvideo — сервер потокового видео.
Erlyvideo — сервер потокового видео.
 
Новый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
Новый подход к резервному копированию БД - Zero Data Loss Recovery ApplianceНовый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
Новый подход к резервному копированию БД - Zero Data Loss Recovery Appliance
 
Макс Лапшин Erlyvideo
Макс Лапшин   ErlyvideoМакс Лапшин   Erlyvideo
Макс Лапшин Erlyvideo
 
Видеохостинг своими руками
Видеохостинг своими рукамиВидеохостинг своими руками
Видеохостинг своими руками
 
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
 
Интерактивность в Html5
Интерактивность в Html5Интерактивность в Html5
Интерактивность в Html5
 
где находится сайт в интернете
где находится сайт в интернетегде находится сайт в интернете
где находится сайт в интернете
 
54
5454
54
 
Software Defined Storage
Software Defined StorageSoftware Defined Storage
Software Defined Storage
 
Обзор TimesTen In-Memory Database
Обзор TimesTen In-Memory DatabaseОбзор TimesTen In-Memory Database
Обзор TimesTen In-Memory Database
 
Как делать backup MySQL
Как делать backup MySQLКак делать backup MySQL
Как делать backup MySQL
 
Дедупликация. Нет громоздким ленточным библиотекам
Дедупликация. Нет громоздким ленточным библиотекамДедупликация. Нет громоздким ленточным библиотекам
Дедупликация. Нет громоздким ленточным библиотекам
 
Devpoint2 video in internet
Devpoint2 video in internetDevpoint2 video in internet
Devpoint2 video in internet
 
Платформа для видео сроком в квартал. Александр Тоболь.
Платформа для видео сроком в квартал. Александр Тоболь.Платформа для видео сроком в квартал. Александр Тоболь.
Платформа для видео сроком в квартал. Александр Тоболь.
 
IBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байтеIBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байте
 

Más de Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 

Más de Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Хранение музыки и видео / Артур Матвеев (Волнорез)

  • 1. WWW.VOLNOREZ.COM Матвеев Артур ХРАНЕНИЕ АУДИО И ВИДЕО Методы организации и экономии дискового пространства при хранении музыки и видео
  • 2. Особенности медиа-файлов • Большой размер • Необходимость хранить в разных битрейтах • Необходимость хранения в разных форматах • Большой траффик и высокие требования к сети • Предполагается работа с многими серверами • Обеспечение сохранности пользовательских данных Методы организации и экономии дискового пространства при хранении музыки и видео
  • 3. Проблемы при загрузке Методы организации и экономии дискового пространства при хранении музыки и видео
  • 4. Решение проблем NGINX client_max_body_size 100m; APACHE LimitRequestBody 104857600 PHP file_uploads = On - разрешаем загрузку файлов memory_limit =100М upload_max_filesize = 100M - максимальный размер post_max_size = 100M max_execution_time = 500 - максимальное время загрузки max_input_time = 500 Методы организации и экономии дискового пространства при хранении музыки и видео
  • 5. Методы организации и экономии дискового пространства при хранении музыки и видео Прежде чем непосредственно хранить данные, их необходимо соответствующим образом подготовить Подготовка файлов к хранению
  • 6. Метаданные Прежде всего, не плохо было бы извлечь из файла метаданные ID3 PHP библиотека GetID3 GNU General Public License version 2.0 (GPLv2) Методы организации и экономии дискового пространства при хранении музыки и видео
  • 7. Тонкости подготовки к хранению музыки Нормализация аудио по громкости Тримминг композиций Методы организации и экономии дискового пространства при хранении музыки и видео
  • 8. Перекодировка в различные форматы и битрейты • Важно определиться с битрейтами и форматами сохраняемых данных • Не следует искусственно повышать битрейт Методы организации и экономии дискового пространства при хранении музыки и видео
  • 9. Где и как хранить. Сохранность и доступность Несколько ОЧЕНЬ ВАЖНЫХ замечаний и хитростей по поводу того, где и как хранить сами файлы Методы организации и экономии дискового пространства при хранении музыки и видео
  • 10. Зеркальный RAID • Простота реализации • Малая цена по сравнению с другими подходами • Данные всё равно можно утратить вместе с сервером • Никак не решает вопрос с доступностью данных Методы организации и экономии дискового пространства при хранении музыки и видео
  • 11. Бэкап-сервер • Малая цена • Бесполезное усложнение логики • При выходе серверов из строя, для восстановления нормальной работы могут понадобится дни • Один «бэкап» сервер не сможет полноценно заменить 10 утраченых по причине аварии нарушающей Интернет-соединение в дата-центре Методы организации и экономии дискового пространства при хранении музыки и видео
  • 12. Облака ОЧЕНЬ ДОРОГО Аналог одного обычного сервера может обходится по 40000 рэ в месяц! Методы организации и экономии дискового пространства при хранении музыки и видео
  • 13. Кроссбэкап • Очень хорошая сохранность данных • Очень хорошая доступность данных • Отдача контента в зависимости от маршрута/географического положения пользователя • Высокая цена реализации и последующего содержания Методы организации и экономии дискового пространства при хранении музыки и видео
  • 14. Гибридный кроссбэкап • Минимальные затраты по цене. Ни одного лишнего диска или сервера • Нагрузка сбалансирована • Отсутствует надобность в бэкапе, поскольку у вас всегда есть копия, пускай и чуть более худшего качества. • Файлы практически всегда доступны, поскольку даже если не будет интернета в одном дата-центре, он будет в другом. • Решается очень важный вопрос с выравниванием нагрузки на новый сервер. Просто на него в первую очередь загружаются файлы в максимальном качестве • Возможность утраты наиболее качественного образца файла (решаемо) Методы организации и экономии дискового пространства при хранении музыки и видео
  • 15. Советы по хранению Методы организации и экономии дискового пространства при хранении музыки и видео
  • 16. НЕ ПРАВИЛЬНО Старайтесь не допускать того, чтобы новые файлы загружались только на один из серверов Методы организации и экономии дискового пространства при хранении музыки и видео ПРАВИЛЬНО
  • 17. FFMPEG - вещь довольно сложная и, соответственно, склонна ко всякого рода ошибкам Методы организации и экономии дискового пространства при хранении музыки и видео
  • 18. Лучше не хранить все файлы в одной отдельной папке Методы организации и экономии дискового пространства при хранении музыки и видео
  • 19. 1. Will-I-Am-ft--Britney-Spears---Scream--shout.mp3 2. Luchshaya-klubnaya-muzyka-and-#33_-The-best-club-music----Klub- raj-House-Party-2011.mp3 1. 1024255163bce60c039.mp3 2. 1024255164f8e1b2350.mp3 Было у пользователя: Стало на сервере: У каждого файла должно быть уникальное название, а не то, с каким его загрузил пользователь Методы организации и экономии дискового пространства при хранении музыки и видео
  • 20. Лучше не удалять сразу файлы по команде пользователя, а просто пометить их в базе «на удаление» Методы организации и экономии дискового пространства при хранении музыки и видео
  • 21. На вашем сервере должно быть очень много оперативки для кэша, иначе жёсткие диски просто не выдержат нагрузки Методы организации и экономии дискового пространства при хранении музыки и видео
  • 22. Устанавливайте систему, программы, логи и кэши на один жёсткий диск, а сами медиа-файлы храните на другом Методы организации и экономии дискового пространства при хранении музыки и видео
  • 23. Выбирайте диски с максимально возможным размером кэша Методы организации и экономии дискового пространства при хранении музыки и видео
  • 24. Медиа-сервер HTTP сервер доступ к файлам по сети сетевая файловая система Если в сервер уже просто некуда вставлять жёсткие диски. А надо! Используйте пространство на ваших HTTP серверах Методы организации и экономии дискового пространства при хранении музыки и видео
  • 25. Если вы пока не знаете с какими дата-центрами работать - устанавливайте оборудование сразу в три разных компании Методы организации и экономии дискового пространства при хранении музыки и видео
  • 26. Ретрансляция как метод экономии железа Методы организации и экономии дискового пространства при хранении музыки и видео
  • 27. Проблема высокой нагрузки на один сервер При трансляции и музыки и видео возникает проблемы внезапного взлёта популярности каких-то определённых файлов Методы организации и экономии дискового пространства при хранении музыки и видео Сервер №1 Сервер №3 Сервер №2
  • 28. Самостоятельная организация копий самых популярных файлов на разных серверах – это очень плохой вариант Сложно Долго Затратно Методы организации и экономии дискового пространства при хранении музыки и видео
  • 29. Простая реализация ретрансляции Изначальное подсоединение пользователей не только к тому серверу, на котором лежит необходимый файл, а на все подряд Методы организации и экономии дискового пространства при хранении музыки и видео Сервер №1 Сервер №3 Сервер №2
  • 30. Проблемы ретрансляции при большом количестве серверов Необходимо заранее оценить внутренний траффик между ними. Постепенно, при большом количестве данных и клиентов он может заполнить половину, а то и весь ваш интернет канал Методы организации и экономии дискового пространства при хранении музыки и видео
  • 31. Продвинутый алгоритм ретрансляции • В первую очередь, до некоторой степени, нагружаем сам сервер на котором находится файл • Потом выбираем ещё один и только один самый свободный сервер • Выбираем следующий свободный сервер и т.д. Методы организации и экономии дискового пространства при хранении музыки и видео РетрансляцияСервер №2 Сервер №3 Сервер №1
  • 32. Дубликаты файлов, что это? Методы организации и экономии дискового пространства при хранении музыки и видео
  • 33. Хеширование Самый распространённый. Для тех, кто не знает, этот метод основан на нахождении некоторого числа, так называемой хеш-суммы, соответствующей каждому файлу. Наиболее распространённый алгоритм определения такого числа – MD5 Методы организации и экономии дискового пространства при хранении музыки и видео md5 1622B49BF769CC54EF50C799C245ECEC
  • 34. Обрезаем мета У абсолютно идентичных файлов они могут быть совершенно разными Методы организации и экономии дискового пространства при хранении музыки и видео ≠ =
  • 35. MD5 до перекодировки Методы организации и экономии дискового пространства при хранении музыки и видео md5 DC3978E2C79E485718A34184B5AF63AB 256 kbit 128 kbit md5 0E2F7B1423896CFBA5F08F77B8E94424 256 kbit
  • 36. Загрузка файлов в память Методы организации и экономии дискового пространства при хранении музыки и видео
  • 37. Коллизии Методы организации и экономии дискового пространства при хранении музыки и видео md5 DC3978E2C79E485718A34184B5AF63AB md5 DC3978E2C79E485718A34184B5AF63AB !
  • 38. Хеширование и идентичные на слух файлы Два абсолютно идентичных на слух трека, могут быть в абсолютно разных, с точки зрения байт, файлах Методы организации и экономии дискового пространства при хранении музыки и видео md5 DC3978E2C79E485718A34184B5AF63AB md5 E46C785AFF2CE8AA3CC7E83960EF6204
  • 39. Тени. Пример графика Методы организации и экономии дискового пространства при хранении музыки и видео
  • 40. Тени. Наша технология Методы организации и экономии дискового пространства при хранении музыки и видео
  • 41. Перекодировку и вычисление всех значений лучше выполнять на каждом сервере при загрузке композиций подготовка вычисления перекодировка хранение подготовка вычисления перекодировка хранение Сервер №1 Сервер №3 подготовка вычисления перекодировка хранение Сервер №2 к №1 от №3 Методы организации и экономии дискового пространства при хранении музыки и видео
  • 42. Данные лучше хранить в отдельной базе, поскольку алгоритмы сравнения параметров могут выходить далеко за пределы «больше/меньше» и сильно загружать её при выборке Основная БД Сервер БД подготовка вычисления перекодировка хранение Медиа-сервер Вспомогательный сервер БД «теней» Методы организации и экономии дискового пространства при хранении музыки и видео
  • 43. Если вы хотите написать всё на PHP или другом скрипте – это очень плохая идея Методы организации и экономии дискового пространства при хранении музыки и видео
  • 44. Тщательно тестируйте свои алгоритмы. Ведь нахождение «теней» при больших объёмах данных может занять недели! Методы организации и экономии дискового пространства при хранении музыки и видео
  • 45. Внимательно следите за тем, насколько одинаковыми в вашем представлении должны быть файлы = ? Методы организации и экономии дискового пространства при хранении музыки и видео
  • 46. Лучшим подходом, мы считаем, когда определяются не все дубликаты, но уж точно остаются разные файлы ≠ = ≠ Методы организации и экономии дискового пространства при хранении музыки и видео
  • 47. При работе с похожими файлами, лучше следить за тем, что когда к вам попадает файл лучшего качества – он дополняет уже имеющийся Методы организации и экономии дискового пространства при хранении музыки и видео 96 128 256 320 256
  • 48. Косвенное преимущество при применении методов определения дубликатов – повышение релевантности Одним из приятнейших следствий применения алгоритмов поиска дубликатов, помимо экономии дискового пространства, является их влияние на выдачу поискового движка Методы организации и экономии дискового пространства при хранении музыки и видео
  • 49. Запрет на закачивание определённых (или похожих) файлов Важным моментом, касающимся работы с медиа, является авторское право Методы организации и экономии дискового пространства при хранении музыки и видео
  • 50. Особенности организации таблиц БД - дубликаты Методы организации и экономии дискового пространства при хранении музыки и видео
  • 51. Особенности организации таблиц БД - статистика Сразу же следует задуматься о статистике. Если она предполагается. Обычно, она очень часто изменяется и лучше сразу вынести её в отдельную таблицу Методы организации и экономии дискового пространства при хранении музыки и видео
  • 52. WWW.VOLNOREZ.COM СПАСИБО ЗА ВНИМАНИЕ! Пожалуйста, задавайте вопросы info@volnorez.com http://volnorez.com Пример работы «теней» http://volnorez.com/shadows Скачать доклад http://volnorez.com/presentations Матвеев Артур