В чем преимущество использования XML по отношению к SQL? - PullRequest
1 голос
/ 14 февраля 2012

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

Вопрос: Когда вы будете использовать XML вместо ColdFusion или PHP (или других альтернатив)?Каковы некоторые присущие преимущества, которые сделали бы его более желательным вариантом?

Например, вот как может выглядеть XML:

<data>
<dataObject name="Test">
    <primaryKey>Num</primaryKey>
    <foreignKey dataObject="Test" key="Num"/>
    <datums>
        <datum type="integer" key="itemRecnum" label="Item Recnum" data="required"/>
        <datum type="string" key="status" label="Status" data="required"/>
        <datum type="integer" key="idnumber" label="ID Number" data="required"/>
    </datums>
    <constraints/>
</dataObject>
</data>

Итак, на сервере SQLу каждого из них есть соответствие 1-1, с каждым типом данных, являющимся столбцом.

Может кто-нибудь объяснить, в чем преимущества использования XML для извлечения из базы данных?Что именно здесь происходит и почему оно используется поверх CF или PHP?И как это толкает и тянет из базы данных?

Что если бы вы смешали их?Возможно, кто-то использовал бы Coldfusion для вставок, а XML - только для представлений?

Ответы [ 4 ]

0 голосов
/ 28 ноября 2012

XML - это механизм хранения данных.ColdFusion и PHP являются языками обработки данных.XML не извлекает данные из базы данных.Есть много причин, почему люди хранят данные в XML.Некоторые из причин обсуждаются здесь: Почему я бы предпочел хранить XML-данные и управлять ими в реляционной базе данных?

PHP и XML работают с XML, как и ColdFusion.Если вы хотите превратить XML в нечто для конечного пользователя, вы можете рассмотреть XSLT .

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

XML выигрывает, если у вас есть данные о бизнес-объекте (скажем, отеле), разбросанные по 20 таблицам, и вы хотите отправить эти данные кому-то, кто организует данные совершенно по-разному, в 16 таблиц с другой структурой.XML позволяет вам собирать всю информацию об объекте в одном сообщении, которое не зависит от дизайна вашей базы данных и, возможно, соответствует какому-либо отраслевому стандарту, например OTA, и загружать его в другую базу данных с совершенно другим дизайном.

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

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

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

Если вы действительно ищетеплоская файловая система для веб-сайта. Я бы посмотрел на базы данных NoSQL, такие как MongoDB или CouchDB, есть несколько драйверов Coldfusion и CFC, которые были написаны для работы с этими системами.

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

Цель XML - хранить данные в плоском файле, удобочитаемым (XML имеет огромные накладные расходы в текстовом именовании сущностей. Кроме того, он не предназначен для восприятия человеком, это транспортный носитель), легко доступная форма. Методы доступа к XML хранилище данных достаточно надежно и постоянно развивается, чтобы включить Предложение от Microsoft для "XQL" - SQL-эквивалент, предназначенный для манипулировать хранилищами данных XML. XML настолько прост, что сам по себе может использоваться в качестве базы данных - действительно, очень гибкий: ваша реализация XML может быть бесконечно изменена с помощью тегов и другого массива библиотек. Плюс, если ваша база данных повреждена, вы можете открыть ее практически в любом текстовом редакторе - в конце концов, это текстовый файл. Однако XML имеет существенный недостаток: он медленнее SQL при обработке данных и требует больше ресурсов для запуска.

О ColdFusion и XML вы можете прочитать ЗДЕСЬ

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