NoSQL的优点是
- 支持海量数据的快速读写
- 支持分布式计算
- 扩展性好
- 无Schema模式易于以迭代法建立系统(表结构易变)
- ……
它也有很大缺点:
- 不支持联接(Join)运算;
- 不支持标准查询语言;
- 太多的方案、工具,缺乏标准;
- ……
RDF数据具有的优点:
- 标准化
- 数据模型简单
- 支持标准的查询语言SPARQL
- 作为Native的网络数据,天然具有分布式、去中心化特征,数据可以存放于网络上的任何地方,用HTTP URI标识即可
- 支持网络数据的标准格式:XML/JSON/TURTL/N3/N-QUADS等
- 支持网络交换的标准协议:REST,SOAP,HTTP GET等
如采用NoSQL存放RDF数据,立刻具有如下优势:
- 支持Web Scale管理
- 标准化
- 互操作性好
- 支持语义集成
目前各类NoSQL对RDF的支持(来自小夏,待修改):
- Apache Cassandra 有插件 RDF.rb 和 Cumulus 支持RDF数据
- Apache CouchDB 是一个存储JSON格式文档的“文档型”数据库,有组件 JSON-LD (JavaScript Object Notation for Linked Data)
- RDFgrid 是建立在Hadoop和Amazon的 Elastic MapReduce (EMR)基础上的RDF数据处理框架,这里有一些在Hadoop/MapReduce上处理RDF数据的最佳实践。
- Amazon SimpleDB 是一个分布式的数据库,有系统处理RDF数据的经验。
- 键值数据库Riak ,NoSQL的主要类型,也有人探索用它来存储RDF数据的方法。
- Sindice是一个著名的语义搜索引擎,它也使用了 Hadoop和其它的NoSQL解决方案。
- Neo4j 是一个基于Java的“图(Graph)”数据库,NoSQL的第四种类型,是NoSQL班级的新生,RDF数据处理是其内置的功能。
W3C的RDB2RDF直接支持关系数据库发布成RDF,NoSQL的优势在:
- 支持独立的可插拔的索引工具 (关系数据库的索引在数据量很大且数据不规范时很难建立)
- 支持批处理,特别是批量导入RDF数据 (对于关系数据库来说,RDB2RDF不难,但反过来就不容易了)
- 支持SPARQL查询语言 ,课跨库跨网检索。
留下评论