<分区>
几年来,我一直致力于数据库驱动的 Web 应用程序,最近接手了一个涉及支持 XML 的 CMS 的项目。这让我开始思考 XML/XSLT 的一般用法,以及在什么情况下它会比我一直使用的方法更有用,这种方法将我的所有数据存储在 (My)SQL 数据库中,然后使用PHP/Python/等。根据需要在网络上使用它。
这里显然有些东西我没有“得到”。任何人都可以给我一些应用程序示例,在这些应用程序中,将数据存储在 XML 文件而不是数据库中会更好吗?
<分区>
几年来,我一直致力于数据库驱动的 Web 应用程序,最近接手了一个涉及支持 XML 的 CMS 的项目。这让我开始思考 XML/XSLT 的一般用法,以及在什么情况下它会比我一直使用的方法更有用,这种方法将我的所有数据存储在 (My)SQL 数据库中,然后使用PHP/Python/等。根据需要在网络上使用它。
这里显然有些东西我没有“得到”。任何人都可以给我一些应用程序示例,在这些应用程序中,将数据存储在 XML 文件而不是数据库中会更好吗?
最佳答案
引用This Book (有效的 XML:改进 XML 的 50 种具体方法):
“XML is not a database. It was never meant to be a database. It is never going to be a database. Relational databases are proven technology with more than 20 years of implementation experience. They are solid, stable, useful products. They are not going away. XML is a very useful technology for moving data between different databases or between databases and other programs. However, it is not itself a database. Don't use it like one.“
我认为这总结起来有点直白。 XML 是一种数据交换格式。可以拥有可以使用 XPath 表达式查询 DOM 的 XML 解析库,但这与 DBMS 不同。您可以使用 DOM/XPath 接口(interface)构建 DBMS,但要获得 ACID 属性或扩展到大型数据集,您需要实现 DBMS 引擎和具有索引、日志记录和 DBMS 其他工件的数据格式——这(根据定义)使得它不是 XML。
关于sql - 什么时候使用 XML 而不是 SQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/201568/