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