初始Titan

from:http://blog.csdn.net/u010039929/article/details/77775100?locationNum=1&fps=1


     Titan 是一个可扩展的图形数据库,完美结合HBase、Cassandra、BerkeleyDB提供存储功能,ES、Lucene、Solar提供索引功能,可利用Hadoop计算框架对图数据进行分析、统计。经过优化,可用于存储和索引分布于多节点集群的百亿级顶点和边的图,同时,Titan又是一个事务数据库,可以支持数千个并发用户实时执行复杂图形遍历。 
        一 Titan数据库简介 
1.1简介 
        从某种程度上来讲,Titan并不是数据库,可以称之为一个数据库之上的客户端库,它既不提供存储功能也不提供索引功能。它依赖于底层的存储引擎,比如:HBase、Cassandra、BerkeleyDB,来存储其数据,同时依赖于索引引擎,比如:Lucene、ElasticSearch或者Solr,提供的索引服务,这些也为Titan的可扩展性的标记。非常容易搭建大规模的Titan开发和生产环境,只要个人或者公司的技术栈中存在上面提到的技术,就可以搭建出Titan的分布式数据库系统。 
        Titan是一个开箱即用的配置系统,也就是说,只要本地或者集群中已成功运行HBase、Cassandra和Lucene、ElasticSearch、Solr中的组件就可以单独或者组合提供服务,Titan提供相应的配置文件,对底层选用的组件进行配置。 
        Titan除了提供存储、查询和事物功能还提供如下功能: 
                 不断增长的数据和用户群弹性扩展; 
                 采用数据分布式存储和备份机制提供性能、容错的保证; 
                 多数据中心高可用性和热备份; 
                 支持ACID和最终的一致性; 
                 支持各种存储后端: 
                         Apache Cassandra 
                        Apache HBase 
                         Oracle BerkeleyDB 
                 通过与大数据平台的集成,支持全局图形数据分析,报告和ETL: 
                        Apache Spark 
                        Apache Giraph 
                        Apache Hadoop 
                 通过对以下组件的集成支持地理,数字范围和全文搜索: 
                        ElasticSearch 
                        Solr 
                        Lucene 
                 开放源码,供二次开发。 
        1.2 框架简介 
                Titan是一个图形数据库引擎,其本身专注于紧凑图表序列化,丰富的图形数据建模和高效的查询执行。此外,Titan还利用Hadoop进行图形分析和批处理。同时,实现强大的模块化接口,用于数据持久性,数据索引和客户端访问。Titan的模块化架构使其能够与广泛的存储,索引和客户端技术进行互操作,它也简化了扩展Titan来支持新的操作。 
其架构如下图所示: 

这里写图片描述

        Titan与底层磁盘之间存在一个或多个存储和索引适配器,至少需要Apache Cassandra 、Apache HBase、Oracle BerkeleyDB中的一个或者其它第三方组件作为存储后端,提供存储功能;至少需要ElasticSearch、Solr、Lucene中的一个或者其它第三方组件作为索引引擎提供索引功能。 
        Titan提供三种交互接口,分别是:TitanGraph API、TinkerPop Stack和Blueprints API。通过TitanGraph API将Titan嵌入应用程序,直接执行Gremlin查询操作图,在查询执行的过程中,Titan的缓存和事务处理都发生在与应用程序相同的JVM中,而存储后端执行的数据检索可能位于本地或远程。另外,通过向服务器提交Gremlin查询来与本地或远程Titan实例进行交互,Titan本身支持Tinkerpop堆栈的Gremlin Server组件。 
        Titan具有以下特性: 
1. 支持大规模图集,其规模随着机群中的节点扩展而扩展; 
2. 支持大规模并发事务及图操作,Titan的事务处理能力随着集群节点的扩展而扩展,并且对于复杂的遍历和查询达到毫秒级的反应速度; 
3. 通过Hadoop框架集成支持对图形的全局图分析和批处理操作; 
4. 支持超大图形上的地理,数字范围和对顶点和边的全文搜索; 
5. 天然支持由TinkerPop曝露的主流图数据模型; 
6. 天然支持图形遍历语言Gremlin; 
7. 与Gremlin图服务器轻松集成,实现非语言相关性编程; 
8. 对于许多图级配置项提供性能优化调节支持; 
9. 以顶点为中心的索引提供顶点级查询,以缓解臭名昭着的超级节点问题; 
10. 提供磁盘优化指标,以便有效利用存储,提高访问速度。 
        1.3 简单使用 
下载Titan并解压即可执行gremlin命令进行操作,可参考Titan内置样例“诸神图”,不再赘述。 
关于Tinkerpop的使用参见:http://tinkerpop.apache.org/docs/3.0.1-incubating/ 、Gremlin的使用参见:http://gremlindocs.spmallette.documentup.com/、 SQL2Gremlin的使用参加:http://sql2gremlin.com/ 
$ unzip titan-1.0.0-hadoop1.zip //下载的Titan安装包解压

Archive:  titan-1.0.0-hadoop1.zip
  creating: titan-1.0.0-hadoop1/
...
$ cd titan-1.0.0-hadoop1//进入解压后的目录,期目录结构如下:

$ bin/gremlin.sh//启动gremlin客户端服务,用于执行gremlin命令,操作titan数据库
         \,,,/
         (o o)
-----oOOo-(3)-oOOo-----
09:12:24 INFO  org.apache.tinkerpop.gremlin.hadoop.structure.HadoopGraph  - HADOOP_GREMLIN_LIBS is set to: /usr/local/titan/lib
plugin activated: tinkerpop.hadoop
plugin activated: aurelius.titan
JAVA  API 
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

使用参见下面文档,不再赘述:

        1.4简单配置 
Titan 配置文件是基于我们选择的存储和索引组件的,配置文件位于Titan的安装目录下: 
titan-2.0.0-hdh4.0.0 /conf 下面,由于我们选择使用HBase作为后端存储,ES作为索引引擎,因此需要关注的配置文件是:

配置Titan存储相关,不是HBase的配置。

此外,Titan中可以对ES进行配置位于: 
/ titan-2.0.0-hdh4.0.0/conf/es 
格式为yaml文件,由于我们使用HDH平台中的ES此处不需要单独配置。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值