1

我最近遇到了负责 SQLite 的开发人员 D. Richard Hipp 的http://www.fossil-scm.org/index.html/doc/tip/www/theory1.wiki 。

我在想,Fossil 是唯一使用 SQL 的 NoSQL 数据库吗?

其他人是否使用 SQL 作为“高级脚本语言”?

4

2 回答 2

7

从这篇文章中,听起来 Fossil 不是数据库,就像 git 不是数据库一样。是的,它是一个包含数据的东西,是的,它由数据库支持,但它似乎与数据库本身相去甚远。所以你问题的第一部分基本上依赖于一个错误的假设。有一个名为Friendly的数据库,它使用 MySQL 来存储无模式模型,但它似乎充其量只是一种笨拙的创可贴式解决方案。

我当然不熟悉所有的 NoSQL 选项,但是,据我所知,没有一个很好的选项使用 SQL 做任何事情。我最熟悉的两个 MongoDB 和 CouchDB 都使用 Javascript 作为其查询界面的一部分,尽管方式非常不同。MongoDB 的查询更像您对关系数据库的期望:您可以为匹配特定属性集的所有文档编写任意查询。然而,与关系数据库不同的是,没有联接之类的东西(您只会得到不同文档的列表,而不是复合文档),您可以编写任意 Javascript 代码来选择文档。另一方面,CouchDB 不允许任意查询。反而,

在这两种情况下,传输到服务器以执行查询的信息类型都不太适合 SQL 擅长解决的问题类型。SQL 如此高级(使用本文作者的逻辑)的权衡是它只适用于非常狭窄的问题集。

于 2010-01-22T21:52:15.253 回答
1

Fossil / SQLite 的创建者正在努力推动UnQL作为 NoSQL 标准:

UnQL 表示非结构化查询语言。

它是一种用于 JSON、半结构化和文档数据库的开放式查询语言。

看起来 像是SQL 的精简版。

于 2012-12-24T12:20:51.343 回答