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

WWW.VOLNOREZ.COM

Матвеев Артур

ХРАНЕНИЕ АУДИО И ВИДЕОМетоды организации и экономии дискового пространства при хранении музыки и видео

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

Особенности медиа-файлов

•Большой размер

•Необходимость хранить в разных битрейтах

•Необходимость хранения в разных форматах

•Большой траффик и высокие требования к сети

•Предполагается работа с многими серверами

•Обеспечение сохранности пользовательских данных

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Проблемы при загрузке

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Решение проблем

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Методы организации и экономии дискового пространства при хранении музыки и видео

Прежде чем непосредственно хранить данные, их необходимо соответствующим образом подготовить

Подготовка файлов к хранению

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

Метаданные

Прежде всего, не плохо было бы извлечь из файла метаданные ID3

PHP библиотека GetID3GNU General Public License version 2.0 (GPLv2)

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Тонкости подготовки к хранению музыки

Нормализация аудио по громкости

Тримминг композиций

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Перекодировка в различные форматы и битрейты

•Важно определиться с битрейтами и форматами сохраняемых данных

•Не следует искусственно повышать битрейт

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Где и как хранить. Сохранность и доступность

Несколько ОЧЕНЬ ВАЖНЫХ замечаний и хитростей по поводу того, где и как хранить сами файлы

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Зеркальный RAID

• Простота реализации• Малая цена по сравнению с другими подходами

• Данные всё равно можно утратить вместе с сервером• Никак не решает вопрос с доступностью данных

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Бэкап-сервер

• Малая цена

• Бесполезное усложнение логики• При выходе серверов из строя, для восстановления нормальной работы

могут понадобится дни• Один «бэкап» сервер не сможет полноценно заменить 10 утраченых по

причине аварии нарушающей Интернет-соединение в дата-центре

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Облака

ОЧЕНЬ ДОРОГО

Аналог одного обычного сервера может обходится по 40000 рэ в месяц!

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Кроссбэкап

• Очень хорошая сохранность данных• Очень хорошая доступность данных• Отдача контента в зависимости от маршрута/географического

положения пользователя

• Высокая цена реализации и последующего содержания

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Гибридный кроссбэкап

• Минимальные затраты по цене. Ни одного лишнего диска или сервера• Нагрузка сбалансирована• Отсутствует надобность в бэкапе, поскольку у вас всегда есть копия, пускай

и чуть более худшего качества.• Файлы практически всегда доступны, поскольку даже если не будет

интернета в одном дата-центре, он будет в другом.• Решается очень важный вопрос с выравниванием нагрузки на новый

сервер. Просто на него в первую очередь загружаются файлы в максимальном качестве

• Возможность утраты наиболее качественного образца файла (решаемо)

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Советы по хранению

Методы организации и экономии дискового пространства при хранении музыки и видео

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

НЕ ПРАВИЛЬНО

Старайтесь не допускать того, чтобы новые файлы загружались только на один из серверов

Методы организации и экономии дискового пространства при хранении музыки и видео

ПРАВИЛЬНО

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

FFMPEG - вещь довольно сложная и, соответственно, склонна ко всякого рода ошибкам

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Лучше не хранить все файлы в одной отдельной папке

Методы организации и экономии дискового пространства при хранении музыки и видео

Page 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

Было у пользователя:

Стало на сервере:

У каждого файла должно быть уникальное название, а не то, с каким его загрузил пользователь

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Лучше не удалять сразу файлы по команде пользователя, а просто пометить их в базе «на удаление»

Методы организации и экономии дискового пространства при хранении музыки и видео

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

На вашем сервере должно быть очень много оперативки для кэша, иначе жёсткие диски просто не выдержат нагрузки

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Устанавливайте систему, программы, логи и кэши на один жёсткий диск, а сами медиа-файлы храните на другом

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Выбирайте диски с максимально возможным размером кэша

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Медиа-сервер HTTP сервер

доступ к файлам по сетисетевая файловая система

Если в сервер уже просто некуда вставлять жёсткие диски. А надо! Используйте пространство на ваших HTTP серверах

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Если вы пока не знаете с какими дата-центрами работать - устанавливайте оборудование сразу в три разных компании

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Ретрансляция как метод экономии железа

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Проблема высокой нагрузки на один сервер

При трансляции и музыки и видео возникает проблемы внезапного взлёта популярности каких-то определённых файлов

Методы организации и экономии дискового пространства при хранении музыки и видео

Сервер №1

Сервер №3

Сервер №2

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

Самостоятельная организация копий самых популярных файлов на разных серверах – это

очень плохой вариант

СложноДолгоЗатратно

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Простая реализация ретрансляции

Изначальное подсоединение пользователей не только к тому серверу, на котором лежит необходимый файл, а на все подряд

Методы организации и экономии дискового пространства при хранении музыки и видео

Сервер №1

Сервер №3

Сервер №2

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

Проблемы ретрансляции при большом количестве серверов

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

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Продвинутый алгоритм ретрансляции

• В первую очередь, до некоторой степени, нагружаем сам сервер на котором находится файл

• Потом выбираем ещё один и только один самый свободный сервер • Выбираем следующий свободный сервер и т.д.

Методы организации и экономии дискового пространства при хранении музыки и видео

РетрансляцияСервер №2 Сервер №3

Сервер №1

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

Дубликаты файлов, что это?

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Хеширование

Самый распространённый. Для тех, кто не знает, этот метод основан на нахождении некоторого числа, так называемой хеш-суммы, соответствующей каждому файлу. Наиболее распространённый алгоритм определения такого числа – MD5

Методы организации и экономии дискового пространства при хранении музыки и видео

md5 1622B49BF769CC54EF50C799C245ECEC

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

Обрезаем мета

У абсолютно идентичных файлов они могут быть совершенно разными

Методы организации и экономии дискового пространства при хранении музыки и видео

≠=

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

MD5 до перекодировки

Методы организации и экономии дискового пространства при хранении музыки и видео

md5 DC3978E2C79E485718A34184B5AF63AB

256 kbit 128 kbit

md5 0E2F7B1423896CFBA5F08F77B8E94424

256 kbit

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

Загрузка файлов в память

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Коллизии

Методы организации и экономии дискового пространства при хранении музыки и видео

md5 DC3978E2C79E485718A34184B5AF63AB

md5 DC3978E2C79E485718A34184B5AF63AB

!

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

Хеширование и идентичные на слух файлы

Два абсолютно идентичных на слух трека, могут быть в абсолютно разных, с точки зрения байт, файлах

Методы организации и экономии дискового пространства при хранении музыки и видео

md5 DC3978E2C79E485718A34184B5AF63AB

md5 E46C785AFF2CE8AA3CC7E83960EF6204

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

Тени. Пример графика

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Тени. Наша технология

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Перекодировку и вычисление всех значений лучше выполнять на каждом сервере при загрузке композиций

подготовкавычисления

перекодировка

хранение

подготовкавычисления

перекодировка

хранение

Сервер №1 Сервер №3

подготовкавычисления

перекодировка

хранение

Сервер №2

к №1

от №3

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Данные лучше хранить в отдельной базе, поскольку алгоритмы сравнения параметров могут выходить далеко за

пределы «больше/меньше» и сильно загружать её при выборке

Основная БД

Сервер БД

подготовкавычисления

перекодировка

хранение

Медиа-сервер

Вспомогательный сервер

БД «теней»

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Если вы хотите написать всё на PHP или другом скрипте – это очень плохая идея

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Тщательно тестируйте свои алгоритмы. Ведь нахождение «теней» при больших объёмах данных может занять недели!

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Внимательно следите за тем, насколько одинаковыми в вашем представлении должны быть файлы

= ?Методы организации и экономии дискового пространства при хранении музыки и видео

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

Лучшим подходом, мы считаем, когда определяются не все дубликаты, но уж точно остаются разные файлы

≠=

≠Методы организации и экономии дискового пространства при хранении музыки и видео

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

При работе с похожими файлами, лучше следить за тем, что когда к вам попадает файл лучшего качества – он

дополняет уже имеющийся

Методы организации и экономии дискового пространства при хранении музыки и видео

96

128

256

320

256

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

Косвенное преимущество при применении методов определения дубликатов – повышение релевантности

Одним из приятнейших следствий применения алгоритмов поиска дубликатов, помимо экономии дискового пространства, является их влияние на выдачу поискового движка

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Запрет на закачивание определённых (или похожих) файлов

Важным моментом, касающимся работы с медиа, является авторское право

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Особенности организации таблиц БД - дубликаты

Методы организации и экономии дискового пространства при хранении музыки и видео

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

Особенности организации таблиц БД - статистика

Сразу же следует задуматься о статистике. Если она предполагается. Обычно, она очень часто изменяется и лучше сразу вынести её в отдельную таблицу

Методы организации и экономии дискового пространства при хранении музыки и видео

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

WWW.VOLNOREZ.COM

СПАСИБО ЗА ВНИМАНИЕ!Пожалуйста, задавайте вопросы

[email protected]://volnorez.com

Пример работы «теней»http://volnorez.com/shadows

Скачать докладhttp://volnorez.com/presentations

Матвеев Артур


Recommended