技术开发 频道

图形数据库之争:Neo4J与Infinite Graph

  2. Infinite Graph (Objectivity Inc.出品)

  InfiniteGraph 是一款由Objectivity公司推出的图形类数据库,该公司还推出过一款同名的对象类数据库。免费许可版本只能支持最高100万节点及边线总数。InfiniteGraph需要作为服务项目加以安装,这与以MySQL为代表的传统数据库颇为相似。InfiniteGraph借鉴了Objectivity/DB中的面向对象概念,因此其中的每一个节点及边线都算作一个对象。尤其是:

  ·所有节点类都将扩展BaseVertex基本类;

  ·所有边线类都将扩展BaseEdge基本类。

  在 http://wiki.infinitegraph.com/w/index.php?title=Tutorial:_Hello_Graph!中所显示的展示页面中,假设人是一个节点类、而会议算作为边线类。以下是将一条边线加入到两个节点之间的代码:

  Person john = new Person("John", "Hello ");

  helloGraphDB.addVertex(john);

  Person dana
= new Person("Dana", "Database!");

  helloGraphDB.addVertex(dana);

  Meeting meeting1
= new Meeting("NY", "Graph");

图形数据库之争:Neo4J与Infinite Graph
▲图三

  InfiniteGraph还提供了一套可视化工具用以查看数据。由上述代码所生成的边线将如图三所示呈现出可视化效果。相比Neo4J在图一中所展现的图形模型,InfiniteGraph能够支持同时具备多种不同类别/类的节点。请注意,Neo4J中的键-值对能够对应InfiniteGraph类中的成员变量。

  缺点:

  ·作为服务项目进行安装本身没什么问题,但配置过程完全可以更简单些。

  ·由于节点与边线都能成为用户的定义对象,因此在灵活性得到保证的情况下,作者怀疑当其处理庞大的图形结构时,性能方面将受到严重影响。请大家记住,NoSQL数据库一直以来所赢得的广泛关注都建立在其始终傲人的性能表现上。

1
相关文章