问题标签 [orientdb]

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 回答
1161 浏览

orientdb - OrientDB 的索引方案是什么?

就像问题说的那样。您是否需要将文档添加到明确的索引中?还是自动二级索引?

0 投票
1 回答
1269 浏览

console - OrientDB GraphED - 可以自定义记录标识符吗?搜索 150 万条记录非常慢

Orient 版本:官方分发 OrientDB Graph Edition 1.0.1

我正在尝试使用 OrientDB SQL 插入构建蓝图兼容图(比 g.addVertex 快并且没有 OutOfMemory 错误)。

创建 150 万条记录时,通过控制台(批处理)插入的时间比预期的要长(四核 i7 上为 13 分钟),并且通过“名称”字段搜索非常慢(2 分钟)。

出于测试目的,我们有一个非常简单的导入 sql 文件,它尝试创建与两个设置参数 name:account_id 和 type:account_type 以及空输入/输出数组兼容的蓝图顶点。

进口.ornt:

注意:最好能够将记录标识符设置为我们预先存在的 account_id。但我不确定如何尝试这个。

上面的 sql 最终约为 100MB,我通过控制台运行它(console.sh 包括优化-Dmvrbtree.optimizeThreshold=-1):

在这一点上,我们有了基本的 OrientDB 图形,其中 OGraphVertex 类大约有 150 万个顶点。

使用控制台,通过 Orient SQL 或 Gremlin/Pipes 进行选择需要很长时间:

使用 OrientDB SQL 或 Gremlin 大约需要 2 分钟!

作为一种潜在的解决方法,最好将记录标识符设置为来自 MySQL 数据库源的原始帐户 ID。是否可以有自定义记录 ID?

例如,由于我们会在开始遍历时知道 account_id(例如 1149400),所以理想的情况是:

0.054000 比 112.531 快很多!!

0 投票
2 回答
3819 浏览

sql - OrientDB GraphED - SQL 在两个(选择顶点 RID)之间插入边?或非常大的进口替代方法

例如,OrientDB Graph 中的两个简单顶点:

有没有办法通过只知道它们的“标签”而不是它们的“RID”来在这两个顶点之间创建一条边?

例如(不起作用):

我已经尝试将“FLATTEN”作为一种潜在的解决方法。没运气:

创建的边在null和之间null。没有骰子。

我希望为此使用 OrientDB SQL,因为我有大量的连接导入并且 SQL 方法似乎更快。

但是,如果这是不可能的,关于批量导入边缘(大约 2M)的替代方案有什么建议吗?

0 投票
1 回答
1211 浏览

bigdata - OrientDB GraphDatabase:@RID 的 OSQLSynchQuery 以获取 graph.getVertex(rid) ...从索引键加载顶点的最快方法?

给定带有索引“名称”(唯一或非唯一)的基本蓝图兼容 OrientGraph,如果需要,有什么建议可以改进以下内容?

注意:我找不到使用索引加载 [blueprints] 顶点的权威指南。我有一个大图,使用 has('name','bob') (在控制台中)需要 2 分钟!另一方面,基于索引的搜索以毫秒为单位返回。

到目前为止我想出的最好的:

0 投票
1 回答
1757 浏览

dijkstra - 使用 Gremlin 的 Dijkstra 算法

我想在 Gremlin 中实现 Dijkstra 的算法,以创建一个仅包含最短路径的全网格图。

我在 OrientDB 数据库之上使用 Gremlin。由于Furnace中的最短路径算法还没有实现,所以需要自己实现。我了解 Gremlin 的基本工作原理,但我目前坚持使用它。

我也可以用 Java 编写它,但我需要 Gremlin 解决方案的灵活性。如何才能做到这一点?

0 投票
1 回答
304 浏览

java - 在 Java 小程序中运行 OrientDB

编辑:找到解决方案。在 Maven 构建过程中缩小代码是一个问题。在 Java Applet 中运行 OrientDB 是可能的。

我在 Java Applet 中启动内存 OrientDB 时遇到问题。我使用带有 OrientDB 版本 1.0.1 的签名 Applet。有人在 Applet 中实现了 OrientDB 并且可以验证这是可能的,或者可以帮助我解决这个异常吗?

我得到的例外:

我启动数据库的 Applet 代码:

0 投票
1 回答
490 浏览

java - OrientDB bean 唯一字段

我正在尝试为 OrientDB 创建唯一的 bean 字段,但找不到仅找到 @Id @Version 注释的方法。我作为对象数据库工作。

0 投票
2 回答
4492 浏览

java - OrientDB 行数

如何从 Object DB 获取 Java 中的特定行数?

我需要得到查询的结果,例如: SELECT COUNT(id) FROM Users WHERE banned=true

0 投票
3 回答
8902 浏览

java - 在 OrientDB 中查询嵌入列表

我的 OrientDB 数据库(版本 1.0.1)中有一个文档,其结构大致如下:

我如何查询整个列表,例如。如果我想查找所有包含“忽略”类型的测试用例的文档?

我尝试了以下查询

但这会导致NumberFormatException.

有效,但显然只查看每个文档的第一个列表元素。

不提供任何结果,但查询被接受为有效。

更新: 如果测试用例存储为单独的文档而不是嵌入列表,则以下查询按预期工作。

0 投票
1 回答
761 浏览

database-design - OrientDB -- twitter 之类的实现和排序

我正在构建一个简单的图表,我想请教你如何做到这一点的建议,这样当它添加更多的顶点和边时,它仍然会表现得很好。我的图表布局是这样的。

这是我的查询:

当我进行分页(例如显示更多活动)时,我只需将其添加到where clause

上面是1234显示的最后一个活动的 id。

当一个人关注 < 10 个用户并且每个用户有 < 500 个活动时,这一切正常。但是当它变得更大时,它会对order by按日期对所有活动进行排序以向用户呈现活动流的子句施加压力。

我想知道推特是怎么做到的?是否有一些设计原则,即使是那些不严格与 OrientDB 相关的,我还没有应用这将使这成为可能?