什么时候应该使用 XML 而不是 SQL? [关闭]

2024-05-14

我已经从事数据库驱动的 Web 应用程序几年了,最近接手了一个涉及支持 XML 的 CMS 的项目。这让我思考 XML/XSLT 的一般用法,以及在什么情况下它比我一直使用的方法更有用,我一直使用的方法是将所有数据存储在 (My)SQL 数据库中,然后使用PHP/Python/等根据需要在网络上使用它。

显然,有些东西我在这里没有“理解”……任何人都可以给我一些应用程序的示例,其中将数据存储在 XML 文件中而不是数据库中会更好吗?


去引用这本书 http://www.amazon.com/exec/obidos/tg/detail/-/0321150406/102-0503816-7711357(有效的 XML:改进 XML 的 50 种具体方法):

“XML 不是数据库。从来没有 本来就是一个数据库。从来都不是 将成为一个数据库。关系型 数据库是经过验证的技术 实施20多年 经验。它们坚固、稳定、 有用的产品。他们不会去 离开。 XML是一项非常有用的技术 用于在不同的之间移动数据 数据库或数据库之间 其他程序。然而,它并不是 本身就是一个数据库。不要像这样使用它 一。”

我想这就是总结,虽然有点直白。 XML 是一种数据交换格式。人们可以拥有可以使用 XPath 表达式查询 DOM 的 XML 解析库,但这与 DBMS 不同。您可以使用 DOM/XPath 接口构建 DBMS,但要获得 ACID 属性或扩展到大型数据集,您需要实现 DBMS 引擎和带有索引、日志记录和 DBMS 的其他工件的数据格式 - 这(根据定义)使得它不是 XML。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么时候应该使用 XML 而不是 SQL? [关闭] 的相关文章

随机推荐

  • StreamReader 消耗的字节数

    有没有办法知道 StreamReader 使用了流的多少字节 我有一个项目 我们需要读取一个文件 该文件具有文本标题 后跟二进制数据的开头 我最初尝试读取该文件是这样的 private int dataOffset void ReadHea
  • grid.arrange 中的错误 -rangeGrob() 函数

    我有两个图 p1 和 p2 我试图使用 grid arrage 绘制它们 我的代码如下所示 grid arrange p1 p2 ncol 2 top textGrob Distribution across each day of the
  • 如何干净地处理全局变量?

    我有许多 aspx 页面 50 我需要在每个页面中声明一些 5 7 全局变量 一个页面中的变量独立于其他页面 即使有些变量可能相同 目前我在页面顶部和任何函数之外声明 我应该采取不同的方法吗 这种方法有副作用吗 如果完全重复 请告诉我 谢谢
  • Material UI 组件中的媒体查询

    我在 React js 项目中使用 Material UI 组件 出于某种原因 我需要对某些组件进行自定义 以使其根据屏幕宽度进行响应 我已经添加了media query并将其作为组件中的样式属性传递 但不起作用 知道吗 我正在使用这样的代
  • 给定一组类,调用具有匹配方法参数的类

    我有两个或多个从单亲继承的类 他们都已经超载了handle方法 但每个类的句柄方法都有不同的参数 class CommandHandler class FooCommandHandler public CommandHandler publ
  • 无法让 Cordova 文本转语音插件工作

    我正在尝试各种 TTS 插件 包括位于https github com vilic cordova plugin tts https github com vilic cordova plugin tts 但无法让任何工作 例如 根据文档
  • 有人可以解释以下异或属性

    我的一个论坛提到给定的数组n数字 arr 0 n 1 以下条件成立 is the xor运算符 f l r f 0 r f 0 l 1 where f l r arr l arr l 1 arr r 我检查了上面的数组数量和不同的值l an
  • 如何封装.NET无状态状态机

    我有一个项目 其中大部分是线性工作流程 我正在尝试使用 NET Statelesslibrary https github com dotnet state machine stateless充当工作流引擎 状态机 示例的数量有限 但我整理
  • 如何在我的 html 中使用 Flaticon 中的图标?

    我想给我的网站一些图标 现在我看到很多人使用Flaticon这个网站 我所做的就是在 CSS 中添加这样的内容 Font 1 font face font family Flaticon1 src url flaticon1 eot src
  • 以下两个 lambda 函数的空间复杂度

    我正在阅读以下内容 https en wikibooks org wiki Haskell Graph reduction https en wikibooks org wiki Haskell Graph reduction 其内容如下
  • 我如何移动粘性/捕捉 wpf 窗口

    当我移动 主 窗口时 我想移动两个或更多粘性窗口 我想做这样的事情 private void MainWindow PreviewMouseMove object sender MouseEventArgs e if e LeftButto
  • 将 Python 输入字符串限制为特定字符和长度

    我刚刚开始学习我的第一种真正的编程语言 Python 我想知道如何限制用户输入raw input特定字符和特定长度 例如 如果用户输入包含除字母之外的任何内容的字符串 我想显示一条错误消息a z 我想显示超过 15 个字符的用户输入之一 第
  • 在 WordPress 中使用自定义字段进行搜索

    我正忙于使用 WordPress 开发 Web 应用程序 我创建了一个带有一些自定义字段的自定义帖子 当我使用 WordPress 搜索框搜索帖子时 仅返回标题与搜索字符串匹配的帖子 我想在搜索域中添加自定义字段 我可以在 WordPres
  • 预乘 Alpha 合成

    我正在尝试实现预乘阿尔法混合 在本页 什么是颜色混合 https learn microsoft com en us previous versions windows xna bb976070 v xnagamestudio 41 它们确
  • 在读取正文之前拒绝 HTTP 请求

    我正在开发一个网站 用户需要上传一些非常大的文件 该网站是用 PHP 编写的 在某些情况下 我想根据标头拒绝文件 理想情况下 我想在收到标头后立即拒绝请求 而不读取正文 如果标头足以表明该文件应被拒绝 则没有理由读取 200M 的文件 此外
  • POSIX SH 构建循环变量,其元素包含空格

    这是我需要的代码 bin sh x1 a1 a2 x2 b1 b2 list SOMETHING for x in list do echo x done 以及我想要的输出 a1 a2 b1 b2 问题是 应该做什么SOMETHING是 我
  • PSQL [错误] - 值被识别为列

    前几天刚开始学习数据库 我遇到了这个问题 我的值被识别为一列 并且它吐出了一个错误 这是我的News table id bodyText url createdAt updatedAt 这是我在 psql 中运行的命令 INSERT INT
  • 术语 SSTable 和 LSM Tree 之间有什么区别

    这两个术语可以互换使用吗 我读过有关 SSTable 工作原理的文章 通常文章都会开始提到 LSM Tree 然而 它们似乎是同一件事 我什么时候应该使用一个术语而不是另一个术语 对于凡人来说 SSTables 和 LSM Trees 的最
  • ffmpeg:音频样本的字节顺序

    我使用 ffmpeg 的 avcodec 从我的 C 应用程序中的音乐文件中检索原始音频样本 对于我测试的文件 这些文件样本的字节序似乎是小字节序 但我想知道对于我尝试解码的所有文件是否总是如此 即来自 ffmpeg 的实现或至少它的体系结
  • 什么时候应该使用 XML 而不是 SQL? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi