小编Jas*_*ith的帖子

我可以使用CouchDB mobile作为localStorage的替代品吗?

我有一个离线运行的现有Web应用程序(使用HTML5缓存清单).

我将数据存储在localStorage中.我将达到localStorage的5Mb限制.我可以将CouchDB用作本地数据库,有效地用CouchDB实现替换localStorage吗?

我不想在任何服务器上安装CouchDB,我只想利用客户端存储功能来替换我的localStorage实现.

是否像下载相关的couchdb.js文件和更改我的客户端持久性代码一样简单?

谢谢

couchdb local-storage offlineapps pouchdb

14
推荐指数
2
解决办法
8035
查看次数

如何根据App Engine中的电子邮件地址确定user_id?

最新的App Engine SDK(1.2.1)具有API调用,用于根据用户帐户的电子邮件地址计算用户帐户的ID.(即使用户稍后更改了地址,ID仍保持不变.)有关信息的唯一,不透明用户ID,请参阅此问题.但是,我有这个API调用的问题.

user_id()适用于登录用户(即从users.get_current_user),但它返回Noneusers.User()构造函数创建的对象.**什么给出?

例如,使用优秀的App Engine控制台,此代码不起作用.

>>> import google.appengine.api.users
>>> me = google.appengine.api.users.get_current_user()
>>> me
users.User(email='jason.h.smith@gmail.com',_user_id='105261964646342707921')
>>> me.user_id()
'105261964646342707921'
>>> somebody = google.appengine.api.users.User('someone@gmail.com')
>>> somebody
users.User(email='someone@gmail.com')
>>>somebody.user_id()
>>> type(somebody.user_id())
<type 'NoneType'>
Run Code Online (Sandbox Code Playgroud)

我想要一种简单的方法将电子邮件地址转换为用户ID. 我怎样才能提前从Google强制提供此ID; 或者如果不可能,为什么不呢?

编辑:这是当前的解决方法.

感谢Nick Johnson的回答.以下是他的解决方案:

>>> from google.appengine.ext import db
>>> from google.appengine.api import users
>>> class User(db.Model):
...   user = db.UserProperty(required=True)
...
>>> def email_to_userid(address):
...   """Return a stable user_id string based …
Run Code Online (Sandbox Code Playgroud)

email google-app-engine user-identification

13
推荐指数
1
解决办法
3183
查看次数

MongoDB:没有并行性使用MapReduce有什么意义?

引用http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-Parallelism

截至目前,单个mongod进程上的MapReduce作业是单线程的.这是由于当前JavaScript引擎的设计限制.我们正在研究解决此问题的替代方法,但是现在如果要并行化MapReduce作业,则需要使用分片或在代码中进行聚合客户端.

没有并行性,与更简单或更传统的查询和数据聚合方法相比,MapReduce有哪些好处?

为避免混淆:问题不是"面向文档的DB比传统关系数据库有什么好处"

parallel-processing mapreduce mongodb

13
推荐指数
1
解决办法
5127
查看次数

CouchDB读取授权

在couchdb网站 - >技术概述 - >安全和验证 - http://couchdb.apache.org/docs/overview.html - 它写道(在读者访问部分)"为了保护文档内容,CouchDB文档可以有一个读者这是一个允许读取文档的读者名称的可选列表.当使用读者列表时,受保护的文档只能由列出的用户查看." 我搜索了如何使用它,但我一无所获.那么实际使用它是否如何?

谢谢.

- 穆斯塔法

authentication couchdb

11
推荐指数
1
解决办法
3258
查看次数

CouchDB可以每天处理1500万条记录吗?

我对NoSQL数据库比较陌生,我不得不为监控工具评估不同的NoSQL-Solutions.

情况如下:一个数据只有大约100字节,但实际上有很多.在一天中,我们获得了大约1500万条记录...所以我目前正在测试9亿条记录(大约15GB作为SQL插入脚本)

我的问题是:Couchdb是否符合我的需求?我需要做范围查询(在创建记录的日期)并根据存储在数据中的"二级索引"定义的组总结一些列.)我知道MapReduce可能是计算它的最佳解决方案,但是CouchDB的JavaScript能够在可接受的时间内完成吗?

我已经尝试过MongoDB,但是MapReduce真的很差,做得很糟糕......我还读到了HBase和Cassandra.但也许CouchDB也是一个很好的可能性

我希望我能给你所有需要的信息......谢谢你的帮助!

安迪

couchdb nosql

11
推荐指数
1
解决办法
2571
查看次数

所有网络浏览器(包括谷歌浏览器)之间的一致形式,功能的最佳技术是什么?

简短版本:在Web开发人员和Web开发人员的最终用户使用的所有浏览器中,最简洁,最易维护的技术是什么,用于一致的演示和AJAX功能?

  • IE 6,7,8
  • Firefox 2,3
  • 苹果浏览器
  • 谷歌浏览器
  • 歌剧

长版:我写了一个针对其他Web开发人员Web应用程序.我希望我的应用能够在演示和AJAX行为中支持主要的Web浏览器(以及Google Chrome).

我开始使用Firefox/Firebug,然后在IE 6和7下为一致的样式添加条件注释.接下来,令我惊讶的是,我发现jQuery在IE中的行为并不相同; 所以我改变了我的Javascript,使用条件和不太纯粹的jQuery 在FF和IE上可移植.

今天,我开始在Webkit和Google Chrome上进行测试,发现不仅样式与FF和IE都不一致,而且Javascript根本没有执行,可能是由于语法或解析错误.我期待一些CSS工作,但现在我有更多的Javascript调试要做!在这一点上,我想在为所有情况编写成堆的特殊情况之前退一步思考.

不是在寻找灵丹妙药,只是为了让事情尽可能易于理解和维护.如果没有服务器端智能,我更喜欢它; 但是,如果有一个优点,例如,检查用户代理然后将不同的文件返回到不同的浏览器,那么如果Web应用程序的总体可理解性和可维护性较低,那就没问题了.非常感谢你们!

css portability google-chrome

10
推荐指数
2
解决办法
1308
查看次数

shell脚本中临时目录中的临时操作

我需要一个新的临时目录来在shell脚本中做一些工作.当工作完成时(或者如果我中途停止工作),我希望脚本更改回旧的工作目录并清除临时工作目录.在Ruby中,它可能如下所示:

require 'tmpdir'

Dir.mktmpdir 'my_build' do |temp_dir|
  puts "Temporary workspace is #{temp_dir}"
  do_some_stuff(temp_dir)
end

puts "Temporary directory already deleted"
Run Code Online (Sandbox Code Playgroud)

在Bash脚本中,最好的帮助是什么呢?

这是我目前的实施.有什么想法或建议吗?

here=$( pwd )
tdir=$( mktemp -d )
trap 'return_here' INT TERM EXIT
return_here () {
    cd "$here"
    [ -d "$tdir" ] && rm -rf "$tdir"
}

do_stuff # This may succeed, fail, change dir, or I may ^C it.
return_here
Run Code Online (Sandbox Code Playgroud)

bash shell temporary-files temporary-directory

9
推荐指数
1
解决办法
9702
查看次数

需要说明couchdb减少功能

来自http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views

couchdb reduce函数定义为

function (key, values, rereduce) {
    return sum(values);
}
Run Code Online (Sandbox Code Playgroud)
  • key将是一个数组,其元素是[key,id]形式的数组
  • values将是为键中的各个元素发出的值的数组
  • 即reduce([[key1,id1],[key2,id2],[key3,id3]],[value1,value2,value3],false)

我无法理解何时/为什么键数组将包含不同的键值.如果键数组确实包含不同的键值,我将如何处理它?

例如,假设我的数据库包含表单帐户之间的移动.

{"amount":100, "CreditAccount":"account_number", "DebitAccount":"account_number"}
Run Code Online (Sandbox Code Playgroud)

我想要一个提供帐户余额的视图.

我的地图功能有:

emit( doc.CreditAccount, doc.amount )
emit( doc.DebitAccount, -doc.amount )
Run Code Online (Sandbox Code Playgroud)

我的reduce函数有:

回报总和(值);

我似乎得到了预期的结果,但是我无法将此与我的reduce函数获得不同键值的可能性相协调.

我的reduce函数是否应该首先对键值进行分组?在那种情况下我会返回什么样的结果?

couchdb couchdb-futon

9
推荐指数
1
解决办法
2639
查看次数

CouchDB文档更新处理程序是否会发生更新冲突?

使用更新处理程序时修订版本的可能性有多大?在编写强大的更新函数时,我是否应该关注冲突处理代码?

文档更新处理程序中所述,CouchDB 0.10及更高版本允许按需服务器端文档修改.

更新处理程序可以处理非JSON格式; 但其他主要特征是:

  • 任意复杂的文档修改代码的HTTP前端
  • 不需要为所有可能的客户端编写类似的代码 - 一种DRY架构
  • 执行速度更快,不太可能发生修订冲突

我不清楚第三点.在本地执行,更新处理程序运行速度更快,延迟更低.但在争用率较高的情况下,这并不能保证成功更新.或者更新处理程序是否保证成功更新?

erlang couchdb

9
推荐指数
1
解决办法
3174
查看次数

在SQL Server中自动更新冗余/非规范化数据

在我的数据库设计中使用高级冗余非规范化数据来提高性能.我经常会存储通常需要加入或计算的数据.例如,如果我有一个User表和一个Task表,我会在每个Task记录中冗余地存储UsernameUserDisplayName.另一个例子是存储聚合,例如将TaskCount存储在User表中.

  • 用户
    • 用户身份
    • 用户名
    • UserDisplayName
    • TaskCount
  • 任务
    • 的TaskID
    • 任务名称
    • 用户身份
    • 用户名
    • UserDisplayName

这非常适合性能,因为应用程序具有比插入,更新或删除操作更多的读取,并且因为某些值(如用户名)很少更改.然而,最大的缺点是必须通过应用程序代码或触发器强制执行完整性.更新可能会非常麻烦.

我的问题是这可以在SQL Server 2005/2010中自动完成...也许通过持久/永久视图.有人会推荐另一种可能的解决方案或技术 我听说基于文档的数据库(如CouchDB和MongoDB)可以更有效地处理非规范化数据.

sql-server sql-server-2005 denormalization

9
推荐指数
1
解决办法
2813
查看次数