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

Post on 25-Jan-2015

368 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

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

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

info@volnorez.comhttp://volnorez.com

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

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

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

top related