使用 MariaDB 处理 XML 文件

一月份,我写了我的第一篇关于 node.js 和 MariaDB 的文章。二月份,我继续写了第二篇关于使用jQuery 和一些 GIS 计算的文章。现在是第三篇,这次的主要重点不再是 GIS 功能,而是 MariaDB 处理大量非结构化数据的能力。在这种情况下,我将重点介绍如何在不导入 XML 数据本身的情况下处理大量 XML 文件。

MariaDB 10.0 于四月初正式发布 (GA),其中包含 Connect 引擎。…

MariaDB 中的 jQuery 和 GIS 距离

我继续在我两周前写的关于 MariaDB GIS 和 node.js 示例应用程序的基础上进行构建,https://blog.mariadb.org/node-js-mariadb-and-gis/。该应用程序展示了如何使用 MariaDB 的一些GIS 功能将 GPX 信息加载到 MariaDB 中,并利用 node.js 平台和 MariaDB 的非阻塞客户端

将 GPX 数据转换为 MariaDB 数据库中的 GIS 点后,我想进一步扩展一下 GIS 方面,并研究如何通过使用 jQuery 的 Ajax 调用来更新基于 Web 的应用程序 UI 的一部分,从而在应用程序中显示一些额外的数据。

Node.js、MariaDB 和 GIS

MariaDB 非阻塞客户端库的 node.js 绑定可用性,以及 MariaDB 的 GIS 功能,激发了我创建一个示例,展示如何使用 node.js 和 MariaDB 将所谓的 GPX 轨迹导入 MariaDB 数据库并在地图上显示它们。GPX 轨迹是许多 GPS 设备(包括运动手表和智能手机)存储的数据。

我的项目利用了 MariaDB 的非阻塞客户端库以及 node.js 平台,在此基础上还使用了 MariaDB 5.5 和 10.0 中提供的 GIS 功能。

首先,让我们回顾一下我正在使用的软件和组件

  • Node.js – 基于 Chrome JavaScript 运行时的流行 Node.js 平台。

MariaDB 非阻塞客户端 API 和 node.js

去年夏天,我在 MariaDB 中实现了一个 非阻塞客户端 API,它被包含在 MariaDB 5.5 版本中。但不知何故,我一直没有来得及宣布它。

然而,这并没有阻止 Brian White 注意到它,并利用它为 node.js 实现了一个新的 mysql 绑定,名为 mariasql

现在,node.js 是一个单线程、事件驱动的 Web 应用程序服务器开发框架。在这种框架中,所有 I/O 操作都以非阻塞或异步方式完成,所有其他可能需要等待外部事件的操作也是如此。有一个单一的事件循环,它使用 poll() 或类似的系统调用来等待任何待处理的 I/O 或其他事件完成,然后分派适当的事件处理程序。…