问题标签 [orientdb2.2]

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 投票
0 回答
86 浏览

orientdb - orientdb中的自动递增顶点属性

我正在使用Orientdb 2.2.12

我想为顶点设置一个自动增量属性

例如

我试图通过创建序列来实现这一点

虽然它在单线程系统中工作正常,但在多线程系统中却给出了模棱两可的结果

如官方文档中所述,我从 OrientGraphfactory 为每个线程提供了一个单独的 OrientGraph 实例:

有没有办法在orientdb中实现这一点。

谢谢..!

0 投票
1 回答
89 浏览

database - 如何最好地基于 2 个顶点共有的属性创建边?

我有 2 个顶点类 - EMPLOYEE 和 BRANCH,它们都填充了数据,我希望边缘类 InBranch 成为它们的关系。

所以员工 -InBranch-> 分支。

具有属性的 Employee 类 -> empname、branchname。
具有属性的类分支 --> 分支名称。

我不想将公共属性(分支名称)作为关系
而是将它们作为边(InBranch)。

我正在尝试使工作类似于以下构造:

直观地模仿了 Luca Garulli 的代码:

来自OrientDB:使用 Schemas with Graphs,第 1 部分

0 投票
0 回答
61 浏览

.net - Orientdb分布式模式.Net客户端报错

我在分布式模式下设置了 OrientDB Community Edition v2.2.8,其中有 2 个节点,前面有一个负载均衡器 (F5)。我有一个使用 .net 客户端(OrientDB-Net.binary.Innov8tive.0.1.11)写入数据库的 .net 应用程序。当应用程序尝试保存到数据库时,我收到此错误

我尝试直接连接到负载平衡的 url 和节点。我总是遇到同样的错误。我正在保存 2 种不同类型的顶点和这 2 个顶点之间的一条边。根据我尝试连接的节点,我在不在该特定节点上的对象之一上收到错误。我正在像这样在我的应用程序中创建连接

我在 .net 客户端上找不到分布式模式的任何特定设置。有什么我想念的吗?

0 投票
0 回答
61 浏览

orientdb - OrientDB 的最短路径非常慢

使用 OrientDB 和 Java,我有一个带有此查询的程序来计算所有节点对的 300000 个节点的最短路径,但程序非常慢,有人可以帮助我。

0 投票
0 回答
25 浏览

orientdb - OrientDb Studio 需要 RuntimePermission.createClassLoader

我可以使用嵌入式(plocal)服务器启动 OrientDb 工作室。但是,我必须授予 RuntimePermission.createClassLoader 权限。我宁愿不授予该权限,也可能不需要类加载器;热重新部署可能不适合我的需要,服务器将被嵌入(不独立于我的应用程序)。

是否可以在没有类加载器的情况下加载 OrientDb Studio?

这是我启动服务器的代码:

orientServerConfigFile 指向我的配置文件。这是我的配置文件:

0 投票
1 回答
242 浏览

mysql - Orientdb GC 开销限制超出/内存不足错误和性能缓慢

我的 orientdb 数据库有大约 230 万条记录。我正在尝试使用 statement- 查询所有重复记录(其中大约有 750,000 条) SELECT FROM (select PROP1, PROP2, count(*) as c from vin_data group by PROP1 ) where c > 1。当我将限制设置为 200 左右时,查询大约需要 180 秒(我认为这很慢)。但是当我将限制设置为 750000 时,它给了我内存不足的错误。我的内存是 4GB,我设置了 Xms64m 和 Xmx3600m。我在 PROP1 和 PROP1+PROP2(复合)上设置了索引。我的问题是——4GB 内存足以容纳 230 万条记录数据库吗?

0 投票
1 回答
74 浏览

orientdb - 重新启动分布式 OrientDB 集群中的节点后插入(JavaAPI)失败

一个两节点分布式 OrientDB 系统,嵌入式模式,使用 TCP-IP 进行节点发现。该类event在四个集群上分片。重新启动一个节点后,该节点上恰好有一半的插入失败并显示错误消息:

INFO Local node 'orientdb-lab-node2' is not the owner for cluster 'event_1' (it is 'orientdb-lab-node1'). Reloading distributed configuration for database 'test-db' [ODistributedStorage]

和堆栈跟踪:

这是从 node1 看集群配置的样子:

节点 1 和 2 正在运行,每个节点上 10 次插入

节点 2 停止

节点2重启,5次插入成功,5次失败

任何提示或建议表示赞赏。谢谢。

0 投票
1 回答
343 浏览

orientdb - Orientdb 连接未关闭

我正在使用Orientdb 2.2.12

下面是我获取Connection 实例的单一来源

我的用例正在创建:-

  • 顶点
  • 边缘
  • 更新顶点、边等。

应用程序.java

我面临什么问题?

即使在程序完成并conn.close()完成后,显示 Orientdb 连接的 JConsole 仍然处于活动状态。

这是一个错误还是我做错了什么?

0 投票
1 回答
86 浏览

orientdb - 是否可以使用他们的 ETL 工具将逐行 JSON 导入 OrientDB?

我有一堆文件(每个约 10Gb),其中每一行代表一个 JSON 对象。我想以流模式导入它们,但现在似乎不支持它(OrientDB v.2.2.12)。有什么解决方法吗?这种情况下推荐的方法是什么?

0 投票
0 回答
68 浏览

orientdb - 将边缘导入 SSD 上的 plocal 时出现东方 ETL 性能问题

我的目标是在有大约 50M 顶点的图中导入 25M 边。目标时间:

当前的导入速度约为 150 边/秒。远程连接的速度约为 100 边/秒。

  • 提取 20,694,336 行(171 行/秒)- 20,694,336 行 -> 加载 20,691,830 个顶点(171 个顶点/秒)总时间:35989762ms [0 个警告,4 个错误]
  • 提取 20,694,558 行(156 行/秒)- 20,694,558 行-> 加载 20,692,053 个顶点(156 个顶点/秒)总时间:35991185ms [0 个警告,4 个错误]
  • 提取 20,694,745 行(147 行/秒)- 20,694,746 行-> 加载 20,692,240 个顶点(147 个顶点/秒)总时间:35992453ms [0 个警告,4 个错误]
  • 提取 20,694,973 行(163 行/秒)- 20,694,973 行-> 加载 20,692,467 个顶点(162 个顶点/秒)总时间:35993851ms [0 个警告,4 个错误]
  • 提取 20,695,179 行(145 行/秒)- 20,695,179 行-> 加载 20,692,673 个顶点(145 个顶点/秒)总时间:35995262ms [0 个警告,4 个错误]

我试图在 etl 配置中启用并行,但看起来它在 Orient 2.2.12 中完全被破坏(与 2.1 中的多线程更改不一致?)并且在上面的日志中只给了我 4 个错误。哑并行模式(运行 2 个以上的 ETL 进程)也无法用于 plocal 连接。

我的配置:

数据样本:

{"_ref":"1072308006473","with_to":"person","with_id":"010703814320","_type":"is.stakeholder","value_of_share":10000.0} {"_ref":"1075837000095", "with_to":"person","with_id":"583600656732","_type":"is.stakeholder","value_of_share":15925.0} {"_ref":"1075837000095","with_to":"person"," with_id":"583600851010","_type":"is.stakeholder","value_of_share":33150.0}

服务器的规格是:Google Cloud 上的实例、PD-SSD、6CPU、18GB RAM。

顺便说一句,在同一台服务器上,我设法在使用远程连接导入顶点时达到约 3k/秒(它仍然太慢,但对于我当前的数据集来说是可以接受的)。

问题是:是否有任何可靠的方法可以提高导入速度,比如每秒插入 10k 或至少 5k?我不想关闭索引,它仍然是数百万条记录,而不是数十亿条记录。

更新

几个小时后,性能继续恶化。

  • 提取 23,146,912 行(56 行/秒)- 23,146,912 行-> 加载 23,144,406 个顶点(56 个顶点/秒)总时间:60886967ms [0 个警告,4 个错误]
  • 提取 23,146,981 行(69 行/秒)- 23,146,981 行-> 加载 23,144,475 个顶点(69 个顶点/秒)总时间:60887967ms [0 个警告,4 个错误]
  • 提取 23,147,075 行(39 行/秒)- 23,147,075 行-> 加载 23,144,570 个顶点(39 个顶点/秒)总时间:60890356ms [0 个警告,4 个错误]