Стоит ли реализовывать файлы (все типы: аудио, видео, текст и т. Д.) В виде таблиц базы данных и их содержимое в виде строк? - PullRequest
0 голосов
/ 19 августа 2010

Учтите, что я изменяю способ хранения файлов в системе, где каждое имя файла фактически будет именем таблицы в базе данных, а каждая строка в файле фактически будет строкой этой таблицы. Это увеличит общую скорость системы? это будет стоить? Каковы компромиссы?

Чтобы дополнительно уточнить различие между этим и обычным использованием базы данных, рассмотрим файлы не просто как текстовые файлы, но также аудио, видео, двоичные файлы и т. Д., Где они хранятся так, как указано в предыдущем абзаце .

Непосредственные преимущества, которые я вижу из этого, состоят в том, что я могу читать / записывать любую строку из / в файл без необходимости многократно читать / записывать предыдущие строки, пока не достигнет желаемой строки. Еще одним преимуществом будет одновременное чтение / запись файлов.

Пожалуйста, не путайте это с файловой системой базы данных, это реализация файла

Ответы [ 2 ]

2 голосов
/ 19 августа 2010

Для того, чтобы вы читали письма по месту нахождения, вам необходимо получить дополнительное преимущество:

Плюсы

Индексация

Индексация текста с помощью полнотекстовой индексации, которая может дать преимущества при поиске. Конечно, размер базы данных, вероятно, будет больше, чем обычные размеры файлов. Но вы получаете выгоду с точки зрения производительности, потому что в системе баз данных будет открыт только один дескриптор файла, и она будет выполнять кэширование, улучшит производительность и уменьшит фрагментацию.

Блокировка / Performance

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

Тиражирование

Преимущества репликации: если вы поместите их в mysql, репликация mysql проста в настройке и вы можете легко хранить несколько резервных копий.

Maintanence

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

Против

Доступ к браузеру файлов

Вы не можете получить доступ к файлам через проводник или обычный API файловой системы, вам понадобится какой-то API доступа, вероятно, основанный на REST API, или какой-нибудь просмотрщик, который может прочитать базу данных.

Вы можете проверить мой блог о более детальном анализе.

0 голосов
/ 19 августа 2010

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

  • Нет простого способа поддержки Сделки
  • Нет простого способа поддержки типизации полей (подумайте о файле с объектами BLOB в нем)
  • Ограничение отношений
  • Нет тривиальной поддержки кеша, доступ к ОЗУ быстрее, чем доступ к диску
  • Нет простого способа поддержать что-то вроде "ALTER TABLE"

Я полагаю, что если вы напишите что-нибудь, что поддерживает все подобные проблемы, вы напишете движок SQL ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...