Какой из них более эффективен?Файловое хранилище или SQLite - PullRequest
0 голосов
/ 15 декабря 2011

Я разрабатываю расширение для Firefox, которое должно служить механизмом профилирования пользователей и персонализации веб-сайтов. Он должен хранить связанные с TF-IDF данные веб-страниц. Мой вопрос в том, что даст быстрее простые результаты поиска?

а. Используя пользовательскую структуру данных и сохраняя всю структуру данных в файле, загружая его в память и запрашивая его?

OR

б. Хранить и запрашивать данные из базы данных SQLite?

Можно предположить наихудший сценарий из 250 000 строк в одной из таблиц.

Ответы [ 2 ]

4 голосов
/ 15 декабря 2011

Ваш вопрос в основном сводится к:

a.Должен ли я написать свою собственную реализацию системы хранения данных?

или

b.Должен ли я использовать готовую, проверенную систему хранения данных?

Я бы сказал, что если вы выберете первый подход, то:

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

Еще один способ взглянуть на это: почему бы вам НЕ использовать SQLite?Есть ли какая-то проблема с этим для вашего сценария?Я не могу думать ни о чем.

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

0 голосов
/ 26 февраля 2012

Почему нельзя использовать какую-либо структуру данных, например словарь или двоичное дерево. Основывать структуру данных на количестве поисков, поисков, вставок и удалений.

...