Какой тип данных будет использоваться для хранения видеофайлов в sql server2000?
Cmoon, люди, ответьте хотя бы на вопрос, а затем добавьте примечание на полях: это не оптимально для чего-то. Он не просил подсказок SQL Server 2008 или, если видео должно быть в БД, он задал очень простой вопрос!
И мы задали очень прямой вопрос в ответ. Не все, что можно сделать, следует делать, поэтому перед тем, как давать совет, правильно спросить о причинах.
Затем спросите причину в комментариях, не публикуйте ее как ответ, а это не так. Опубликуйте ответ и скажите, что это не совсем жизнеспособно. У него может даже не быть выбора, как все устроено, он просто реализует это, мы этого не знаем. Меня до чертиков раздражает, когда люди думают, что все знают лучше ..
Мне кажется странным, что вы стоите на страже помимо этого вопроса, отрицая голосование людей, обвиняющих их в том, что они «все знают лучше», но при этом сами не даете ответа. Вы должны знать ответ, так что опубликуйте его.
Я опубликовал свой ответ, это первый. Если это не так, проголосуйте против и оставьте комментарий, почему это неправильно. Ответ Марка Грейвелла такой же, как и мой, так что, черт возьми, ты там скулишь?
Давать неотраженный ответ на неотраженный вопрос ... я не знаю. Да, ваш ответ технически безупречный. Тогда ты, должно быть, прав, мне очень жаль. К тому же ваша агрессивность смехотворна (даже с учетом того, что мне как-то удалось пропустить ваш ответ из трех).
@Tuminoid - re SQL 2008 подсказывает: иногда знание того, что доступно в другой версии, важно как стимул для обновления.
Извините, я прошу прощения за резкие слова, это было необоснованно. Меня просто бесит, когда люди не дают прямого ответа на простой вопрос, а начинают сомневаться в мотивах, о которых они понятия не имеют. Мы все согласны с тем, что вопрос довольно глупый, давайте продолжим. Там есть ответ и совет.
Хорошо, извинения приняты. Моя точка зрения заключается в следующем: Просить советы по спорной теме, не давая ни малейшего представления о рассуждении следует, что вопрос не очень хорошо продумана. Лучше бросить вызов фону, чем прямо сказать «используйте X», создав впечатление, что «X» всегда будет правильным делом.
Этот вопрос немного похож на постоянно повторяющийся «Какое регулярное выражение я могу использовать для синтаксического анализа / дезинфекции этого фрагмента HTML?». Даже если ответом верный было «используйте <complicated-regex>», ответом верно было «Не используйте регулярное выражение, если вы не объясните, почему вы думаете, что можете». Простое «не надо» не является неправильным как таковой.


Используйте BLOB (большие двоичные объекты). Документация здесь. Более конкретно:
In SQL Server, BLOBs can be text, ntext, or image data type
image
Variable-length binary data from 0 through 231 - 1 (2,147,483,647) bytes.
Проголосовать за правильный ответ на вопрос НЕПРАВИЛЬНО, потому что способ, которым задает вопрос, НЕПРАВИЛЬНЫЙ, особенно без того, чтобы оставить комментарий. Может быть (глупое) требование, почему он это делает, и, возможно, файлы небольшие (например, мобильные видео). Голосовать за правильный ответ - это просто ГЛУПОСТЬ.
Я понимаю вашу точку зрения, но я думаю, что ответы должны быть направлены на предоставление наилучшего решения. Хранение BLOB в SQL Server 2000 - не лучшее решение для хранения файлов IMHO, даже если, как вы правильно заявили; на этот конкретный вопрос это правильный ответ.
Избавьте себя от головной боли и сохраните их в файловой системе. Сохраните путь в БД.
В настоящее время я не могу придумать В самом деле вескую причину для хранения видео в базе данных, когда доступна файловая система. Какие твои?
Я могу. Это кажется очень дешевым способом получить услуги репликации и целостности. Обучение программистов тому, как реализовать репликацию и целостность, поможет им увидеть стоимость использования SQL для всего ...
В большинстве случаев база данных - не идеальное место для видео. Вы можете принудительно использовать его (varbinary (max) или изображение в более старых версиях), но если вы делать это, вам нужно быть очень осторожным, чтобы использовать доступ к стеммингу, а не «получить весь» доступ (если вы понимаете, что я имею в виду) . И вы, вероятно, захотите, чтобы видео было в другой файловой группе (и, вероятно, на диске), чем обычные данные.
В SQL Server 2008 есть тип файловый поток, который представляет собой гибрид между db и файловой системой. Может, это сделает то, что вам нужно?
Если нет, просто используйте файловую систему.
Еще одна причина не использовать видео в БД; если у вас небольшая система, SQL Server Express может быть идеальным вариантом, но с ограничением размера db, которое видео быстро затмит.
SQL SErver EXpress имеет ограничение на размер файла данных 4 ГБ
В SQL Server 2000 поддержки больших двоичных объектов недостаточно, и вы должны окончательно хранить файлы прямо на диске. Предполагается, что в SQL Server 2008 поддержка хранения файлов в базе данных будет намного лучше. Я никогда не пробовал, так как мы уже создали наше приложение для хранения файлов на диске. Но я думаю, что все же рекомендовал бы хранить файлы на диске, поскольку это обеспечивает большую гибкость с точки зрения хранения; вы можете легко создавать резервные копии и перемещать файлы. Также это уменьшает размер базы данных, что, вероятно, сделает ее быстрее.
Поэтому сохраните путь в своей базе данных и фактические файлы в файловой системе.
Я согласен с Томалаком, даже изображения и другие более мелкие объекты гораздо лучше обслуживаются вне базы данных. Наши продукты используют только ссылочные пути к активам в БД, причем БД служит словарем для местоположения.
Конечно, недостатком является разрыв, который может возникнуть между файловой системой и записями БД, поэтому вам нужно уделять особое внимание тому, как вы это настраиваете, и поддерживать его на постоянной основе.
Вы действительно хотите хранить видео в базе данных?