|
|
1
7
从这篇文章中,听起来化石并不是一个数据库,就像git是一个数据库一样。是的,它是一个包含数据的东西,是的,它有一个数据库支持,但它似乎离数据库本身很远。所以问题的第一部分基本上依赖于一个错误的假设。有一个名为 Friendly 它使用MySQL来存储无模式的模型,但它充其量像是一种笨拙的Bandaid解决方案。 我当然不熟悉所有的NoSQL选项,但是据我所知,没有一个好的选择使用SQL做任何事情。MongoDB和CouchDB,我最熟悉的两个,都使用JavaScript作为他们的查询接口的一部分,尽管使用的方式非常不同。MongoDB的查询更像是关系数据库中的查询:您可以为所有符合特定属性集的文档编写任意查询。但是,与关系数据库不同的是,没有连接这样的东西(您只会得到一个不同文档的列表,而不是复合文档),您可以编写任意的JavaScript代码来选择文档。另一方面,CouchDB不允许任意查询。相反,您可以使用用JavaScript编写的map/reduce函数创建视图(基本上是简单的键值存储),然后从开始键到结束键查询这些视图。 在这两种情况下,传输到服务器以执行查询的信息类型都不太适合SQL擅长解决的问题类型。对SQL的权衡非常高(使用本文作者的逻辑),因为它只适用于非常狭窄的一组问题。 |