2011-02-07 63 views
13

我想问一个很好的triplestore用于大型数据集,它应该:Triplestore对于大型数据集

  • 很好地扩展(百万三元)
  • 有一个Java接口
+0

哪个平台? – 2011-02-07 14:07:26

回答

9

您应该考虑使用OpenLink Virtuoso商店。它可以通过OpenSource许可证获得,并可扩展到数十亿的三倍。您可以通过Sesame和Jena API使用它。

请参阅here关于大型三重商店的概述。 Virtuoso绝对比BigData更容易设置。除此之外,我已经使用了芝麻NativeStore,它不太好。

4Store也是一个不错的选择,虽然我还没有用过它。 Virtuoso超过4Store的一个好处是您可以轻松地将标准关系模型与RDF混合使用,因为Virtuoso处于关系数据库之下。

6

4store: Scalable RDF storage

报价4store网页...

4store的主要优势是其 的性能,可扩展性和稳定性 。除RDF存储 和SPARQL查询外,它不提供许多 功能,但如果您的是 寻找可扩展,安全,快速的 和高效的RDF存储,则4store 应位于您的短名单中。

就我个人而言,我已经测试了具有非常大的数据库(高达20亿个三元组)的4store,结果非常好。 4store是用C编写的,运行在Linux/Unix 64位平台上,当前版本1.1.1部分实现了SPARQL 1.1

4store可以部署在商用服务器集群上,这可能会提高查询性能,并且断言吞吐量可能高达100 KTriples /秒。但即使你在一台服务器上使用它,你也会获得相当不错的表现。

在南安普敦大学,我们在研究项目和我们的网站站长团队中选择非常大的数据集,请参阅Data Stores for Southampton and ECS Open Data

在这里,您还可以查看和管理4store Client Libraries所有库的列表。此外,4store's IRC channel有一个活跃的用户社区,如果遇到任何问题,它们都会有所帮助。

如果你是Linux/Unix用户4store绝对是一个不错的选择。

5

我也建议4store,但在完全公开的精神,我是首席架构师:)

如果你想利用RDF存储标准化的优势,那么你应该使用Java库它实现SPARQL,而不是使用本机公开JAVA API的。

否则,由于在它们之间移动,这是典型的SQL迁移地狱,您可能最终会被第一个选择的商店卡住。

+0

+1绝对选择一个通用/足够抽象的API(无论您的目标平台),以便在/需要时移动到不同的存储区是相对无痛的 – RobV 2011-02-08 10:27:15

3

我个人对GraphDB很满意。它在中等硬件(256GB RAM服务器)上运行得非常好,拥有150亿个三元组。通过芝麻和jena界面都可以访问。 (虽然jena beta'ish)。

如果您负担得起,Oracle 12c实例并不坏。并可能适合现有的Oracle基础架构(备份等)。

Virtuoso 7.1规模很好,可以处理合理成本的庞大数据量。不幸的是,它的SPARQL标准符合标准

1

@Steve - 不知道如何评论,所以我想我会一次回答2个问题。

JDBC驱动下面SPARQL:

http://code.google.com/p/jdbc4sparql/

支持SPARQL协议和SPARUL(通过SPARQL协议作为更新,而不是在SPARUL协议)。

@myahya

4Store强烈推荐,所以值得评价为候选人。

炫技也有本地的JDBC驱动程序,并支持大型数据集(最多12个十亿三元)

www.openlinksw.com/wiki/main/Main/

此外,甲骨文有一些,但要准备花大价钱:

http://www.oracle.com/technetwork/database/options/semantic-tech/index.html