WWW.VOLNOREZ.COM
Матвеев Артур
ХРАНЕНИЕ АУДИО И ВИДЕОМетоды организации и экономии дискового пространства при хранении музыки и видео
Особенности медиа-файлов
•Большой размер
•Необходимость хранить в разных битрейтах
•Необходимость хранения в разных форматах
•Большой траффик и высокие требования к сети
•Предполагается работа с многими серверами
•Обеспечение сохранности пользовательских данных
Методы организации и экономии дискового пространства при хранении музыки и видео
Проблемы при загрузке
Методы организации и экономии дискового пространства при хранении музыки и видео
Решение проблем
Методы организации и экономии дискового пространства при хранении музыки и видео
Методы организации и экономии дискового пространства при хранении музыки и видео
Прежде чем непосредственно хранить данные, их необходимо соответствующим образом подготовить
Подготовка файлов к хранению
Метаданные
Прежде всего, не плохо было бы извлечь из файла метаданные ID3
PHP библиотека GetID3GNU 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
СПАСИБО ЗА ВНИМАНИЕ!Пожалуйста, задавайте вопросы
[email protected]://volnorez.com
Пример работы «теней»http://volnorez.com/shadows
Скачать докладhttp://volnorez.com/presentations
Матвеев Артур