Базы данных против простого текста - PullRequest
31 голосов
/ 05 февраля 2009

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

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

Ответы [ 14 ]

1 голос
/ 05 февраля 2009

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

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

1 голос
/ 05 февраля 2009

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

0 голосов
/ 05 февраля 2009

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

0 голосов
/ 05 февраля 2009

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

YAGNI, по крайней мере, означает «Не добавляйте новую технологию в свой личный стек, если вы не можете продуктивно работать с тем, что уже есть».

Для многих (большинства?) Из нас нашей зоной комфорта для сохранения данных является SQL. Для некоторых это может быть XML. Только не пишите свое, пока (см. Параграф 2).

...