Таблица базы данных или XML - PullRequest
       33

Таблица базы данных или XML

6 голосов
/ 21 октября 2008

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

Спасибо!

Ответы [ 9 ]

12 голосов
/ 21 октября 2008

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

Поиск или обновление файлов XML может снизить производительность и масштабируемость в будущем.

7 голосов
/ 21 октября 2008

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

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

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

3 голосов
/ 21 октября 2008

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

Коммерческие базы данных XML включают

Я еще ни одним из этих продуктов не пользовался.

В любом случае вы можете использовать XML в качестве формата обмена данными.

3 голосов
/ 21 октября 2008

IMO: используйте БД, когда у вас будет много транзакций записи в ваши данные. Если вы в основном пишете документ типа конфигурации, который в основном предназначен только для чтения, перейдите на XML. XML как хранилище данных не является вашим лучшим решением, поскольку вы получите гораздо лучшие результаты при использовании БД. Особенно, когда вы начинаете иметь много записей (строк), с БД становится легче работать.

2 голосов
/ 21 октября 2008

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

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

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

Я бы зарезервировал XML для ситуаций, когда формальный анализ данных неуместен или формальный дизайн базы данных находится вне досягаемости команды разработчиков.

0 голосов
/ 22 октября 2009

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

Однако [едва] когда-либо есть причина НЕ использовать базу данных для управления веб-сайтом.

Вы могли бы также рассмотреть гибридный подход, подобный тому, который используется проектом Connexions университета Райса: они используют Plone (и другие вещи поверх него) для представления данных из своей базы данных, которая была создана в Диалект CNXML.

0 голосов
/ 21 октября 2008

Я проектирую свои таблицы и генерирую XML-документ с выбранными свойствами (FOR XML).

Я думаю, что если я столкнусь с проблемой производительности, я могу изменить свой репозиторий с помощью БД.

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

0 голосов
/ 21 октября 2008

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

0 голосов
/ 21 октября 2008

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

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