Closed. 这个问题不符合堆栈溢出指南 /help/closed-questions 。目前不接受答案。
我已经看到 NoSQL 在 SO 上出现了很多,并且我对why 你会使用它(来自这里,维基百科等)。这可能是由于缺乏对它是什么的具体和统一的定义(更多的是一个范例而不是具体的实现),但我正在努力思考如何设计一个使用它的系统或如何使用它我会在我的系统中实现它。我真的陷入了关系数据库思维模式,从表和连接的角度思考事物......
无论如何,是否有人知道使用它的系统上的速成课程/教程(类似于基于 NoSQL 的系统的“hello world”)或基于 SQL 的现有“Hello World”应用程序的教程并将其转换为 NoSQL(不一定是代码,而只是高级解释)。
从最基本的形式来看,NoSQL 实际上只不过是一种使用某种键/值配对系统存储对象的方法。我想你已经一直在使用这个了。例如。在 javascript 中,你可以创建一个名为 foo 的对象,然后执行foo['myobj'] = myobj;
在对象中存储内容。
所有 NoSQL 服务器真正做的就是为您提供一种添加/删除/查询大规模数组的方法,同时仍然允许持久性和容错。您可以用大约 100 行代码创建一个 NoSQL 内存服务器。
所以让我们这样做...在 CouchDB 中,您使用 map/reduce...所以让我们创建一个映射函数,其作用与一些 SQL 代码相同:
SELECT * FROM users WHERE age > 10
在 CouchDB 中,您为服务器提供一个 JavaScript 函数,该函数针对数据库中的每个项目运行...
function (doc)
{
if (doc.objType == "users") {
if (doc.age > 10) {
emit(doc._id, null)
}
}
}
这就是它的全部内容......它从服务器端开始变得更加复杂,因为服务器必须处理崩溃以及同一对象的多个修订,但这只是一个示例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)