当前位置:  开发笔记 > 编程语言 > 正文

NoSql速成课程/教程

如何解决《NoSql速成课程/教程》经验,为你挑选了2个好方法。

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

无论如何,是否有人知道将使用它的系统上的速成课程/教程(基于NoSQL的系统的"hello world")或者基于SQL的现有"Hello World"应用程序的教程并将其转换为NoSQL(不一定是代码,但只是一个高级别的解释).



1> Timothy Bald..:

最基本的形式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)
       }
    }
}

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


您的示例似乎在大型数据库中效率低下.服务器是否可以在doc类型上进行索引,或者对它使用的密钥和密钥索引是否很聪明?像键一样可以是user1,user2等.

2> JP Silvashy..:

这是一个介绍MongoDB 的体面幻灯片.我认为一些重大差异是大多数系统依赖于Active Record或类似的数据库抽象.

此外,我在Couch DB上找到了一本精彩的免费orlys书,非常棒.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有