100

我已经看到 NoSQL 在 SO 上出现了很多,我对你为什么要使用它有一个深刻的理解(从这里,维基百科等)。这可能是由于缺乏对它的具体和统一的定义(更多的是一种范式而不是具体的实现),但我正在努力思考我将如何设计一个使用它的系统或如何我会在我的系统中实现它。我真的陷入了关系数据库的思维模式,从表和连接的角度思考事物......

无论如何,有没有人知道系统上的速成课程/教程(对于基于 NoSQL 的系统来说是一种“hello world”)或基于 SQL 的现有“Hello World”应用程序的教程并将其转换为 NoSQL(不一定在代码中,而只是高级解释)。

4

9 回答 9

53

NoSQL 最基本的形式实际上只不过是一种使用某种键/值配对系统存储对象的方法。我假设你一直在使用它。例如。在 javascript 中,您可以创建一个名为 foo 的对象,然后foo['myobj'] = myobj;将内容存储在该对象中。

所有 NoSQL 服务器真正做的是为您提供一种添加/删除/查询海量数组的方法,并且仍然允许持久性和容错。您可以用大约 100 行代码在内存服务器中创建 NoSQL。

所以让我们这样做......在CouchDB中你使用map/reduce......所以让我们创建一个map函数来做一些SQL代码:

SELECT * FROM users WHERE age > 10

在 CouchDB 中,您为服务器提供了一个 JavaScript 函数,该函数可以针对数据库中的每个项目运行......

function (doc)
{
    if (doc.objType == "users") {
       if (doc.age > 10) {
           emit(doc._id, null)
       }
    }
}

这就是它的全部内容......它在服务器端变得更加复杂,因为服务器必须处理崩溃以及同一对象的多个修订版,但这只是一个示例。

于 2010-02-24T17:57:56.403 回答
45

这是一个介绍 MongoDB的不错的幻灯片。我认为最大的不同是大多数系统都依赖于 Active Record 或一些类似的数据库抽象。

我还在 Couch DB 上找到了一本很棒的免费 orlys 书籍,非常棒。

于 2010-02-24T17:49:56.887 回答
3

看看这个来自 DNR TV 的视频,使用MongoDB进行一些动手操作。第一次介绍可能会很好。

于 2010-02-24T17:48:39.023 回答
2

mongoDB 网站以在线 mongoDB shell 模拟的形式提供了一个很棒的 10 步教程。它需要 10 分钟才能完成,是开始使用 noSQL 的一种非常好的方式!

http://www.mongodb.org/(点击“试用”)

于 2012-11-07T18:33:24.620 回答
1

y_serial 是作为一个单独的 Python 模块编写的,读起来就像一个工作教程,并包含许多提示和参考:http: //yserial.sourceforge.net/

这考虑了如何以“NoSQL”(不仅仅是 SQL)方式持久化任意 Python 对象(例如字典数据结构)。

于 2010-03-20T20:10:21.427 回答
1

Infoq Graph Databases、NOSQL 和 Neo4j上有一个

于 2010-05-16T06:20:05.757 回答
1

如果您喜欢 Neo4j,请查看这个很酷的演示文稿

于 2012-03-08T18:41:30.030 回答
1

关于 CouchDB 的优秀教程:http: //net.tutsplus.com/tutorials/getting-started-with-couchdb/

于 2012-04-11T15:59:47.107 回答
0

这是我的 NoSQL 资源:

nosql 初学者教程:http ://www.tutorialindustry.com/nosql-tutorial-for-beginners

对于 MongoDB:http ://www.tutorialindustry.com/mongodb-tutorial-for-beginners

对于 CouchDB:http ://www.tutorialindustry.com/couchdb-tutorial-for-beginners

对于 Redis:http ://www.tutorialindustry.com/redis-tutorial-for-beginners

于 2014-01-22T15:57:01.580 回答