标签: orientdb

错误:使用了Libtool库,但未定义"LIBTOOL"

我正在尝试automake使用OrientDb C++库,但是遇到了一些错误.

Makefile.am:10: error: Libtool library used but 'LIBTOOL' is undefined
Makefile.am:10:   The usual way to define 'LIBTOOL' is to add 'LT_INIT'
Makefile.am:10:   to 'configure.ac' and run 'aclocal' and 'autoconf' again.
Makefile.am:10:   If 'LT_INIT' is in 'configure.ac', make sure
Makefile.am:10:   its definition is in aclocal's search path.
Run Code Online (Sandbox Code Playgroud)

https://github.com/tglman/orientdb-c

https://github.com/tglman/orientdb-c/wiki/Install

我已经定义了configure.ac和Makefile.am.

我运行以下autotools

  • aclocal会

  • 和autoheader

  • automake的:

libtool(GNU libtool)2.4.2

configure.ac

# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.69])
AC_INIT([orientdb-c],[0.9])
AC_CONFIG_SRCDIR([src/o_query_internal.h])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE()

# …
Run Code Online (Sandbox Code Playgroud)

c linux autotools orientdb

107
推荐指数
3
解决办法
9万
查看次数

选择和更新oriento/orientjs中的多个记录和水线中的事务

如何在oriento中选择或更新多个记录?就像我在水线一样

offersModel.update({id:items_ids,status:INACTIVE},{status:ACTIVE})
Run Code Online (Sandbox Code Playgroud)

但在水线交易不可用.所以我想用:

var db = offersModel.getDB();
var trans = db.begin();
    trans.update('offers')
         .set({status:INACTIVE})
         .where({id:items_ids,status:ENM.SELLING_STATUS.ACTIVE})//.exec()
         .then(function(offers){ 
            if  (offers.length != items_ids.length) {trans.rollback(); /* send error here*/} 
            else trans.commit();
         })
Run Code Online (Sandbox Code Playgroud)

谢谢.

database orientdb sails.js waterline sails-orientdb

54
推荐指数
1
解决办法
1451
查看次数

图表数据库与三重商店 - 何时使用哪个?

我知道Stackoverflow上有类似的问题,但我觉得他们没有回答以下问题.

图表数据库对我的理解存储数据主要遵循以下模式:

Table/Collection 1: store nodes with UID
Table/Collection 2: store relations referencing nodes via UID
Run Code Online (Sandbox Code Playgroud)

这允许存储任意类型的图形.现在据我所知,三重商店只存储三元组:

Triple/Collection 1: store triples (2 nodes, 1 relation)
Run Code Online (Sandbox Code Playgroud)

现在我将看到有关用例的以下区别:

  • 图形数据库:当您知道静态连接时
  • 三重存储:当您有松散连接的节点并且经常寻找新连接时

我很困惑的是,人们似乎根据这些标准没有讨论使用哪一个.我发现的大多数文章都在谈论速度或兼容性等论点.但这不是最重要的一点吗?

反过来说:

  • 想象一下,有一个清晰连接,用户定义的图形.为什么你只想将它存储为三元组,丢失所有关于连接的信息?或者必须实现在三元组中存储ID的一些自定义解决方案subject.
  • 想象一下,使用SPARQL松散地收集了要查询未知关系的节点.图数据库支持这一点.但为此,他们必须建立另一个我认为会更慢的指数吗?

编辑:我看到"失去关于连接的信息"是错误的方式.如果您按照接受的答案中所示执行操作并为2个节点+ 1个关系插入多个三元组,那么您将保留所有信息,特别是信息确切的节点连接的信息.

sparql triplestore neo4j graph-databases orientdb

50
推荐指数
1
解决办法
1万
查看次数

MongoDB + Neo4J与OrientDB对比ArangoDB

我目前正处于MMO浏览器游戏的设计阶段,游戏将包括一些实时位置的瓦片地图(因此每个单元格的瓦片数据)和一般世界地图.我更喜欢使用MongoDB进行持久数据世界的游戏引擎.

我还将实现一个运输模拟(我将在下面详细解释),它基本上是一个Dijkstra模块,我已经决定使用图形数据库,希望它能让事情变得更容易,因为它很受欢迎.

我对MongoDB + Neo4J设置感到满意,但后来注意到了OrientDB,它看起来像MongoDB和Neo4J(两者都是最好的?),甚至还有MongoDB和Neo4J的VS页面.

重点是,我听到一些关于MongoDB丢失数据的恐怖故事(尽管不确定它仍然存在)并且我没有这样的奢侈品.而对于Neo4J,我不是每年12K€的"忠实启动"成本的忠实粉丝,尽管我可能没有数百万的顶点数据库.OrientDB似乎是一个可行的选择,因为可能还有一些使用一个数据库解决方案的机会.

在这种情况下,一个逻辑移动可能会跳转到OrientDB,但它有一个小社区,并且没有找到很多关于它的评论,MongoDB和Neo4J是广泛使用的流行工具,我担心如果OrientDB是冒险.

我的第一个问题是,如果您对这些数据库有任何经验/意见.

第二个问题是其图形数据库是一个航运仿真更好.使用数据库有望计算从任何顶点到任何顶点的最便宜路线并遍历它(经典Dijkstra).但也必须根据"国家B对国家A禁运的情况改变权重,因此任何来自A国的物品都不能通过B,在XYZ地区有洪水,因此无法进行陆路运输"等.此外,该数据库预计会缓存结果.我希望不超过1000个顶点,但边缘很多.

如果问题有点含糊,请提前致谢并提前道歉

PS:我在标题上添加了ArangoDB,但是没有太多机会去看看.


截至2016年4月18日的后期编辑:在评估了对我的问题和发展策略的反应之后,我决定使用ArangoDB,因为他们的路线图对我来说更有希望,因为他们显然没有尝试添加大量半炒的炒作功能.

dijkstra mongodb neo4j orientdb arangodb

45
推荐指数
3
解决办法
3万
查看次数

体验OrientDB与Neo4j

我正在为项目寻找合适的Graph DB.我测试了Neo4j并且非常喜欢它.但是AGPL许可问题让我有所帮助(你可以在这里阅读).

然后我发现了一些声称OrientDB实际上更快的文章.但它们并不是最新的.你在这里这里找到它们.它在Apache 2下获得许可,这很好.

所以我只想向stackoverflow的优秀人士询问您的意见.

  • 可扩展性非常重要,OrientDB声称它更好(这里)
  • 许可应该是开放的
  • 我有一个复杂的顶点/边缘模型,需要检索最多3层深度的关系
  • OrientDB提供的文档图形混合似乎是一个好处

感谢您的反馈意见!

neo4j graph-databases orientdb

42
推荐指数
1
解决办法
2万
查看次数

选择多模型DBMS时需要考虑哪些因素?(OrientDB与ArangoDB)

我希望能够进入多模型DBMS的世界,我没有特别的用例,只想开始学习.

我发现有两个突出的东西 - OrientDBArangoDB,但无法找到任何有意义的比较,在它们之间不受影响.有人能否解释两者之间的功能差异,以及使用其中一个的警告?如果我学会了一个,我能够轻松过渡到另一个吗?

(我也标记了FoundationDB,但它是专有的,我可能不会考虑它)

这个问题要求对想要了解多模型DBMS的进行 OrientDB与ArangoDB之间的一般比较,而不是关于哪个更好的自以为是的答案.

database orientdb arangodb foundationdb multi-model-database

28
推荐指数
1
解决办法
5260
查看次数

在OrientDB Studio中显示节点标签

我正在尝试让OrientDB Studio显示一个字符串作为每个节点的标签,就像Susheel Kumar的截图一样

但是,当我运行Susheel的代码(下面发布的后代代码)时,所有节点都显示为其@rid字段标记,如此屏幕截图:

问题:是否有自动显示所有这些标签的方法?

我可以通过单击(1)节点,(2)"眼睛"符号,(3)设置符号,然后从下拉菜单中选择"名称",告诉单个节点将其"名称"字段显示为标签,但是当我拥有大量节点时,这是不可能的.这似乎是在定义"Person"节点类时你要做的事情,但我在Susheel的代码(下面发布)中没有看到这个,并且我无法联系到他.

对于我的应用程序,如果我无法可视化节点标签,可视化基本上是无用的,所以任何帮助将非常感激:)

下面是我从Susheel的OrientDB简介中获取的代码,用于制作我的截图:


    -- Create a class Person and add two properties lastName & firstName using below commands
    create class Person extends V;
    create property Person.lastName string;
    create property Person.firstName string;

    -- Create a class Employee which extends from Person & add few properties to it
    create class Employee extends Person;
    create property Employee.empno integer;
    create property Employee.sal integer;

    -- Create a class Department extends from V
    create class Department extends V;
    create …

orientdb

24
推荐指数
1
解决办法
1151
查看次数

炒作图数据库...为什么?

围绕图形数据库有一些炒作.我想知道为什么.

在今天可以使用图形数据库解决的Web环境中,可以遇到的问题是什么?图形数据库是否适用于经典应用程序,即可以用作关系数据库的替代品吗?所以实际上这是两个问题.

相关: 有没有人使用基于图形的数据库(http://neo4j.org/)?

neo4j graph-databases orientdb rexster

21
推荐指数
1
解决办法
6153
查看次数

什么(in_memory)图形DB如果聚焦建模数据

我没有想法,希望得到一些有用的意见.我正在使用这个问题来压缩我的经验并分享它们,希望激励一些经销商进一步将图形数据库建模作为一流的问题/方式.

我已经验证了node.js可以使用的一些图形数据库解决方案几周.我的用例是保存不同社交用户网络帐户的交互.需要以最有效的方式使用CPU和内存.

我最重要的要求是:

  • in_memory(至少用于编制索引)
  • 开源(并免费使用)
  • 与一等公民相同的JavaScript/Node.js表现
  • 舒适的查询和建模语言

Neo4j的

我真的很喜欢密码,所以我最好的选择是Neo4j.但是关于Neo4j的主要问题是JavaScript访问是非原生的.它使用的REST-API 比直接Java访问慢大约十倍(10倍).所以我看了一下node-neo4j-embedded,但它已经处于非活动状态超过两年了.看起来它的作者根本不活跃(坏迹象).

ArangoDB

ArangoDB非常好的核心开发人员回答了关于内部的问题.最后,它意味着JavaScript是一流的公民,因为本机查询可以被推出JS.看看开源基准测试,我认为这是公平的.但我担心他们没有使用node-neo4j-embedded作为他们的基准.基准测试比较REST-API(由于@weinberger评论而编辑).我希望他们比较本机API(也许有人足够snoopy并尝试一下! - 让我们知道!).更新:正如我现在注意到的那样,OrientDB 用新的node.js驱动程序回答了基准测试(通过启动服务器使用命令高速缓存)-Dcommand.cache.enabled = true -Dcommand.cache.minExecutionTime = 3,什么是不公平的,因为它不是查询缓存基准!)

因为我喜欢使用ArangoDB作为图形数据库,所以我有3个选择(来源:FAQ):

一般来说,它像cypher一样不舒服.我不确定如何比较以及建模数据的正确方法(如Neo4J解释得很好).我很想为ArangoDB Graphs提供类似的东西.感觉ArangoDB专注于图形操作,如果你有更多的关系而不是行,Neo4J更符合使用图形的需要(使用图形而不是连接关系的原因).

MongoDB的

基于文档的MongoDB没有针对图形操作进行优化,但后来获得了实验性的内存存储引擎.还有一些项目是in_memory或图形相关,但没有什么是真正引人注目的.在本次讨论中,看起来MongoDB并不是我喜欢使用的.

OrientDB

因为有一个关于OrientDB和MongoDB的比较(来自OrientDB),我虽然即将使用这个." OrientDB有一个混合的Document-Graph引擎 …

neo4j node.js orientdb arangodb lokijs

21
推荐指数
1
解决办法
1233
查看次数

Nexus Repository版本3.2.0-01中的OrientDB损坏状态

我们正在使用Nexus Repository版本3.2.0-01并开始在nexus.log中收到以下错误.OrientDB已损坏.Nexus不再开始了.

2017-03-21 13:00:36,329+0000 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.internal.orient.DatabaseServerImpl - OrientDB version: 2.2.13
2017-03-21 13:00:36,348+0000 INFO  [FelixStartLevel] *SYSTEM com.orientechnologies.orient.server.OServer - OrientDB Server v2.2.13 is starting up...
2017-03-21 13:00:36,355+0000 INFO  [FelixStartLevel] *SYSTEM com.orientechnologies.orient.server.OServer - Databases directory: /c9/setup/apps/nexus/sonatype-work/nexus3/db
2017-03-21 13:00:36,647+0000 WARN  [FelixStartLevel] *SYSTEM com.orientechnologies - Not enough physical memory available for DISKCACHE: 1,873MB (heap=1,161MB direct=2,048MB). Set lower Maximum Heap (-Xmx setting on JVM) and restart OrientDB. Now running with DISKCACHE=256MB
2017-03-21 13:00:36,648+0000 INFO  [FelixStartLevel] *SYSTEM com.orientechnologies - OrientDB config DISKCACHE=256MB (heap=1,161MB direct=2,048MB os=1,873MB) …
Run Code Online (Sandbox Code Playgroud)

nexus orientdb nexus3

17
推荐指数
4
解决办法
1万
查看次数