我最近遇到了负责SQLite的开发人员D. Richard Hipp http://www.fossil-scm.org/index.html/doc/tip/www/theory1.wiki。
它让我想到,Fossil是唯一使用SQL的NoSQL数据库吗?
其他人是否使用SQL作为“高级脚本语言”?
答案 0 :(得分:7)
从文章来看,听起来像Fossil不是数据库,只不过git是一个数据库。是的,这是一个包含数据的东西,是的,它是由数据库支持的,但它似乎离数据库本身很远。所以问题的第一部分基本上依赖于错误的假设。有一个名为Friendly的数据库,它使用MySQL来存储无模式模型,但它似乎是一种笨拙的绑定解决方案。
我当然不熟悉那里的所有NoSQL选项,但据我所知,没有任何一个可以使用SQL做任何事情。 MongoDB和CouchDB,我最熟悉的两个,都使用Javascript作为其查询界面的一部分,但方式却截然不同。 MongoDB的查询更像您对关系数据库的期望:您可以为与某组属性匹配的所有文档编写任意查询。但是,与关系数据库不同,不存在连接(您只能获得不同文档的列表,而不是复合文档),您可以编写任意Javascript代码来选择文档。另一方面,CouchDB不允许任意查询。相反,您使用Javascript编写的map / reduce函数创建视图(基本上是更简单的键值存储),然后从开始键到结束键查询这些视图。
在这两种情况下,传输到服务器以执行查询的信息类型都不适合SQL擅长解决的问题类型。对SQL如此高级的权衡(使用论文作者的逻辑)是它只适用于一系列非常狭窄的问题。
答案 1 :(得分:1)