Какой подход для хранения статических данных лучше? - PullRequest
0 голосов
/ 05 июля 2010

Я занимаюсь разработкой веб-приложения о книгах. Мы все знаем, что книги имеют разные категории. Таким образом, эта категория является базовой для последовательности чисел, например, 200 = связанный с компьютером, 800 = история. Каждая книга относится только к одной категории.

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

Ответы [ 6 ]

4 голосов
/ 05 июля 2010

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

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

Но мой совет - использовать базу данных. Категории не слишком много данных для хранения. Это гораздо более гибкий и мощный.

2 голосов
/ 05 июля 2010

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

1 голос
/ 05 июля 2010

Сохраните его в базе данных.Это было бы пустой тратой обычного дискового пространства, если вы этого не сделаете.Если вы говорите о том, что «некоторые категории будут добавляться время от времени», то реального объема данных не будет.Имейте в виду, что базы данных крупных компаний / сайтов / приложений / ... хранят миллиарды строк данных, поэтому, если вы сохраните свои категории, не будет никаких проблем.Таким образом, приложению будет легче «просто» работать с SQL для извлечения данных, как если бы также был XML или что-то подобное.

1 голос
/ 05 июля 2010

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

1 голос
/ 05 июля 2010

Я не вижу веской причины не использовать базу данных для этого, особенно если вы уже используете для некоторых других данных. Маленькие столы, как это распространены. Хранение файлов, например, XML или текстовый файл, может быть хорошим выбором, если вы хотите полностью избежать доступа к базе данных.

0 голосов
/ 05 июля 2010

Вы должны хранить категории в реляционной таблице, чтобы убедиться, что ваши ограничения действительны (в данном случае, одна категория на книгу, правильно)?

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

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