реляционная_данная база данных против файла_конфигурации против использования электронной таблицы - PullRequest
1 голос
/ 24 февраля 2009

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

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

Итак, что вы думаете о роли баз данных, файлов конфигурации и электронных таблиц?

Ответы [ 3 ]

2 голосов
/ 24 февраля 2009

Старая поговорка такая.

Когда вы используете электронную таблицу для решения проблемы, теперь у вас есть две проблемы.

База данных для записей о бизнесе. Долгоиграющий. Постоянная.

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

Электронные таблицы - ну, они такие, какие они есть. Слишком сложный, чтобы быть простым файлом конфигурации. Слишком просто, чтобы быть реальной базой данных.

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

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

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

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

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

Для меня я хочу, чтобы все основные данные были сохранены в базе данных. Две причины:

  • для предоставления доступа adhoc к данным
  • , чтобы приложения могли обмениваться данными.

Базы данных должны содержать все данные домена, а иногда и некоторые данные на лету (например, пользовательские настройки). Реляционные базы данных являются наиболее популярными, но для некоторых приложений есть другие варианты.

Файл конфигурации, с другой стороны, должен содержать все «параметры», которые вы хотите изменить в системе; те, которые не меняются быстро (на лету). Элементы конфигурации являются гибкими, но не легко, и, как правило, не из интерфейса. Если это параметр, который вы хотите, чтобы только кодер мог изменить, это должно быть прямо в коде (чтобы никто другой не имел доступа).

Если вы хотите возиться с интеллектуальным анализом данных, предоставьте некоторый общий механизм для загрузки файла CSV с результатами запроса SQL непосредственно в Excel. Таким образом, пользователи могут работать с сводными таблицами, не изменяя схему приложения.

...