目前图数据库软件七种较为流行:Neo4J, Infinite Graph, DEX,InfoGrid, HyperGraphDB, Trinity, AllegroGraph(http://tech.it168.com/a2012/0112/1302/000001302117_all.shtml)
• Neo4j - 开源的Java属性图形模型
• AllegroGraph,闭源,RDF-QuadStore
• HyergraphDB - 开源的Java超图模型
此外还有
• Sones - 闭源,关注于.NET
• Virtuoso - 闭源,关注于RDF
• Others like Filament、FlockDB等。
要想选择NoSQL数据库,首先需要对其类型有所了解,目前NoSQL数据库主要分析四大类型:文档型数据库、键值存储、列式存储和图数据库。作为NoSQL数据库,它们都具备扩展性强、动态的数据库设计等特点。但每种类型又都有各自的特性。Gartner分析师Nick Heudecker表示:“要选择一种NoSQL数据库,你需要先了解自己的数据,其次了解你的应用需要如何使用这些数据。”
文档数据库适合多种数据类型
例如,文档数据库经常用于内容管理系统,收集和处理来自网页和移动应用的数据,比如应用监控。顾名思义,文档数据库以类似文档的结构存储数据,可以采用无模式的形式。MongoDB、CouchDB、Couchbase Server和MarkLogic是典型的文档数据库。
Simone介绍到,花旗集团使用MongoDB解决了网络金融应用的数据复制问题。最开始,这一应用是建立在关系型数据库上的,但是由于数据结构多种多样,所以关系型数据库处理起来特别慢,而且经常出错。“我们很快认识到,数据格式已经成为一种挑战。”
而对于高速演进的应用程序,MongoDB特别适合支持这种动态模式。Simone表示使用MongoDB以后,他们可以对任何数据进行建模。而且,建模速度也快了很多。开发团队只需要4个月就可以构建出预生产模型。
键值数据库简化IT
诸如Redis、Aerospike和Riak等键值数据库是形式最简单的NoSQL软件。数据中的每一个值都有专门的键(key)与之匹配,能够实现针对相对简单数据集的超快应用性能。美国咨询和技术服务供应商Caserta Concepts总裁Joe Caserta表示:“键值存储是轻量级的,用户可以实现秒级的浏览和查询。”
Flywheel软件公司是国外提供打车软件的公司,它采用Basho开发Riak软件支持移动应用。Flywheel的前首席架构师Cuyler Jones介绍到,他还在任的时候,数据库还可以通过扩展应对峰值,不过因为Riak的高可用性和对持续的数据访问的支持,公司已经采用了Riak。
列式数据库应对海量数据
列式存储在拥有大量列的表中存储数据,在处理大数据集的时候,就可以具备更高的性能和扩展性。通常应用于互联网搜索、其他大规模的网页应用和PB级的分析应用,典型的列式数据库包括Accumulo、Cassandra和HBase
2012年,Ancestry.com推出的DNA匹配应用采用的就是列式存储。开发经理Jeremy Pollack介绍到,公司是家族历史数据的线上供应商,公司在计算DNA的时候采用的HBase+Hadoop的架构,顾客可以通过他们网站追溯自己的家族背景、地理起源,并且寻找亲属。
Pollack说到,HBase应用起来很麻烦(+本站微信networkworldweixin),要想获得理想的性能,需要大量的调试。HBase有上百万个按钮,根本就是个体力活。不过,应用了NoSQL技术,Ancestry能够快速匹配70万新数据,并存储了大量的DNA样本。
图数据库表现数据关系
图数据库,以InfiniteGraph和Neo4j为代表,以类似于图的结构存储数据,便于探索数据之间的联系,可应用于产品推荐和社交网络。英国医疗网站HealthUnlocked的技术负责人Alex Trofymenko表示,图数据库可以用来匹配不同人之间和人与兴趣之间的关系。
Trofymenko表示,公司使用的是Neo技术公司提供的Neo4j。“我们可以从图数据库中获得很多信息,比如某个用户更关注糖尿病问题还是更关注体育锻炼”这对于网站来说很重要,我们可以在成百上千的搜索记录中找到用户和相关健康问题的关系,搭建一个数据平台,帮助用户找到合适的治疗方法和保健服务。
转自网界网:http://software.cnw.com.cn/software-database/htm2014/20140817_310141.shtml