NoSql速成班/教程

NoSql速成班/教程,nosql,Nosql,我已经看到NoSQL在SO上出现了很多次,我对为什么要使用它有了很好的理解(从这里开始,维基百科等等)。这可能是因为对它缺乏具体统一的定义(更多的是一个范例,而不是具体的实现),但我正努力思考如何设计一个使用它的系统,或者如何在我的系统中实现它。我真的陷入了关系数据库的思维模式,从表和连接的角度思考问题 无论如何,有人知道会使用它的系统的速成课程/教程(对于基于NoSQL的系统来说是一种“hello world”),或者是一个基于SQL的现有“hello world”应用程序并将其转换为NoSQ

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

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

看看DNR TV的视频,做一些实际操作。第一次介绍可能很好。

介绍MongoDB。我认为最大的区别在于大多数系统依赖于活动记录或类似的数据库抽象


我还发现了一个很棒的,非常棒的

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)
       }
    }
}

这就是它真正的意义所在……从服务器端开始,它变得更加复杂,因为服务器必须处理崩溃和同一对象的多个修订,但这只是一个示例。

y\u serial作为一个单独的Python模块编写,读起来像一个工作教程,包含许多提示和参考:


这将着眼于如何以“NoSQL”(不仅仅是SQL)方式持久化任意Python对象(例如字典数据结构)

如果你喜欢Neo4j,Infoq上有一个:

这是一个很酷的关于CouchDB的教程:

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


(单击“试用”)

以下是我的NoSQL资源:

nosql初学者教程:

对于MongoDB:

对于CouchDB:


对于Redis:

再加上一点,他们有一个sql-to-mongo页面,可以帮助您通过代码了解概念。您的示例似乎在大型数据库中效率低下。服务器可以在文档类型上建立索引,或者对它使用的键进行智能化,并在键上建立索引吗?比如键可以是user1,user2,等等。我真的很喜欢这个。是10Gen的网络研讨会。它解释了如何使用MongoDB发布基本内容和添加社交互动(标签、评论、数据聚合)。该网站已经消失,所有404…是的,这都是404。