База данных или файловая система? - PullRequest
0 голосов
/ 12 октября 2011

Я знаю, что есть несколько похожих вопросов, но я не могу найти тот, который отвечает моей конкретной проблеме:

Мне нужно сохранить некоторые данные на сервере для игры, которую я разрабатываю.
Каждый пользователь сохранит один двоичный файл и через некоторое время попросит его.
Файл может быть размером от нескольких байтов до 50 КБ.

Многие вопросы (в основном об изображениях) говорят об использовании файловой системы, потому что этот файл может затем служить статическим содержимым.В этом случае это невозможно, так как мне нужно будет как-то проверить, что я отправляю этот файл нужному пользователю, а также мне нужна логика, чтобы вернуть файл, только если он уже не тот, который уже есть у пользователя.

Должен ли я сохранить этот файл в базе данных или в файловой системе?

Примечание: Сервер будет размещен на Linux, а БД, вероятно, на MySQL.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 12 октября 2011

Боюсь, вы даете далеко не достаточно информации, чтобы правильно ответить на ваш вопрос.Если я читаю ваш вопрос «наивно», все, что вы пытаетесь сделать, это написать систему сохранения игры.

В таком случае файловая система - это действительно все, что вам нужно.БД хороши для хранения структурированных данных, которые вы собираетесь искать, суммировать, объединять и индексировать, а не для хранения произвольной группы маленьких капель.

Теперь, если есть, например, другое требование, выНаписание веб-игры, в которой данные для всех игроков хранятся в одном месте, ответ МОЖЕТ быть другим (опять же, вам нужно предоставить гораздо больше информации о том, что вы делаете, хотя)

1 голос
/ 12 октября 2011

Я предлагаю прочитать этот технический документ (в BLOB или не в BLOB: хранилище больших объектов в базе данных или файловой системе) в исследовании Microsoft (оно касается SQL Server 2005).

Выводы таковы: если файлы меньше 250 КБ, используйте БД для их хранения

По сути, файловые системы лучше обрабатывают фрагментацию, чем базы данных, и это снижает точку безубыточности примерно с 1 МБ.примерно до 256 КБ.

Конечно, вы должны проверить свои собственные БД и ОС.

0 голосов
/ 12 октября 2011

Я думаю, вы могли бы использовать своего рода базу данных.Файловая система работает медленно, потому что она идет на жесткий диск, переместите голову, чтобы найти файл.С БД доступ быстрее.Если ваш сервер размещен в Windows, вы можете использовать Microsoft db, access, это мало и быстро.

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