Что было бы лучше? Хранение / доступ к данным в локальном текстовом файле или в базе данных? - PullRequest
4 голосов
/ 15 мая 2010

По сути, я все еще работаю над веб-сайтом, связанным с головоломками (действительно, микро-сайт), и я делаю инструмент, который позволяет вам вводить шаблон слов (например, «r ?? n») и получать всесоответствующие слова (в данном случае: дождь, поводья, разрушения и т. д.).Должен ли я хранить слова в локальных текстовых файлах (таких как words5.txt, который будет иметь список 5-буквенных слов с разделителями в виде возврата) или в базе данных (например, в таблице Words5, которая снова будет хранить 5-буквенные слова)?

Я смотрю на проблему с точки зрения скорости извлечения данных и загрузки сервера ЦП.Я определенно мог бы попробовать это обоими способами и записать время, затраченное на несколько запусков с обоими методами, но я бы предпочел услышать это от людей, которые могли бы иметь опыт работы с этим.1005 *

Ответы [ 3 ]

6 голосов
/ 15 мая 2010

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

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

1 голос
/ 15 мая 2010

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

Если вы используете Java или .NET для своего приложения, рассмотрите db4o . Он просто хранит любой объект с одной строкой кода и не требует затрат на настройку для создания таблиц.

0 голосов
/ 15 мая 2010

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

...