我在上面看到过很多关于NoSQL的信息,我很清楚为什么你会使用它(从这里,维基百科,等等)。这可能是因为缺乏对它是什么的具体和统一的定义(更多的是一种范式,而不是具体的实现),但我正在努力思考如何设计一个使用它的系统,或者如何在我的系统中实现它。我真的被困在一种关系数据库的思维模式中,用表和连接来思考事情……
无论如何,有没有人知道关于系统的速成课程/教程会使用它(对于基于NoSQL的系统来说,这是一种"hello world“),或者是一种教程,它将现有的基于SQL的"Hello World”应用程序转换成NoSQL(不一定是用代码编写的,只是一个高级的解释)。
发布于 2010-02-25 01:49:57
Here is a decent slide show介绍MongoDB。我认为最大的不同之处在于,大多数系统都依赖于活动记录或类似的数据库抽象。
我还发现了一个很棒的free orlys book on Couch DB here,非常棒。
发布于 2010-02-25 01:57:56
在其最基本的形式中,NoSQL实际上只不过是一种使用某种键/值对系统来存储对象的方法。我想你已经一直在用这个了。例如。在javascript中,您可以创建一个名为foo的对象,然后执行foo['myobj'] = myobj;
以在该对象中存储内容。
所有NoSQL服务器真正要做的就是为您提供一种添加/删除/查询大量阵列的方法,同时仍然允许持久性和容错。您可以用大约100行代码在内存服务器中创建一个NoSQL。
因此,让我们使用way...in / CouchDB来做这件事。所以让我们创建一个与一些SQL代码相同的映射函数:
SELECT * FROM users WHERE age > 10
在CouchDB中,您为服务器提供了一个JavaScript函数,该函数针对数据库中的每一项运行...
function (doc)
{
if (doc.objType == "users") {
if (doc.age > 10) {
emit(doc._id, null)
}
}
}
这就是it.....it在服务器端变得更加复杂的全部,因为服务器必须处理崩溃,以及同一对象的多个修订,但这只是一个示例。
https://stackoverflow.com/questions/2328169
复制相似问题