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

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

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

有帮助吗?

解决方案

从文章,这听起来像化石不是数据库任何超过GIT中是一个数据库。是的,它是一个包含数据,是的,它是由数据库支持的事情,但它从数据库本身似乎很远。所以你的问题的第一部分主要依赖于一个错误的假设。有一个名为友好数据库,使用MySQL存储方案较少的车型,但它似乎是一个尴尬的绷带之类的解决方案的最好的。

我当然不熟悉所有的NoSQL的选择那里,但是,据我所知,没有一个良好的,虽然-中的一些使用SQL什么。 MongoDB的和CouchDB的,这两个我最熟悉的,都使用JavaScript作为自己的查询界面的一部分,尽管非常不同的方式。 MongoDB的具有查询更多像你从一个关系数据库会发生什么:你可以写一个任意查询匹配某种属性集合中的所有文档。然而,与关系数据库中,有一个连接没有这样的东西(你永远只能得到不同文档的列表回来,不是复合文档),你可以写入任意Javascript代码来选择文件。 CouchDB的,而另一方面,不允许任意查询。相反,创建使用图/减少写入Javascript函数,然后从一个开始键和结束键查询那些视图的视图(其基本上简单的键 - 值存储)。

在这两种情况下,信息的类型被发送到服务器,以执行该查询不是非常适合的问题的类型SQL擅长解决。的折衷,以SQL如此高级别(使用的纸张的作者的逻辑)是,它是仅适合于非常窄的一系列问题。

其他提示

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

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

这是JSON,半结构和文档数据库的开放查询语言。

看起来 喜欢 SQL 的精简版本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top