是否有任何企业级数据库引擎(如Oracle、MS SQL等)可以处理大型RDF数据集(320万个)和SPARQL查询?我想我的问题也是:SPARQL/RDF/OWL是否准备好为企业服务的大型现实世界数据仓库?如果不是,那么是否有有效的机制来使SPARQL/RDF适应典型的数据仓库星型模式。
谢谢!
是否有任何企业级数据库引擎(如Oracle、MS SQL等)可以处理大型RDF数据集(320万个)和SPARQL查询?我想我的问题也是:SPARQL/RDF/OWL是否准备好为企业服务的大型现实世界数据仓库?如果不是,那么是否有有效的机制来使SPARQL/RDF适应典型的数据仓库星型模式。
谢谢!
我在W3C维基上维护了一个大型三元组存储列表:
http://esw.w3.org/topic/LargeTripleStores
已知有7个三元组存储可以容纳超过十亿个三元组,其中四个是开源的。如果您有更多的信息,请更新上述维基页面。
显然,性能取决于您使用它的方式。我在一个大规模的工业项目中使用Virtuoso,它运行非常快速。
根据Kaarel的建议,今年在ISWC展示的其中一篇文章使用了4store,虽然竞争对手将其设置为某种奇怪的配置,但是Gralik(开发4store的公司)的CTO向我和同事们描述了这种“疯狂”的配置,但4store可以胜任那样的规模-http://4store.org
此外,Virtuoso也支持这种规模的存储,他们有一个实时应用程序,您可以使用它来查询大多数主要的LOD(链接开放数据)数据源,总计约90亿个三元组
Virtuoso - http://virtuoso.openlinksw.com
LOD应用程序 - http://lod.openlinksw.com/sparql
Intellidimension 提供了一种名为语义服务器的解决方案,它是在Microsoft的SQL Server 2005或2008之上开发的。它可以轻松扩展到数亿个三元组,我知道他们至少有一个客户正在愉快地运行超过十亿条语句的企业部署。
我是他们的客户之一,处理的数据集大于1亿。我们的计划是向数十亿条语句迈进。
4store看起来是一个不错的解决方案,但目前文档相当稀少,而且我上次查看时似乎没有从图表中删除单个三元组的功能。
我也建议看一下BigData
以下是他们主页上对其服务的概括引用。
Bigdata(R)是一种开源的可扩展存储和计算架构,支持可选事务、非常高的并发性和非常高的总体IO速率。Bigdata从基础开始就被设计为分布式数据库架构,针对在100到1000个机器的集群上运行的非常高的总体IO速率进行了优化,但也可以在单服务器模式下运行。Bigdata提供了类似于Google文件系统的分布式文件系统,但也适用于工作流队列,一个类似于Google广泛认可的bigtable项目的数据可扩展稀疏行存储以及用于在集群上并行化数据密集型工作流程的map/reduce处理。