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

фон:

Я на этапе разработки приложения.
Я хочу, чтобы приложение отображало текст и изображения, проблема в том, что у меня их будет МНОГО. от сотен до тысяч.
Это мое самое большое приложение на данный момент, и я не уверен, как обращаться со всеми данными.

Вопрос ???????:

Как лучше всего хранить и получать доступ к этим изображениям и тексту?
Буду ли я использовать формальный подход к базе данных, как SQL?
Или было бы лучше перемещаться по файлам / папкам, например сбросить все файлы в res / drawable?

потенциально полезные факты:

База данных будет храниться и получать к ней доступ, поэтому к ней можно получить доступ в автономном режиме.
Пользователь в любом случае не будет добавлять данные в базу данных, только получая доступ к данным.
база данных будет обновляться каждые 6 месяцев.
Приложение «страница» будет отображать 1-5 изображений вместе с несколькими блоками текста.

Концепция:

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

Я прошу прощения, если это повторяется, но я не видел конкретного ответа для своих целей.

Ответы [ 3 ]

1 голос
/ 16 мая 2011

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

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

Я видел несколько приложений, в которых изображения (или вложения) хранились "вне" базы данных, и в каждом случае это былосделано плохо.Есть так много проблем, которые нужно решить, и большинство разработчиков даже не думают о половине из них.Во многих случаях производительность хранения изображений «в» базе данных была приемлемой, но разработчики решили отказаться от нее, потому что они просто знали, что она не будет работать хорошо.

0 голосов
/ 16 мая 2011

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

По крайней мере, потому что получить зависимость от файловой системы обычно легче, чем получить зависимость от БД.

Также эта строка указывает на своего рода не-веб-клиента

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

Это означает, что при использовании подхода БД у вас будет пара другихинтересные проблемы

Развертывание

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

Ресурсы

Будет ли ваша БД базироваться на клиент / сервер (как MySQL / SQL Server и т. д.)? Если это так, то ваше приложение должно сейчасуправлять текущим состоянием его процесса. Если нет, то вы будете использовать базу данных SQL Lite / MS Access на основе файлов, после чего я задам вопрос, зачем вообще использовать статическую БД.

Последнее замечание.Ничто не мешает вашей среде Content Production использовать БД.Производители контента довольно часто поддерживают базу данных для своего контента, которую вы позже будете использовать для создания файлов для публикации / развертывания.

0 голосов
/ 16 мая 2011

Если вы используете SQL Server 2008, тип данных Filestream идеально подходит для вашего случая.Он хранит двоичные файлы вне базы данных, но ведет себя как обычное поле.Также вы можете читать / записывать файлы, используя поток вместо того, чтобы получать / устанавливать весь файл в виде байтового массива (как при использовании varbin(max))

Если у вас нет этой функции в вашей базе данныхЯ бы рекомендовал хранить изображения вне БД

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