1

我对 XML 很感兴趣。我从谷歌的 CSE 知道这一点。

操作 3000 行 XML 文件对我来说通常很痛苦。这就提出了一个问题。

为什么 Google 使用 XML 而不是 MySQL,所以我需要操作大型 XML 文件?

4

6 回答 6

9

对于数据交换目的,XML 至少比 SQL 具有以下优势:

  • 它是自描述的,你不需要任何额外的信息来解析它。
  • 这是一个真正的标准,可普遍互操作
  • 您不仅限于面向表格的数据:例如,您还可以使用它来建模层次结构。

使用 SQL 可以做的最好的事情可能是以源代码形式发布表,即,作为 CREATE TABLE 语句,然后是大量的 INSERT 语句。如果您有一个兼容的数据库,这很好,但由于 SQL 从未真正作为标准具体化,因此该级别的互操作性非常差,而且 Google 必须提供多种方言(甚至可能对于同一 DBMS 的不兼容版本)。

于 2009-07-13T23:28:06.547 回答
4

XML 主要是人类可读的和跨平台的。谷歌将如何仅从 MYSql 向您发送数据?您是否希望他们向您发送一个二进制 blob,假设您有适当的数据库可以将其插入?如果没有安装 MYSql,或者你的机器上安装了与谷歌不同版本的 MYSql,你将如何使用该 blob?

于 2009-07-13T23:16:35.667 回答
2

XML 通常用作系统之间的传输格式。在 CSE 中,我猜想 google 正在以许多系统可以使用的格式将大量数据从他们那里传输给您。如果他们使用 MySQL,那对我来说毫无用处,因为我对此一无所知。但是,几乎大多数现代软件框架都可以使用 XML。

额外的

此外,CSE(定制搜索引擎)可能希望您不需要对 XML 进行大量操作,只需转换即可呈现到网页。您可以非常轻松地对 XML 文件执行 XSLT(可扩展样式表语言转换),以将其转换为 HTML 片段以在您的网站上使用。

于 2009-07-13T23:18:03.573 回答
1

MySQL 是一个特定的 SQL 数据库引擎。一个不太适合为像谷歌这样的搜索引擎所具有的非常大的数据集和特殊的特殊需求提供后端。我相信你可以挖掘关于谷歌基础设施的信息,例如从这里开始

在通过 Internet 交换数据时,您不希望依赖和公开诸如 MySQL 之类的特定内容。

另一方面,当您需要在系统之间连接和交换数据时,XML作为一种通用的文本标记语言是理想的选择。因此,它提供了一种理想的方式来连接诸如 Google CSE 之类的服务。你不需要关心谷歌必须提供数据的具体实现,谷歌也不需要关心你用来操作数据的具体技术

于 2009-07-13T23:25:51.840 回答
1

除了@Jared,还有 XML 数据库。如果数据存储在 XML 中,则可以对其进行查询、动态转换为 html 或在应用程序中使用,而无需包装数据。

于 2009-07-13T23:30:23.843 回答
0

为什么 Google 使用 XML 而不是 MySQL,所以我需要操作大型 XML 文件?

访问时间,因为在访问/打开端口上的 DOM 级别没有安全检查例程/-:

于 2019-09-16T16:21:04.967 回答