问题标签 [orientdb-2.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
384 浏览

orientdb - OrientGraphFactory 池与网络连接池

我最近开始在 OrientDB 2.1 中使用新的 OrientGraphFactory,它在大多数情况下都很棒。

我正在使用 scala,并且这样做:

当我需要一个新的数据库实例时,我只需这样做:

这一切似乎都运行良好,但我在高负载时遇到了一些问题。我怀疑也许我需要对网络连接池做一些额外的工作,如 OrientDB 文档中所述:http ://orientdb.com/docs/2.1/Performance-Tuning.html

该文档建议像这样设置网络连接池:

数据库=新ODatabaseDocumentTx(“远程:本地主机/演示”);database.setProperty("minPool", 2); database.setProperty("maxPool", 5);

数据库.open(“管理员”,“管理员”);

我想知道 OrientGraphFactory 池是否也用作某种网络池,为每个数据库实例创建一个网络连接。是这样吗?还是我需要额外设置网络连接池?

谢谢!

0 投票
1 回答
500 浏览

orientdb - 使用 Tinkerpop 的 OrientDB 获取计划/策略

我一直在使用 Tinkerpop 2.6 和 OrientDB 来操作图形,但遇到了一些性能问题。

我怀疑这个问题与 OrientDB 延迟加载记录有关。在我的例子中,我通过两个不同的标签获取相邻的顶点,添加一个新的边,并设置一个属性。

我知道 OrientDB 建议注意获取计划,但我看不到通过 OrientGraph 或 Tinkerpop 这样做的明确方法。请注意,我使用 OrientGraphFactory 来获取事务数据库实例,我也没有在其中看到它。

如何将获取计划与 OrientGraphs 和 Tinkerpop 一起使用?

谢谢!

0 投票
0 回答
309 浏览

orientdb - 如何在运行时检查 orientdb 磁盘缓存大小?

我正在尝试调整 orientdb 2.1.5 嵌入式应用程序,至少减少磁盘的 I/O。我已阅读文档(http://orientdb.com/docs/last/Performance-Tuning.html)并使用storage.diskCache.bufferSize标志来增加磁盘缓存大小。看着 htop 和 top (我在 linux 上)我没有注意到 java 进程的内存使用有任何增加。即使是 orient 公开的两个 mbean(O2QCacheMXBeanOWOWCacheMXBean)也没有突出显示有关增量的证据。那么如何确定当前的磁盘缓存大小呢?

这是我的 java 命令行的一部分:

非常感谢。

0 投票
1 回答
1302 浏览

group-by - OrientDB - 连接两个字符串并聚合它们

通常,如果我想连接两个字符串并应用聚合,我遵循以下语法:

Sql 服务器

甲骨文

在 OrientDB 中,是否可以连接两个字符串并获得它们的聚合?

0 投票
1 回答
99 浏览

kerberos - OrientDB 与 Kerberos 的集成

我正在尝试将 OrientDb 2.1.6 与 Kerberos 集成,但找不到任何有关它的文档。需要澄清

1) OrientDB 2.1.6 支持 Kerberos

2)任何人已经实现了它。

0 投票
2 回答
274 浏览

orientdb - 从集群名称请求集群 id

有没有办法从集群名称中请求集群 ID?

上下文:在我们的上下文中,默认集群允许子集群查看但不更新数据。我想通知用户它正在查看从与其自己不同的集群提供的数据。

例子

分公司从总公司看到产品,但不应该更新它。oRoles解决了这个问题。

我如何知道分支机构用户当前正在查看总部的产品?

我正在寻找类似的请求(该查询不起作用)

或者通过 JAVA API 的任何方式

(在 orientdb 2.1.0 上运行)

0 投票
1 回答
340 浏览

orientdb - OrientDB 在批处理/脚本中创建边缘问题

我有 2 个边缘创建问题。

首先,我正在使用批处理命令创建一堆顶点和边。有时会在尚未创建的顶点之间创建边(这取决于输入顺序,目前无法控制)。当然,东方服务器会抛出异常而不是静默失败。我找不到告诉它跳过它或避免创建边缘的方法。在Neo4j中,您可以执行以下操作:

因此,如果ab不存在,则不会创建边。

有没有办法做这样的事情?在检查ab是否存在之前进行选择是不好的,因为顶点可以在前面的批处理命令中创建,因此不存在于 db 中,因此它必须是 osql 命令的一部分。

其次,与这个问题相关,我想我可以构建一个脚本,这样我就可以将同时查找ab的选择分配给一个变量。

是否可以根据源和目标的条件发出创建命令?如果是这样,那将解决这两个问题。

0 投票
1 回答
29 浏览

orientdb - OOfflineClusterException 消息:无法从离线集群中读取记录

如果某个记录在离线集群中可用并且我尝试使用索引来获取它,它会给出 OOfflineClusterException。为什么要访问离线集群,不应该是正常记录未找到的情况。

0 投票
0 回答
139 浏览

orientdb - OrientDB 轻量级边缘与 Ridbags?

最近我遇到了一个用例,使用轻量级边缘很有意义。在检查两个顶点是否作为选择条件的一部分相关时,它可以加快查询速度。

也就是说,因为我在高度并发的环境中运行,我遇到了一些冲突(OConcurrentModificationException)。我通过将冲突策略设置为该特定类的自动合并来解决这个问题。

在进一步调查中,我在添加边时遇到了这篇关于并发的文章:http ://orientdb.com/docs/2.1/Concurrency.html#concurrency-when-adding-edges

它建议在边缘变化非常频繁的情况下使用 RID Bags,并且具有每次添加/删除边缘时不会增加版本的巧妙优势。听起来不错,但我无法让它工作。

我尝试将 -DridBag.embeddedToSbtreeBonsaiThreshold=-1 添加到我的客户端,但没有任何效果。然后我进入我的代码并添加:

OGlobalConfiguration.RID_BAG_EMBEDDED_TO_SBTREEBONSAI_THRESHOLD.setValue(-1);

我最后还尝试将 -DridBag.embeddedToSbtreeBonsaiThreshold=-1 添加到我的 orientdb 服务器(在 server.sh 中)。仍然没有效果。每次更新边缘时,版本都会增加(我假设我可以这样判断它不能正常工作)。

有没有人想过轻质边缘如何与ridbags一起使用(或不适用)?

谢谢!

0 投票
1 回答
229 浏览

orientdb - Orient SQL - 使用 WHERE 过滤结果集?

我有一些关于东方 SQL 查询的语义问题。

以这个非常简单的图表为例:

换句话说,去掉#12:1 的给定用户是去掉#12:2 的另一个用户的朋友。

为了得到用户 #12:1 的朋友,可以用 Orient SQL 像这样表达这一点:

此查询将返回一个结果列表,该列表由具有 rid #12:2 的用户组成。

现在假设我想通过附加条件过滤该结果列表,例如数值(“年龄”):

上面的查询将过滤当前顶点 (#12:1),而不是结果集。这是有道理的,但是有没有办法将过滤器应用于 EXPAND(both("FriendOf")) 结果而不是当前顶点?我知道我可以像这样用 gremlin 做到这一点:

但是上面似乎没有使用索引(至少在我要求它解释时没有)。对于非常大的数据集,这是有问题的。

那么有没有合适的方法将 WHERE 语句应用于结果数据集?

谢谢 !