我正在移植一个包含许多项目的Visual Studio C#解决方案,并在Xamarin IDE中创建一个新的解决方案 - 所有这些都在Windows上.
我一次移植/重新创建一个项目,然后进行编译.我可以单独编译每个项目,然后我可以编译解决方案(有一些错误).
如果我尝试全部重建,则会出现问题,然后显示错误:
'Access to the path "[my build path\some.dll]" is denied.'
Run Code Online (Sandbox Code Playgroud)
我有完整的管理员权限,正如我所提到的,我最初可以构建dll,因此它不是访问问题.
如果我试图删除有问题的dll,我不能 - 窗口否认我.
如果我关闭Xamarin,我可以手动删除该文件.因此,我认为,Xamarin仍然对文件进行"锁定",不允许将其删除.
有没有人看过这个,如果有的话,你是怎么绕过它的?
如果这是一个错误,那么这使得它几乎无法使用.
我主要打算问这个问题:"ArangoDB是真正的图形数据库吗?"
但是,这个问题听起来很冒犯.
你们,triAGENS的人们在创建"多范式"数据库方面做得非常出色.作为PostgreSQL,PostGIS,MongoDB和Neo4J/Titan的用户,我真的很高兴看到"一体化"的解决方案:)
但问题仍然存在,基本上在ArangoDB中创建图形需要创建两个独立的集合:一个用于边缘,一个用于顶点,因此,据我所知,它已经意味着顶点和相关边缘不是"物理"邻居.
而且,即使在创建了适当的索引之后,我在Gremlin中做这种事情时也面临着一些严重的性能问题
g.v('an_id').out('likes').in('likes').count()
Run Code Online (Sandbox Code Playgroud)
在~3秒后(感知时间)返回结果
我以为我很难理解Gremlin和Blueprint/ArangoDB是如何工作的所以我试图用AQL重写相同的查询:
LET lst = (FOR e1 in NEIGHBORS(vertices, edges, "an_id", "outbound", [ { "$label": "likes" } ] )
FOR e2 in NEIGHBORS(vertices, edges, e1.edge._to, "inbound", [ { "$label": "likes" } ] )
RETURN 1
)
RETURN length(lst)
Run Code Online (Sandbox Code Playgroud)
这给了我一个相同数量级的延迟.
如果我尝试在Titan或Neo4j数据库上运行相同的查询(使用相同的数据),查询几乎立即返回(感知时间:<200ms)
所以在我看来,ArangoDB图形功能是"传统文档数据库"之上的"智能图层",但ArangoDB不是"本机"图形数据库.
为了证实这种感觉,我转换数据以在PostgreSQL中加载它并运行一个查询(你可以假设有一个多表JOIN)并得到类似的(对ArangoDB)执行延迟
我做错了什么(在AQL查询中)?
有没有办法优化数据库以获得更好的遍历时间?
在PostgreSQL中,从概念上讲,我会混合使用edge和node并使用CLUSTER子句对数据进行物理排序,在ArangoDB中可以做类似的事情吗?(我认为它会很难,因为它会涉及"交错"边缘和节点,只是一种直觉)
在ArangoDB的上下文中,有不同的数据库shell来查询数据:
arangosh:基于JavaScript的控制台
AQL:Arangodb查询语言,看到http://www.arangodb.org/2012/06/20/querying-a-nosql-database-the-elegant-way
MRuby:嵌入式Ruby
虽然我理解使用JavaScript和MRuby,但我不确定为什么我会学习,以及我将使用AQL的地方.有没有关于此的信息?是否将AQL直接POST到数据库服务器?
我正在寻找一个pub/sub引擎,具有以下要求:
我希望能够拥有多个发布/订阅服务器,并能够从任何服务器发布或订阅频道,无论在哪个服务器上声明频道.
例如:
如果用户A连接到服务器SRV1并且用户B连接到服务器SRV2,如果用户B订阅" MyChannel "并且用户A在频道" MyChannel " 上发布内容,则用户B将获得该消息,即使他未连接到同一服务器.
我不知道Redis是否能够做到这一点.我没有找到关于这个主题的任何信息.欢迎任何帮助.
我们的数据集在工作时一直出现的东西需要在给定一系列键的情况下查询一堆值.日期范围是一个明显的例子.
我知道你可以使用unix时间戳和一个有序集来按日期范围查询,但这看起来很烦人,因为我不得不要么
也许选项2是标准的?有没有办法一次向redis请求多个密钥?像mongodb的$ in查询?或者也许在管道中要求一堆密钥同样快?
我有一个简单的数据库,有几个表(和一些示例列):
帖子(ID,标题,内容)
类别(ID,标题)
PostCategories(ID,ID_Post,ID_Category)
有没有办法创建单个SQL查询,它将返回分配给每个帖子的类别的帖子?
自从我开始专注于CouchDB Membase(Couchbase)以来已经是第四天了,由于管理简单,Membase对我来说似乎是非常有趣的技术,它们的界面非常简洁.添加/删除存储桶的方式很有趣.
不幸的是,我没有设法在Mac OS X上启动他们的.NET客户端(在Windows上工作正常),也无法找到执行Map/Reduce查询的方式,所以看起来Membase Server技术比纯粹简单一点CouchDB的.无论如何一切都改变了,直到最近我偶然发现了描述他们技术的图表:

图像在这里解释
似乎"Couchbase服务器(当前Membase服务器)"扮演某种不直接访问的Master数据库的角色,还有"Couchbase Single Server"扮演客户端数据库的角色,具有CouchDB的所有功能(例如Map/Reduce查询)
如果是这样,那么"CouchSync"是如何执行的?是否可以从代码中执行此"CouchSync"?
我有两个虚拟专用服务器,第一个是Web服务器前端,第二个是数据库后端.我想将Redis用于实时工作,我的问题是:我应该在哪里安装Redis?在Web或数据库服务器上?
今天我写了一个性能测试程序来插入数据并向couchdb添加附件.服务器软件是couchbase(这是couchdb的包装),操作系统是Windows 2003服务器.该程序是用C#开发的,couchdb驱动程序是LoveSeat(它封装了一些http方法来处理couchdb).数据非常简单,但附件不小,每个约70kb.有大约200个附件,我反复附加它们.我在客户端程序中启动了5个线程.
在couchdb服务器意外终止之前,一切看起来都很好.实际上这不是第一次崩溃.起初我以为是因为客户端程序.但最后我发现couchdb崩溃了.我不认为这是因为数据或附件.因为我插入相同的数据并重复添加相同的附件.该程序运行大约一个小时没有问题,直到它崩溃.
[Tue, 05 Jul 2011 11:00:19 GMT] [info] [<0.142.0>] 192.168.1.135 - - 'GET' /test/67366 200
[Tue, 05 Jul 2011 11:00:19 GMT] [info] [<0.108.0>] 192.168.1.135 - - 'GET' /test/7136 200
[Tue, 05 Jul 2011 11:00:19 GMT] [info] [<0.108.0>] 192.168.1.135 - - 'GET' /test/47306 200
[Tue, 05 Jul 2011 11:00:19 GMT] [info] [<0.108.0>] 192.168.1.135 - - 'GET' /test/27257 200
[Tue, 05 Jul 2011 11:00:19 GMT] [info] [<0.108.0>] 192.168.1.135 - - 'PUT' /test/7136/f?rev=1-334efd144dcdc52fd3a3a981dce4472f 201
[Tue, 05 Jul 2011 11:00:25 GMT] [error] …Run Code Online (Sandbox Code Playgroud) 有没有办法使用AQL从集合中随机返回文档?
我想为测试目的创建一个随机图.我还没有弄清楚如何从集合中随机选择文档.
我希望我能做这样的事情:
db._query('RETURN nodes[RAND(0..LENGTH(nodes))]').toArray()
JavaScript exception in file '/usr/share/arangodb/js/client/modules/org/arangodb/arangosh.js' at 104,11: [ArangoError 1541: invalid number of arguments for function 'RAND()', expected number of arguments: minimum: 0, maximum: 0 (while parsing)]
! throw new ArangoError(requestResult);
Run Code Online (Sandbox Code Playgroud)
有关如何做到这一点的任何想法?