janusG迁移nebulaG相关问题咨询

  • 需求原因
    我们在将atlas底层图引擎janusG迁移到nebulaG,发现一些问题

  • 需求描述

  1. janusG中给节点或边复制属性时,可以直接调用property api,无需提前创建tag之类的schema,nebulG中有没有好的办法做类似的兼容
  2. janusG中顶点的property name支持以下划线开头,但nebulaG中创建tag时,schema不能以下划线开始,这块兼容性有没有考虑
  3. janusG中有比较完善的api进行crud相关操作,nebulaG只支持nGQL,灵活性有所不足,有没有相关计划
  4. nebulaG有没有支持tinkerpop的相关计划

给个例子?

核心在于Nebula Graph是一款独立的产品 而不是在兼容 Janus Graph

1 个赞

据我所知 暂时没有类似计划

附议

可以参考这个:AbstractVertex - janusgraph-core 0.5.3 javadoc

janusG中给顶点加属性时,直接调用vertex.property(k, v),其中v支持各种类型

关键在于nebulaG出现之前,大家已经在使用其他图引擎。想迁移到nebulaG,如果不兼容的话,迁移成本会比较高。
同时,感觉这样可能也不利于nebulaG的推广哈~

1 个赞

迁移固然重要 但为了迁就兼容性 而影响设计的简洁 是不合适的

1 个赞

大家的data model并不一样,兼容并不容易做。
titan 或者 janus 和nebula的设计目的就不一样。
janus并不适合做大并发,低时延,读写混合的场景。

Hi,我是 Nebula Graph 的运营:清蒸,我把这个 card 的内容给我们的技术委员会评审了,以下是他们的意见哈:

  1. 我们(Nebula)是 schema,不是 schema-less。
  2. 因为我们有些保留字是下划线,可以放开,为了兼容 Cypher,下个 release (版本)会认真考虑
  3. 和 4. 我们会规划,但是目前开发任务有点重,所以优先级不是很高,如果 zhaorongsheng 可以参与进来一块做,给我们提 pr 呀
3 个赞

不知道你们有没有公安的客户,公安里有相关标准,只能用cypher或gremlin。如果不支持的话会影响推广

用cypher啊

感谢哈~ 后续尝试下

1 个赞

还有俩问题,麻烦问下能否解决哈

  1. 当一个tag有多个property时,我们按property查询时,必须建索引或组合索引,这样当一个tag里有不少property时,就要建立很多的索引,这块麻烦看下能否优化下哈
  2. 当前不支持全文索引+普通索引一起使用,我们只能用intersect做了个trick,这块有没有计划支持?
1 个赞

感谢你的建议,关于索引表达式这些我们一直在持续优化中,问下你的实际业务场景和需求是什么?

我们是将atlas底层图引擎替换为nebula,简单来说,就是在nebula中存放元数据信息,包括hdfs path、hive db、hive table、spark process等。
每种不同的类型,需要建不同的tag,比如hive table的tag的schema包括uuid string, name string, owner string, desc string, size int64, business_metadata string等。
需要根据name、owner、desc、business_metadata等一列或多列组合,进行模糊或精确查找。

1 个赞

谢谢您的建议,我们将对此功能进行排期。
@steam

1 个赞

楼主最后是怎么解决的呢?将atlas 中的janusG换成nebulaG